Fix JitEECallTimingInfo bit rot (#868)
authorBruce Forstall <brucefo@microsoft.com>
Sat, 14 Dec 2019 06:17:13 +0000 (22:17 -0800)
committerGitHub <noreply@github.com>
Sat, 14 Dec 2019 06:17:13 +0000 (22:17 -0800)
commit6a620e62cb148dafd36266b8017f914e10b1365d
tree56f8fd4f815667c43518c8088ca09530844f1fba
parent379b6eaad133a9e34602b91c487c6a5a07304fc1
Fix JitEECallTimingInfo bit rot (#868)

Added new JIT/EE interface functions. Moved some around so
the order of functions is exactly the same order as in the
corinfo.h header file.

This functionality can be enabled by:
1. Changing the definition of `MEASURE_CLRAPI_CALLS` in jit.h
from `0` to `1`.
2. Building Release on x86 or x64 (arm32 and arm64 are currently unsupported)
3. Set environment variables:
```
set COMPlus_JitTimeLogFile=time.txt
set COMPlus_JitEECallTimingInfo=1
```
4. Run a program.

The `time.txt` file will contain a JIT phase time line item "CLR API calls"
for the sum total of all JIT-EE function call cost, plus a per-API breakdown
for each called API with number of calls, total/max/average time, and percentage
of total ABI call cost.
src/coreclr/src/jit/ICorJitInfo_API_names.h
src/coreclr/src/jit/ICorJitInfo_API_wrapper.hpp