From 789879bb302416c511b01442d60a037b2c6ece4a Mon Sep 17 00:00:00 2001 From: Jonghyun Park Date: Thu, 13 Apr 2017 06:44:20 +0900 Subject: [PATCH] [x86/Linux] 16-byte aligned DelayLoad_MethodCall (#10760) --- src/vm/i386/asmhelpers.S | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/vm/i386/asmhelpers.S b/src/vm/i386/asmhelpers.S index 45774fa..2242c80 100644 --- a/src/vm/i386/asmhelpers.S +++ b/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.) -- 2.7.4