dotnet/runtime
Voir sur GitHubEnable specification of function ranges for JIT config values
Open
#13 307 ouverte le 23 août 2019
area-CodeGen-coreclrhelp wanted
Métriques du dépôt
- Stars
- (17 886 stars)
- Métriques de merge PR
- (Merge moyen 12j 11h) (661 PRs mergées en 30 j)
Description
Currently there is ifdefed out in several places in the JIT that take a low and high hash value to enable binary search for optimization or register allocation issues:
minoptshashlo/minoptshashhiin compiler.cppJitStressRegsHashLo/JitStressRegsHashHiin lsra.cppstructpromohashlo/structpromohashhiin morph.cpploopclonehashlo/loopclonehashhiin optimizer.cpploophoisthashlo/loophoisthashhiin optimizer.cpp
Each of these does their own processing.
There's also COMPlus_JitFunctionFile that allows the specification of a file with a list of functions.
It would be good to have a general mechanism to specify:
- A range of method hash values
- A range of method count (Compiler::jitTotalMethodCompiled) - useful when the JIT order is reasonably stable and there are many methods with the same hash and/or in combination with a range of hash values when multiple methods must be included to reproduce a failure. This was valuable in tracking down dotnet/runtime#12993.
- A
COMPlusvalue that is enabled only for the methods included in the set
category:implementation theme:jit-coding-style skill-level:beginner cost:small