summaryrefslogtreecommitdiff
path: root/src/vm/i386/asmhelpers.S
diff options
context:
space:
mode:
Diffstat (limited to 'src/vm/i386/asmhelpers.S')
-rw-r--r--src/vm/i386/asmhelpers.S23
1 files changed, 19 insertions, 4 deletions
diff --git a/src/vm/i386/asmhelpers.S b/src/vm/i386/asmhelpers.S
index 98525aceee..75f4a26a80 100644
--- a/src/vm/i386/asmhelpers.S
+++ b/src/vm/i386/asmhelpers.S
@@ -439,6 +439,7 @@ NESTED_ENTRY OnHijackTripThread, _TEXT, NoHandler
sub esp,12
push esp
+ CHECK_STACK_ALIGNMENT
call C_FUNC(OnHijackWorker)
// unused space for floating point state
@@ -474,6 +475,7 @@ NESTED_ENTRY OnHijackFPTripThread, _TEXT, NoHandler
fstp QWORD PTR [esp]
push esp
+ CHECK_STACK_ALIGNMENT
call C_FUNC(OnHijackWorker)
// restore top of the floating point stack
@@ -752,8 +754,10 @@ NESTED_ENTRY StubDispatchFixupStub, _TEXT, NoHandler
mov esi, esp
- push 0
- push 0
+.att_syntax
+ pushl $0
+ pushl $0
+.intel_syntax noprefix
push eax // siteAddrForRegisterIndirect (for tailcalls)
push esi // pTransitionBlock
@@ -784,8 +788,10 @@ NESTED_ENTRY ExternalMethodFixupStub, _TEXT_ NoHandler
// EAX is return address into CORCOMPILE_EXTERNAL_METHOD_THUNK. Subtract 5 to get start address.
sub eax, 5
- push 0
- push 0
+.att_syntax
+ pushl $0
+ pushl $0
+.intel_syntax noprefix
push eax
@@ -811,6 +817,14 @@ PATCH_LABEL ExternalMethodFixupPatchLabel
NESTED_END ExternalMethodFixupStub, _TEXT
#ifdef FEATURE_READYTORUN
+NESTED_ENTRY DynamicHelperArgsStub, _TEXT, NoHandler
+ .cfi_def_cfa_offset 16
+ CHECK_STACK_ALIGNMENT
+ call eax
+ add esp, 12
+ ret
+NESTED_END DynamicHelperArgsStub, _TEXT
+
// ==========================================================================
NESTED_ENTRY DelayLoad_MethodCall, _TEXT, NoHandler
STUB_PROLOG_2_HIDDEN_ARGS
@@ -967,6 +981,7 @@ NESTED_ENTRY DelayLoad_Helper\suffix, _TEXT, NoHandler
push eax // indirection cell address.
push esi // pTransitionBlock
+ CHECK_STACK_ALIGNMENT
call C_FUNC(DynamicHelperWorker)
test eax,eax
jnz LOCAL_LABEL(TailCallDelayLoad_Helper\suffix)