summaryrefslogtreecommitdiff
path: root/src/vm/arm64/stubs.cpp
diff options
context:
space:
mode:
authorRama Krishnan Raghupathy <ramarag@microsoft.com>2016-05-03 18:16:47 -0700
committerRama Krishnan Raghupathy <ramarag@microsoft.com>2016-05-04 19:27:08 -0700
commit08b010a6cbd7803d178dd42da72d0aab072da9dc (patch)
tree27f6251ba494eeca4a3869b1c26cdb8d90d5d8c2 /src/vm/arm64/stubs.cpp
parentd474c289096d7a2af96ab5690be37c9fa8aec10e (diff)
downloadcoreclr-08b010a6cbd7803d178dd42da72d0aab072da9dc.tar.gz
coreclr-08b010a6cbd7803d178dd42da72d0aab072da9dc.tar.bz2
coreclr-08b010a6cbd7803d178dd42da72d0aab072da9dc.zip
[Arm64] Initialize indirection cell for delegates
Diffstat (limited to 'src/vm/arm64/stubs.cpp')
-rw-r--r--src/vm/arm64/stubs.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/vm/arm64/stubs.cpp b/src/vm/arm64/stubs.cpp
index 2a3cddb0dd..e7700f5389 100644
--- a/src/vm/arm64/stubs.cpp
+++ b/src/vm/arm64/stubs.cpp
@@ -1606,6 +1606,8 @@ VOID StubLinkerCPU::EmitShuffleThunk(ShuffleEntry *pShuffleEntryArray)
// field and save it in x9. Tailcall to the target method after re-arranging the arguments
// ldr x9, [x0, #offsetof(DelegateObject, _methodPtrAux)]
EmitLoadStoreRegImm(eLOAD, IntReg(9), IntReg(0), DelegateObject::GetOffsetOfMethodPtrAux());
+ //add x11, x0, DelegateObject::GetOffsetOfMethodPtrAux() - load the indirection cell into x11 used by ResolveWorkerAsmStub
+ EmitAddImm(IntReg(11), IntReg(0), DelegateObject::GetOffsetOfMethodPtrAux());
for (ShuffleEntry* pEntry = pShuffleEntryArray; pEntry->srcofs != ShuffleEntry::SENTINEL; pEntry++)
{