Fix start profiling session with "Trace Execution" feature accepted/tizen/unified/20190806.220545 submit/tizen/20190806.154913
authorMikhail Kurinnoi <m.kurinnoi@samsung.com>
Fri, 26 Apr 2019 13:47:41 +0000 (16:47 +0300)
committerAlexander Soldatov/AI Compiler Lab /SRR/Staff Engineer/삼성전자 <soldatov.a@samsung.com>
Thu, 4 Jul 2019 11:04:51 +0000 (14:04 +0300)
on Tizen 5.5 x86 emulator with coreclr 3.

src/arch/i386/asmhelpers.S

index 4df069d66e5051fc607c9edb62d8b78c0e921d18..5c6712ed4140b80730079e99808434be75557a5b 100644 (file)
@@ -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