summaryrefslogtreecommitdiff
path: root/src/vm/i386
diff options
context:
space:
mode:
authorJonghyun Park <parjong@gmail.com>2017-03-09 10:19:57 +0900
committerJan Vorlicek <janvorli@microsoft.com>2017-03-09 02:19:57 +0100
commitfc588bec4852a1beedf9a13b78b28b550696b9eb (patch)
treeb282b65d4a420521260c504169753df2894d58eb /src/vm/i386
parent767f6e07c5648ccaf60426cc014fd2d4551d40e1 (diff)
downloadcoreclr-fc588bec4852a1beedf9a13b78b28b550696b9eb.tar.gz
coreclr-fc588bec4852a1beedf9a13b78b28b550696b9eb.tar.bz2
coreclr-fc588bec4852a1beedf9a13b78b28b550696b9eb.zip
[x86/Linux] 16-byte aligned UMThunkStubs (#9997)
Diffstat (limited to 'src/vm/i386')
-rw-r--r--src/vm/i386/asmhelpers.S9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/vm/i386/asmhelpers.S b/src/vm/i386/asmhelpers.S
index 790c0630e3..08d3bc88fd 100644
--- a/src/vm/i386/asmhelpers.S
+++ b/src/vm/i386/asmhelpers.S
@@ -546,7 +546,11 @@ NESTED_ENTRY UM2MThunk_WrapperHelper, _TEXT, NoHandler
mov eax, [esp + 20] // pEntryThunk
mov ecx, [esp + 24] // pThread
mov ebx, [esp + 8] // pThunkArgs
- call [esp + 16] // pAddr
+
+ sub esp, 8
+ CHECK_STACK_ALIGNMENT
+ call [esp + 16 + 8] // pAddr
+ add esp, 8
pop ebx
@@ -557,9 +561,12 @@ NESTED_ENTRY UMThunkStubRareDisable, _TEXT, NoHandler
push eax
push ecx
+ sub esp, 12
push eax // Push the UMEntryThunk
push ecx // Push thread
+ CHECK_STACK_ALIGNMENT
call C_FUNC(UMThunkStubRareDisableWorker)
+ add esp, 12
pop ecx
pop eax