summaryrefslogtreecommitdiff
path: root/src/vm/arm64/asmmacros.h
diff options
context:
space:
mode:
authorRahul Kumar <rahku@microsoft.com>2016-04-20 16:27:04 -0700
committerRahul Kumar <rahku@microsoft.com>2016-04-28 15:47:17 -0700
commitef161ab2bb87207f52c7db9472fd5a027dbe5f12 (patch)
treed97273f3d0800b33e0a8e9461f0f1287ce2a38ca /src/vm/arm64/asmmacros.h
parente9bc870cbba0178ae30c3cfdf65ba2ef2bdd229e (diff)
downloadcoreclr-ef161ab2bb87207f52c7db9472fd5a027dbe5f12.tar.gz
coreclr-ef161ab2bb87207f52c7db9472fd5a027dbe5f12.tar.bz2
coreclr-ef161ab2bb87207f52c7db9472fd5a027dbe5f12.zip
Enable ReadyToRun feature for arm64
Diffstat (limited to 'src/vm/arm64/asmmacros.h')
-rw-r--r--src/vm/arm64/asmmacros.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/vm/arm64/asmmacros.h b/src/vm/arm64/asmmacros.h
index 61e646f7a1..63714e1019 100644
--- a/src/vm/arm64/asmmacros.h
+++ b/src/vm/arm64/asmmacros.h
@@ -86,6 +86,23 @@ __PWTB_ArgumentRegisters SETA __PWTB_StackAlloc + 96
MEND
;-----------------------------------------------------------------------------
+; Provides a matching epilog to PROLOG_WITH_TRANSITION_BLOCK and returns to caller.
+;
+ MACRO
+ EPILOG_WITH_TRANSITION_BLOCK_RETURN
+
+ EPILOG_STACK_FREE __PWTB_StackAlloc
+
+ EPILOG_RESTORE_REG_PAIR x19, x20, #16
+ EPILOG_RESTORE_REG_PAIR x21, x22, #32
+ EPILOG_RESTORE_REG_PAIR x23, x24, #48
+ EPILOG_RESTORE_REG_PAIR x25, x26, #64
+ EPILOG_RESTORE_REG_PAIR x27, x28, #80
+ EPILOG_RESTORE_REG_PAIR fp, lr, #160!
+ EPILOG_RETURN
+ MEND
+
+;-----------------------------------------------------------------------------
; Provides a matching epilog to PROLOG_WITH_TRANSITION_BLOCK and ends by preparing for tail-calling.
; Since this is a tail call argument registers are restored.
;