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.S | |
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.S')
-rw-r--r-- | src/vm/arm64/pinvokestubs.S | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/src/vm/arm64/pinvokestubs.S b/src/vm/arm64/pinvokestubs.S index 2ff6a8d7de..ad64db855a 100644 --- a/src/vm/arm64/pinvokestubs.S +++ b/src/vm/arm64/pinvokestubs.S @@ -59,9 +59,7 @@ LOCAL_LABEL(\__PInvokeStubFuncName\()_0): mov x2, \HiddenArg // x1 = VaSigCookie - .ifnc \VASigCookieReg, x1 mov x1, \VASigCookieReg - .endif // x0 = pTransitionBlock add x0, sp, #__PWTB_TransitionBlock @@ -90,7 +88,6 @@ LOCAL_LABEL(\__PInvokeStubFuncName\()_0): // ------------------------------------------------------------------ // VarargPInvokeStub & VarargPInvokeGenILStub -// There is a separate stub when the method has a hidden return buffer arg. // // in: // x0 = VASigCookie* @@ -108,13 +105,3 @@ PINVOKE_STUB VarargPInvokeStub, VarargPInvokeGenILStub, VarargPInvokeStubWorker, // x12 = Unmanaged target // PINVOKE_STUB GenericPInvokeCalliHelper, GenericPInvokeCalliGenILStub, GenericPInvokeCalliStubWorker, x15, x12, 1, 1 - -// ------------------------------------------------------------------ -// VarargPInvokeStub_RetBuffArg & VarargPInvokeGenILStub_RetBuffArg -// Vararg PInvoke Stub when the method has a hidden return buffer arg -// -// in: -// x1 = VASigCookie* -// x12 = MethodDesc* -// -PINVOKE_STUB VarargPInvokeStub_RetBuffArg, VarargPInvokeGenILStub_RetBuffArg, VarargPInvokeStubWorker, x1, x12, 0 |