Title: [160268] branches/jsCStack/Source/_javascript_Core
Revision
160268
Author
msab...@apple.com
Date
2013-12-06 22:41:33 -0800 (Fri, 06 Dec 2013)

Log Message

CStack Branch: Fix Specialized Thunks to use function prologues and epilogues
https://bugs.webkit.org/show_bug.cgi?id=125381

Not yet reviewed.

Changed the entry / exit sequences to use emitFunctionPrologue() and
functionEpilogue().

* jit/SpecializedThunkJIT.h:
(JSC::SpecializedThunkJIT::SpecializedThunkJIT):
(JSC::SpecializedThunkJIT::returnJSValue):
(JSC::SpecializedThunkJIT::returnDouble):
(JSC::SpecializedThunkJIT::returnInt32):
(JSC::SpecializedThunkJIT::returnJSCell):

Modified Paths

Diff

Modified: branches/jsCStack/Source/_javascript_Core/ChangeLog (160267 => 160268)


--- branches/jsCStack/Source/_javascript_Core/ChangeLog	2013-12-07 05:46:22 UTC (rev 160267)
+++ branches/jsCStack/Source/_javascript_Core/ChangeLog	2013-12-07 06:41:33 UTC (rev 160268)
@@ -1,5 +1,22 @@
 2013-12-06  Michael Saboff  <msab...@apple.com>
 
+        CStack Branch: Fix Specialized Thunks to use function prologues and epilogues
+        https://bugs.webkit.org/show_bug.cgi?id=125381
+
+        Not yet reviewed.
+
+        Changed the entry / exit sequences to use emitFunctionPrologue() and
+        functionEpilogue().
+
+        * jit/SpecializedThunkJIT.h:
+        (JSC::SpecializedThunkJIT::SpecializedThunkJIT):
+        (JSC::SpecializedThunkJIT::returnJSValue):
+        (JSC::SpecializedThunkJIT::returnDouble):
+        (JSC::SpecializedThunkJIT::returnInt32):
+        (JSC::SpecializedThunkJIT::returnJSCell):
+
+2013-12-06  Michael Saboff  <msab...@apple.com>
+
         CStack Branch: Enable basic _javascript_ functionality in LLInt
         https://bugs.webkit.org/show_bug.cgi?id=125378
 

Modified: branches/jsCStack/Source/_javascript_Core/jit/SpecializedThunkJIT.h (160267 => 160268)


--- branches/jsCStack/Source/_javascript_Core/jit/SpecializedThunkJIT.h	2013-12-07 05:46:22 UTC (rev 160267)
+++ branches/jsCStack/Source/_javascript_Core/jit/SpecializedThunkJIT.h	2013-12-07 06:41:33 UTC (rev 160268)
@@ -41,6 +41,7 @@
         SpecializedThunkJIT(VM* vm, int expectedArgCount)
             : JSInterfaceJIT(vm)
         {
+            emitFunctionPrologue();
             // Check that we have the expected number of arguments
             m_failures.append(branch32(NotEqual, payloadFor(JSStack::ArgumentCount), TrustedImm32(expectedArgCount + 1)));
         }
@@ -48,6 +49,7 @@
         explicit SpecializedThunkJIT(VM* vm)
             : JSInterfaceJIT(vm)
         {
+            emitFunctionPrologue();
         }
         
         void loadDoubleArgument(int argument, FPRegisterID dst, RegisterID scratch)
@@ -97,7 +99,7 @@
         {
             if (src != regT0)
                 move(src, regT0);
-            loadPtr(Address(callFrameRegister, CallFrame::callerFrameOffset()), callFrameRegister);
+            emitFunctionEpilogue();
             ret();
         }
 #else
@@ -105,7 +107,7 @@
         {
             ASSERT_UNUSED(payload, payload == regT0);
             ASSERT_UNUSED(tag, tag == regT1);
-            loadPtr(Address(callFrameRegister, CallFrame::callerFrameOffset()), callFrameRegister);
+            emitFunctionEpilogue();
             ret();
         }
 #endif
@@ -136,7 +138,7 @@
             lowNonZero.link(this);
             highNonZero.link(this);
 #endif
-            loadPtr(Address(callFrameRegister, CallFrame::callerFrameOffset()), callFrameRegister);
+            emitFunctionEpilogue();
             ret();
         }
 
@@ -145,7 +147,7 @@
             if (src != regT0)
                 move(src, regT0);
             tagReturnAsInt32();
-            loadPtr(Address(callFrameRegister, CallFrame::callerFrameOffset()), callFrameRegister);
+            emitFunctionEpilogue();
             ret();
         }
 
@@ -154,7 +156,7 @@
             if (src != regT0)
                 move(src, regT0);
             tagReturnAsJSCell();
-            loadPtr(Address(callFrameRegister, CallFrame::callerFrameOffset()), callFrameRegister);
+            emitFunctionEpilogue();
             ret();
         }
         
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to