projects
/
platform
/
upstream
/
dotnet
/
runtime.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c5c16d0
)
[x86/Linux] 16-byte aligned DelayLoad_MethodCall (dotnet/coreclr#10760)
author
Jonghyun Park
<parjong@gmail.com>
Wed, 12 Apr 2017 21:44:20 +0000
(06:44 +0900)
committer
Jan Vorlicek
<janvorli@microsoft.com>
Wed, 12 Apr 2017 21:44:20 +0000
(23:44 +0200)
Commit migrated from https://github.com/dotnet/coreclr/commit/
789879bb302416c511b01442d60a037b2c6ece4a
src/coreclr/src/vm/i386/asmhelpers.S
patch
|
blob
|
history
diff --git
a/src/coreclr/src/vm/i386/asmhelpers.S
b/src/coreclr/src/vm/i386/asmhelpers.S
index
45774fa
..
2242c80
100644
(file)
--- a/
src/coreclr/src/vm/i386/asmhelpers.S
+++ b/
src/coreclr/src/vm/i386/asmhelpers.S
@@
-817,16
+817,19
@@
NESTED_ENTRY DelayLoad_MethodCall, _TEXT, NoHandler
mov esi, esp
+ #define STACK_ALIGN_PADDING 4
+ sub esp, STACK_ALIGN_PADDING
+
push ecx
push edx
-
push eax
-
- // pTransitionBlock
- push esi
-
+ push esi // pTransitionBlock
+ CHECK_STACK_ALIGNMENT
call C_FUNC(ExternalMethodFixupWorker)
+ add esp, STACK_ALIGN_PADDING
+ #undef STACK_ALIGN_PADDING
+
// eax now contains replacement stub. PreStubWorker will never return
// NULL (it throws an exception if stub creation fails.)