From: Jonghyun Park Date: Mon, 10 Apr 2017 12:51:10 +0000 (+0900) Subject: [x86/Linux] 16-byte aligned ResolveWorkerChainLookupAsmStub (dotnet/coreclr#10754) X-Git-Tag: submit/tizen/20210909.063632~11030^2~7339 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a8fc545442ea115a0491afd5df960d7be8a29c52;p=platform%2Fupstream%2Fdotnet%2Fruntime.git [x86/Linux] 16-byte aligned ResolveWorkerChainLookupAsmStub (dotnet/coreclr#10754) Commit migrated from https://github.com/dotnet/coreclr/commit/14297c85ddef362b18f758b15dfac05de0601f4a --- diff --git a/src/coreclr/src/vm/i386/asmhelpers.S b/src/coreclr/src/vm/i386/asmhelpers.S index fd5a2a9..45774fa 100644 --- a/src/coreclr/src/vm/i386/asmhelpers.S +++ b/src/coreclr/src/vm/i386/asmhelpers.S @@ -1135,11 +1135,19 @@ LOCAL_LABEL(main_loop): // be quick to reset the counter so we don't get a bunch of contending threads mov dword ptr [edx], CALL_STUB_CACHE_INITIAL_SUCCESS_COUNT + #define STACK_ALIGN_PADDING 12 + sub esp, STACK_ALIGN_PADDING + // promote the entry to the beginning of the chain mov ecx, eax + + CHECK_STACK_ALIGNMENT // call C_FUNC(VirtualCallStubManager::PromoteChainEntry) call C_FUNC(_ZN22VirtualCallStubManager17PromoteChainEntryEP16ResolveCacheElem) + add esp, STACK_ALIGN_PADDING + #undef STACK_ALIGN_PADDING + LOCAL_LABEL(nopromote): pop ecx