blob: 43e9ca46650e168f48290b311c7dffebd6848032 [file]
;-------------------------------------------------------------------------------------------------------
; Copyright (C) Microsoft. All rights reserved.
; Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
;-------------------------------------------------------------------------------------------------------
OPT 2 ; disable listing
#include "ksarm64.h"
OPT 1 ; re-enable listing
TTL Lib\Backend\arm64\Thunks.asm
;Js::Var NativeCodeGenerator::CheckCodeGenThunk(Js::RecyclableObject* function, Js::CallInfo callInfo, ...)
EXPORT |?CheckCodeGenThunk@NativeCodeGenerator@@SAPEAXPEAVRecyclableObject@Js@@UCallInfo@3@ZZ|
;Js::JavascriptMethod NativeCodeGenerator::CheckCodeGen(Js::JavascriptFunction * function)
IMPORT |?CheckCodeGen@NativeCodeGenerator@@SAP6APEAXPEAVRecyclableObject@Js@@UCallInfo@3@ZZPEAVScriptFunction@3@@Z|
TEXTAREA
;;============================================================================================================
; NativeCodeGenerator::CheckCodeGenThunk
;;============================================================================================================
;Js::Var NativeCodeGenerator::CheckCodeGenThunk(Js::RecyclableObject* function, Js::CallInfo callInfo, ...)
NESTED_ENTRY ?CheckCodeGenThunk@NativeCodeGenerator@@SAPEAXPEAVRecyclableObject@Js@@UCallInfo@3@ZZ
PROLOG_SAVE_REG_PAIR fp, lr, #-80! ; save volatile registers
stp x0, x1, [sp, #16]
stp x2, x3, [sp, #32]
stp x4, x5, [sp, #48]
stp x6, x7, [sp, #64]
bl |?CheckCodeGen@NativeCodeGenerator@@SAP6APEAXPEAVRecyclableObject@Js@@UCallInfo@3@ZZPEAVScriptFunction@3@@Z| ; call NativeCodeGenerator::CheckCodeGen
mov x16, x0 ; back up entryPoint in R16
ldp x6, x7, [sp, #64] ; restore arguments and return address
ldp x4, x5, [sp, #48]
ldp x2, x3, [sp, #32]
ldp x0, x1, [sp, #16]
EPILOG_RESTORE_REG_PAIR fp, lr, #80!
EPILOG_NOP br x16 ; jump (tail call) to new entryPoint
NESTED_END
;;============================================================================================================
END