summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyung-Kyu Choi <hqueue@users.noreply.github.com>2017-03-31 07:40:19 +0900
committerJan Kotas <jkotas@microsoft.com>2017-03-30 15:40:19 -0700
commit99adda23317d943eb2644ffd87798e0e264d426b (patch)
tree3a08a58b7b36b6358fa975347bd72184088dc225
parent326218797daf5e749081c83fc3ae90e23337c784 (diff)
downloadcoreclr-99adda23317d943eb2644ffd87798e0e264d426b.tar.gz
coreclr-99adda23317d943eb2644ffd87798e0e264d426b.tar.bz2
coreclr-99adda23317d943eb2644ffd87798e0e264d426b.zip
[Ryujit/ARM32][ReadyToRun] Fix invocation to Thunk (#10348)
Fix invocation to Thunk code from code generated from ReadyToRun. Thunk code for ARM32 accept r12 as a parameter. Signed-off-by: Hyung-Kyu Choi <hk0110.choi@samsung.com>
-rw-r--r--src/jit/lower.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/jit/lower.cpp b/src/jit/lower.cpp
index 573de3a4e0..5aad06a065 100644
--- a/src/jit/lower.cpp
+++ b/src/jit/lower.cpp
@@ -2542,7 +2542,7 @@ GenTree* Lowering::LowerDirectCall(GenTreeCall* call)
GenTree* indir = Ind(cellAddr);
#ifdef FEATURE_READYTORUN_COMPILER
-#ifdef _TARGET_ARM64_
+#if defined(_TARGET_ARM64_)
// For arm64, we dispatch code same as VSD using X11 for indirection cell address,
// which ZapIndirectHelperThunk expects.
if (call->IsR2RRelativeIndir())
@@ -2550,6 +2550,11 @@ GenTree* Lowering::LowerDirectCall(GenTreeCall* call)
cellAddr->gtRegNum = REG_R2R_INDIRECT_PARAM;
indir->gtRegNum = REG_JUMP_THUNK_PARAM;
}
+#elif defined(_TARGET_ARM_)
+ if (call->IsR2RRelativeIndir())
+ {
+ cellAddr->gtRegNum = REG_JUMP_THUNK_PARAM;
+ }
#endif
#endif
result = indir;