[RyuJIT/ARM32] Fast tail call: code generation (#14445)
authorHyeongseok Oh <hseok82.oh@samsung.com>
Fri, 20 Oct 2017 17:29:44 +0000 (02:29 +0900)
committerBruce Forstall <brucefo@microsoft.com>
Fri, 20 Oct 2017 17:29:44 +0000 (10:29 -0700)
commitc87cbf1b7496562e0cb7f94685ee5ea3de72c0f0
tree7363e9fea8696c07d493b636bb5c62fda0821f99
parent5af20a660c354edad01ec8e686bb6b9cce416616
[RyuJIT/ARM32] Fast tail call: code generation (#14445)

* Codegen for fast tail call

Codegen call and epilog for fast tail call

* Implementation for GT_START_NONGC

This implementation removes two NYI_ARM
Code generation for GT_START_NONGC which is used to prevent GC in fast tail call

* Define fast tail call target register and mask on ARMARCH

Define REG_FASTTAILCALL_TARGET and RBM_FASTTAILCALL_TARGET on ARMARCH
Modify lsra init and codegen to use these definition

* Merge genFnEpilog

Merge genFnEpilog for ARM32 and ARM64

* Fix bug in getFirstArgWithStackSlot

Fix bug in getFirstArgWithStackSlot: AMD64 and X86
src/jit/codegenarmarch.cpp
src/jit/codegencommon.cpp
src/jit/codegenlinear.h
src/jit/lsraarmarch.cpp
src/jit/target.h