Title: [160784] branches/jsCStack/Source/_javascript_Core
Revision
160784
Author
[email protected]
Date
2013-12-18 11:54:22 -0800 (Wed, 18 Dec 2013)

Log Message

CStack Branch: getHostCallReturnValue shouldn't pop the callFrame
https://bugs.webkit.org/show_bug.cgi?id=125931

Reviewed by Geoffrey Garen.

Since getHostCallReturnValue() is called after a call to a slow path
function and the return from the slow patch pops the call frame there is
no need for getHostCallReturnValue() to pop the frame.
Removed the popping of the call frame getHostCallReturnValue() for all CPU platforms.

* jit/JITOperations.cpp:

Modified Paths

Diff

Modified: branches/jsCStack/Source/_javascript_Core/ChangeLog (160783 => 160784)


--- branches/jsCStack/Source/_javascript_Core/ChangeLog	2013-12-18 19:46:24 UTC (rev 160783)
+++ branches/jsCStack/Source/_javascript_Core/ChangeLog	2013-12-18 19:54:22 UTC (rev 160784)
@@ -1,5 +1,19 @@
 2013-12-18  Michael Saboff  <[email protected]>
 
+        CStack Branch: getHostCallReturnValue shouldn't pop the callFrame
+        https://bugs.webkit.org/show_bug.cgi?id=125931
+
+        Reviewed by Geoffrey Garen.
+
+        Since getHostCallReturnValue() is called after a call to a slow path
+        function and the return from the slow patch pops the call frame there is
+        no need for getHostCallReturnValue() to pop the frame.
+        Removed the popping of the call frame getHostCallReturnValue() for all CPU platforms.
+
+        * jit/JITOperations.cpp:
+
+2013-12-18  Michael Saboff  <[email protected]>
+
         CStack Branch: Exceptions in LLIntSlowPaths shouldn't pop call frame
         https://bugs.webkit.org/show_bug.cgi?id=125932
 

Modified: branches/jsCStack/Source/_javascript_Core/jit/JITOperations.cpp (160783 => 160784)


--- branches/jsCStack/Source/_javascript_Core/jit/JITOperations.cpp	2013-12-18 19:46:24 UTC (rev 160783)
+++ branches/jsCStack/Source/_javascript_Core/jit/JITOperations.cpp	2013-12-18 19:54:22 UTC (rev 160784)
@@ -1730,7 +1730,6 @@
 ".globl " SYMBOL_STRING(getHostCallReturnValue) "\n"
 HIDE_SYMBOL(getHostCallReturnValue) "\n"
 SYMBOL_STRING(getHostCallReturnValue) ":" "\n"
-    "mov 0(%rbp), %rbp\n" // CallerFrameAndPC::callerFrame
     "mov %rbp, %rdi\n"
     "jmp " LOCAL_REFERENCE(getHostCallReturnValueWithExecState) "\n"
 );
@@ -1741,7 +1740,6 @@
 ".globl " SYMBOL_STRING(getHostCallReturnValue) "\n"
 HIDE_SYMBOL(getHostCallReturnValue) "\n"
 SYMBOL_STRING(getHostCallReturnValue) ":" "\n"
-    "mov 0(%ebp), %ebp\n" // CallerFrameAndPC::callerFrame
     "mov %ebp, 4(%esp)\n"
     "jmp " LOCAL_REFERENCE(getHostCallReturnValueWithExecState) "\n"
 );
@@ -1755,7 +1753,6 @@
 ".thumb" "\n"
 ".thumb_func " THUMB_FUNC_PARAM(getHostCallReturnValue) "\n"
 SYMBOL_STRING(getHostCallReturnValue) ":" "\n"
-    "ldr r7, [r7, #0]" "\n" // CallerFrameAndPC::callerFrame
     "mov r0, r7" "\n"
     "b " LOCAL_REFERENCE(getHostCallReturnValueWithExecState) "\n"
 );
@@ -1767,7 +1764,6 @@
 HIDE_SYMBOL(getHostCallReturnValue) "\n"
 INLINE_ARM_FUNCTION(getHostCallReturnValue)
 SYMBOL_STRING(getHostCallReturnValue) ":" "\n"
-    "ldr r11, [r11, #0]" "\n" // CallerFrameAndPC::callerFrame
     "mov r0, r11" "\n"
     "b " LOCAL_REFERENCE(getHostCallReturnValueWithExecState) "\n"
 );
@@ -1779,7 +1775,6 @@
 ".globl " SYMBOL_STRING(getHostCallReturnValue) "\n"
 HIDE_SYMBOL(getHostCallReturnValue) "\n"
 SYMBOL_STRING(getHostCallReturnValue) ":" "\n"
-    "ldur x29, [x29, #0]" "\n"
      "mov x0, x29" "\n"
      "b " LOCAL_REFERENCE(getHostCallReturnValueWithExecState) "\n"
 );
@@ -1791,7 +1786,6 @@
 HIDE_SYMBOL(getHostCallReturnValue) "\n"
 SYMBOL_STRING(getHostCallReturnValue) ":" "\n"
     LOAD_FUNCTION_TO_T9(getHostCallReturnValueWithExecState)
-    "lw $fp, 0($fp)" "\n" // CallerFrameAndPC::callerFrame
     "move $a0, $fp" "\n"
     "b " LOCAL_REFERENCE(getHostCallReturnValueWithExecState) "\n"
 );
@@ -1802,7 +1796,6 @@
 ".globl " SYMBOL_STRING(getHostCallReturnValue) "\n"
 HIDE_SYMBOL(getHostCallReturnValue) "\n"
 SYMBOL_STRING(getHostCallReturnValue) ":" "\n"
-    "mov.l @r14, r14" "\n" // CallerFrameAndPC::callerFrame
     "mov r14, r4" "\n"
     "mov.l 2f, " SH4_SCRATCH_REGISTER "\n"
     "braf " SH4_SCRATCH_REGISTER "\n"
@@ -1815,7 +1808,6 @@
 extern "C" {
     __declspec(naked) EncodedJSValue HOST_CALL_RETURN_VALUE_OPTION getHostCallReturnValue()
     {
-        __asm mov ebp, [ebp + 0]; // CallerFrameAndPC::callerFrame
         __asm mov [esp + 4], ebp;
         __asm jmp getHostCallReturnValueWithExecState
     }
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to