RyuJIT - throughput improvements, PInvoke transitions tweaks: (#4842)
authorJan Kotas <jkotas@microsoft.com>
Sun, 8 May 2016 04:21:50 +0000 (21:21 -0700)
committerJan Kotas <jkotas@microsoft.com>
Sun, 8 May 2016 04:21:50 +0000 (21:21 -0700)
commit0c4d3d92fe75ec011f2d2e95df2ceedd301de8ef
tree8afca15726c113f3c66427d80ec9fdc49f82e847
parentc2c1abcb71065dd530e0b38045547603c38d1e86
RyuJIT - throughput improvements, PInvoke transitions tweaks: (#4842)

* RyuJIT - throughput improvements, PInvoke transitions tweaks:

- Minor compilation throughput improvements:
     - Avoid redundant calls to getMethodAttribs in impMarkInlineCandidate by reusing the value from CALL_INFO
     - Avoid redundant calls to getFunctionEntryPoint in codegen by reusing the value computed during lower
     - Stop checking CORINFO_FLG_NATIVE flag for inliner observations. It is dead flag, not set anywhere
- Tweaks for helper-based PInvoke transitions (used CoreRT only today):
     - Stop emitting CORINFO_HELP_INIT_PINVOKE_FRAME. Just having the two simple begin/end helpers is better.
     - Stop passing size of arguments in secret register.
     - Enable direct calls for PInvoke targets

* Codereview feedback
src/jit/codegenxarch.cpp
src/jit/compiler.h
src/jit/gentree.h
src/jit/importer.cpp
src/jit/inline.def
src/jit/lower.cpp
src/jit/morph.cpp