diff options
author | Jarret Shook <jashoo@microsoft.com> | 2018-07-05 09:46:51 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-05 09:46:51 -0700 |
commit | b1bda1bbc9a5fe9954938b4b627660d3acbe7504 (patch) | |
tree | 60a2e183f18efd15d996a4534cee51717e8e11e8 /src/vm/arm64/PInvokeStubs.asm | |
parent | cd1232d47cc028ebf6d22621ce63903a7e5c0e94 (diff) | |
download | coreclr-b1bda1bbc9a5fe9954938b4b627660d3acbe7504.tar.gz coreclr-b1bda1bbc9a5fe9954938b4b627660d3acbe7504.tar.bz2 coreclr-b1bda1bbc9a5fe9954938b4b627660d3acbe7504.zip |
Enable genFnCalleeRegArgs for Arm64 Varargs (#18714)
* Enable genFnCalleeRegArgs for Arm64 Varargs
Before the method would early out and incorrectly expect the usage
of all incoming arguments to be their homed stack slots. It is
instead possible for incoming arguments to be homed to different
integer registers.
The change will mangle the float types for vararg cases in the same
way that is done during lvaInitUserArgs and fgMorphArgs.
* Apply format patch
* Account for softfp case
* Address feedback
* Apply format patch
* Use standard function header for mangleVarArgsType
* Remove confusing comment
Diffstat (limited to 'src/vm/arm64/PInvokeStubs.asm')
-rw-r--r-- | src/vm/arm64/PInvokeStubs.asm | 18 |
1 files changed, 0 insertions, 18 deletions
diff --git a/src/vm/arm64/PInvokeStubs.asm b/src/vm/arm64/PInvokeStubs.asm index eb522d920e..440af92b6b 100644 --- a/src/vm/arm64/PInvokeStubs.asm +++ b/src/vm/arm64/PInvokeStubs.asm @@ -45,11 +45,6 @@ __PInvokeStubFuncName SETS "$FuncPrefix":CC:"Stub" __PInvokeGenStubFuncName SETS "$FuncPrefix":CC:"GenILStub" __PInvokeStubWorkerName SETS "$FuncPrefix":CC:"StubWorker" - IF "$VASigCookieReg" == "x1" -__PInvokeStubFuncName SETS "$__PInvokeStubFuncName":CC:"_RetBuffArg" -__PInvokeGenStubFuncName SETS "$__PInvokeGenStubFuncName":CC:"_RetBuffArg" - ENDIF - NESTED_ENTRY $__PInvokeStubFuncName ; get the stub @@ -84,9 +79,7 @@ __PInvokeGenStubFuncName SETS "$__PInvokeGenStubFuncName":CC:"_RetBuffArg" mov x2, $HiddenArg ; x1 = VaSigCookie - IF "$VASigCookieReg" != "x1" mov x1, $VASigCookieReg - ENDIF ; x0 = pTransitionBlock add x0, sp, #__PWTB_TransitionBlock @@ -118,7 +111,6 @@ __PInvokeGenStubFuncName SETS "$__PInvokeGenStubFuncName":CC:"_RetBuffArg" ; ------------------------------------------------------------------ ; VarargPInvokeStub & VarargPInvokeGenILStub -; There is a separate stub when the method has a hidden return buffer arg. ; ; in: ; x0 = VASigCookie* @@ -137,16 +129,6 @@ __PInvokeGenStubFuncName SETS "$__PInvokeGenStubFuncName":CC:"_RetBuffArg" ; PINVOKE_STUB GenericPInvokeCalli, x15, x12, {true} -; ------------------------------------------------------------------ -; VarargPInvokeStub_RetBuffArg & VarargPInvokeGenILStub_RetBuffArg -; Vararg PInvoke Stub when the method has a hidden return buffer arg -; -; in: -; x1 = VASigCookie* -; x12 = MethodDesc* -; - PINVOKE_STUB VarargPInvoke, x1, x12, {false} - ; Must be at very end of file END |