From: Mikhail Kurinnoi Date: Fri, 26 Apr 2019 13:47:41 +0000 (+0300) Subject: Fix start profiling session with "Trace Execution" feature X-Git-Tag: submit/tizen/20190806.154913^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e9a4ce332757ab874bf8d95bffc5854aba6da14a;p=sdk%2Ftools%2Fcoreprofiler.git Fix start profiling session with "Trace Execution" feature on Tizen 5.5 x86 emulator with coreclr 3. --- diff --git a/src/arch/i386/asmhelpers.S b/src/arch/i386/asmhelpers.S index 4df069d..5c6712e 100644 --- a/src/arch/i386/asmhelpers.S +++ b/src/arch/i386/asmhelpers.S @@ -5,27 +5,25 @@ // EXTERN_C void EnterNaked3(FunctionIDOrClientID functionIDOrClientID); // NESTED_ENTRY EnterNaked3, _TEXT, NoHandler - PROLOG_BEG - PROLOG_PUSH eax - PROLOG_PUSH ebx - PROLOG_PUSH ecx - PROLOG_PUSH edx - sub esp,12 - fstp QWORD PTR [esp] - PROLOG_END - - mov ebx, [ebp+0x8] - push ebx + push ebp + mov ebp, esp + push eax + push ebx + push ecx + push edx + sub esp, 20 + fstp qword ptr [esp] + + push dword ptr [ebp + 8] call C_FUNC(EnterStub) - - EPILOG_BEG - fld QWORD PTR [esp] - add esp,12 - EPILOG_POP edx - EPILOG_POP ecx - EPILOG_POP ebx - EPILOG_POP eax - EPILOG_END + + fld qword ptr [esp] + add esp, 20 + pop edx + pop ecx + pop ebx + pop eax + pop ebp ret NESTED_END EnterNaked3, _TEXT @@ -33,27 +31,25 @@ NESTED_END EnterNaked3, _TEXT // EXTERN_C void LeaveNaked3(FunctionIDOrClientID functionIDOrClientID); // NESTED_ENTRY LeaveNaked3, _TEXT, NoHandler - PROLOG_BEG - PROLOG_PUSH eax - PROLOG_PUSH ebx - PROLOG_PUSH ecx - PROLOG_PUSH edx - sub esp,12 - fstp QWORD PTR [esp] - PROLOG_END - - mov ebx, [ebp+0x8] - push ebx + push ebp + mov ebp, esp + push eax + push ebx + push ecx + push edx + sub esp, 20 + fstp qword ptr [esp] + + push dword ptr [ebp + 8] call C_FUNC(LeaveStub) - - EPILOG_BEG - fld QWORD PTR [esp] - add esp,12 - EPILOG_POP edx - EPILOG_POP ecx - EPILOG_POP ebx - EPILOG_POP eax - EPILOG_END + + fld qword ptr [esp] + add esp, 20 + pop edx + pop ecx + pop ebx + pop eax + pop ebp ret NESTED_END LeaveNaked3, _TEXT @@ -61,26 +57,24 @@ NESTED_END LeaveNaked3, _TEXT // EXTERN_C void TailcallNaked3(FunctionIDOrClientID functionIDOrClientID); // NESTED_ENTRY TailcallNaked3, _TEXT, NoHandler - PROLOG_BEG - PROLOG_PUSH eax - PROLOG_PUSH ebx - PROLOG_PUSH ecx - PROLOG_PUSH edx - sub esp,12 - fstp QWORD PTR [esp] - PROLOG_END - - mov ebx, [ebp+0x8] - push ebx + push ebp + mov ebp, esp + push eax + push ebx + push ecx + push edx + sub esp, 20 + fstp qword ptr [esp] + + push dword ptr [ebp + 8] call C_FUNC(TailcallStub) - - EPILOG_BEG - fld QWORD PTR [esp] - add esp,12 - EPILOG_POP edx - EPILOG_POP ecx - EPILOG_POP ebx - EPILOG_POP eax - EPILOG_END + + fld qword ptr [esp] + add esp, 20 + pop edx + pop ecx + pop ebx + pop eax + pop ebp ret NESTED_END TailcallNaked3, _TEXT