summaryrefslogtreecommitdiff
path: root/src/vm/arm64/pinvokestubs.S
diff options
context:
space:
mode:
authorJarret Shook <jashoo@microsoft.com>2018-07-05 09:46:51 -0700
committerGitHub <noreply@github.com>2018-07-05 09:46:51 -0700
commitb1bda1bbc9a5fe9954938b4b627660d3acbe7504 (patch)
tree60a2e183f18efd15d996a4534cee51717e8e11e8 /src/vm/arm64/pinvokestubs.S
parentcd1232d47cc028ebf6d22621ce63903a7e5c0e94 (diff)
downloadcoreclr-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.S13
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