Title: [157668] trunk/Source/_javascript_Core
Revision
157668
Author
[email protected]
Date
2013-10-19 07:34:59 -0700 (Sat, 19 Oct 2013)

Log Message

Fix build failure for architectures with 4 argument registers.
https://bugs.webkit.org/show_bug.cgi?id=123060

Patch by Julien Brianceau <[email protected]> on 2013-10-19
Reviewed by Michael Saboff.

Add missing setupArgumentsWithExecState() prototypes for architecture with 4 argument registers.
Remove SH4 specific code no longer needed since callOperation prototype change in r157660.

* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
* jit/JITInlines.h:
(JSC::JIT::callOperation):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (157667 => 157668)


--- trunk/Source/_javascript_Core/ChangeLog	2013-10-19 14:33:52 UTC (rev 157667)
+++ trunk/Source/_javascript_Core/ChangeLog	2013-10-19 14:34:59 UTC (rev 157668)
@@ -1,3 +1,20 @@
+2013-10-19  Julien Brianceau  <[email protected]>
+
+        Fix build failure for architectures with 4 argument registers.
+        https://bugs.webkit.org/show_bug.cgi?id=123060
+
+        Reviewed by Michael Saboff.
+
+        Add missing setupArgumentsWithExecState() prototypes for architecture with 4 argument registers.
+        Remove SH4 specific code no longer needed since callOperation prototype change in r157660.
+
+        * dfg/DFGSpeculativeJIT.h:
+        (JSC::DFG::SpeculativeJIT::callOperation):
+        * jit/CCallHelpers.h:
+        (JSC::CCallHelpers::setupArgumentsWithExecState):
+        * jit/JITInlines.h:
+        (JSC::JIT::callOperation):
+
 2013-10-18  Filip Pizlo  <[email protected]>
 
         Unreviewed, fix FTL build.

Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h (157667 => 157668)


--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h	2013-10-19 14:33:52 UTC (rev 157667)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h	2013-10-19 14:34:59 UTC (rev 157668)
@@ -1623,12 +1623,7 @@
     }
     JITCompiler::Call callOperation(V_JITOperation_ESsiJJI operation, StructureStubInfo* stubInfo, GPRReg arg1Tag, GPRReg arg1Payload, GPRReg arg2Payload, StringImpl* uid)
     {
-#if CPU(SH4)
-        // We have to put uid in the 4th argument register (r7) as 64-bit value arg2 will be put on stack for sh4 architecure.
-        m_jit.setupArgumentsWithExecState(TrustedImmPtr(stubInfo), arg1Payload, arg1Tag, TrustedImmPtr(uid), arg2Payload, TrustedImm32(JSValue::CellTag));
-#else
         m_jit.setupArgumentsWithExecState(TrustedImmPtr(stubInfo), arg1Payload, arg1Tag, arg2Payload, TrustedImm32(JSValue::CellTag), TrustedImmPtr(uid));
-#endif
         return appendCallWithExceptionCheck(operation);
     }
     JITCompiler::Call callOperation(V_JITOperation_ECJJ operation, GPRReg arg1, GPRReg arg2Tag, GPRReg arg2Payload, GPRReg arg3Tag, GPRReg arg3Payload)

Modified: trunk/Source/_javascript_Core/jit/CCallHelpers.h (157667 => 157668)


--- trunk/Source/_javascript_Core/jit/CCallHelpers.h	2013-10-19 14:33:52 UTC (rev 157667)
+++ trunk/Source/_javascript_Core/jit/CCallHelpers.h	2013-10-19 14:34:59 UTC (rev 157668)
@@ -1196,6 +1196,18 @@
         setupArgumentsWithExecState(arg1, arg2, arg3);
     }
 
+    ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImmPtr arg1, GPRReg arg2, GPRReg arg3, TrustedImmPtr arg4)
+    {
+        poke(arg4, POKE_ARGUMENT_OFFSET);
+        setupArgumentsWithExecState(arg1, arg2, arg3);
+    }
+
+    ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImmPtr arg1, GPRReg arg2, TrustedImm32 arg3, TrustedImmPtr arg4)
+    {
+        poke(arg4, POKE_ARGUMENT_OFFSET);
+        setupArgumentsWithExecState(arg1, arg2, arg3);
+    }
+
     ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImmPtr arg1, GPRReg arg2, GPRReg arg3, TrustedImm32 arg4, TrustedImmPtr arg5)
     {
         poke(arg5, POKE_ARGUMENT_OFFSET + 1);
@@ -1353,6 +1365,22 @@
         setupArgumentsWithExecState(arg1, arg2, arg3);
     }
 
+    ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImmPtr arg1, GPRReg arg2, GPRReg arg3, GPRReg arg4, GPRReg arg5, TrustedImmPtr arg6)
+    {
+        poke(arg6, POKE_ARGUMENT_OFFSET + 2);
+        poke(arg5, POKE_ARGUMENT_OFFSET + 1);
+        poke(arg4, POKE_ARGUMENT_OFFSET);
+        setupArgumentsWithExecState(arg1, arg2, arg3);
+    }
+
+    ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImmPtr arg1, GPRReg arg2, GPRReg arg3, GPRReg arg4, TrustedImm32 arg5, TrustedImmPtr arg6)
+    {
+        poke(arg6, POKE_ARGUMENT_OFFSET + 2);
+        poke(arg5, POKE_ARGUMENT_OFFSET + 1);
+        poke(arg4, POKE_ARGUMENT_OFFSET);
+        setupArgumentsWithExecState(arg1, arg2, arg3);
+    }
+
     ALWAYS_INLINE void setupArgumentsWithExecState(TrustedImm32 arg1, GPRReg arg2, GPRReg arg3, GPRReg arg4, GPRReg arg5, GPRReg arg6, GPRReg arg7)
     {
         poke(arg7, POKE_ARGUMENT_OFFSET + 3);

Modified: trunk/Source/_javascript_Core/jit/JITInlines.h (157667 => 157668)


--- trunk/Source/_javascript_Core/jit/JITInlines.h	2013-10-19 14:33:52 UTC (rev 157667)
+++ trunk/Source/_javascript_Core/jit/JITInlines.h	2013-10-19 14:34:59 UTC (rev 157668)
@@ -522,12 +522,7 @@
 
 ALWAYS_INLINE MacroAssembler::Call JIT::callOperation(V_JITOperation_ESsiJJI operation, StructureStubInfo* stubInfo, RegisterID regOp1Tag, RegisterID regOp1Payload, RegisterID regOp2Tag, RegisterID regOp2Payload, StringImpl* uid)
 {
-#if CPU(SH4)
-    // We have to put uid in the 4th argument register (r7) as 64-bit value regOp2 will be put on stack for sh4 architecure.
-    setupArgumentsWithExecState(TrustedImmPtr(stubInfo), regOp1Payload, regOp1Tag, TrustedImmPtr(uid), regOp2Payload, regOp2Tag);
-#else
     setupArgumentsWithExecState(TrustedImmPtr(stubInfo), regOp1Payload, regOp1Tag, regOp2Payload, regOp2Tag, TrustedImmPtr(uid));
-#endif
     return appendCallWithExceptionCheck(operation);
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to