Title: [157427] trunk/Source/_javascript_Core
Revision
157427
Author
[email protected]
Date
2013-10-14 16:22:38 -0700 (Mon, 14 Oct 2013)

Log Message

[sh4] Fixes after r157404 and r157411.
https://bugs.webkit.org/show_bug.cgi?id=122782

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

* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation): Add missing SH4_32BIT_DUMMY_ARG.
* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArgumentsWithExecState):
* jit/JITInlines.h:
(JSC::JIT::callOperation): Add missing SH4_32BIT_DUMMY_ARG.
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_put_by_id): Remove unwanted BEGIN_UNINTERRUPTED_SEQUENCE.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (157426 => 157427)


--- trunk/Source/_javascript_Core/ChangeLog	2013-10-14 23:17:59 UTC (rev 157426)
+++ trunk/Source/_javascript_Core/ChangeLog	2013-10-14 23:22:38 UTC (rev 157427)
@@ -1,3 +1,19 @@
+2013-10-14  Julien Brianceau  <[email protected]>
+
+        [sh4] Fixes after r157404 and r157411.
+        https://bugs.webkit.org/show_bug.cgi?id=122782
+
+        Reviewed by Michael Saboff.
+
+        * dfg/DFGSpeculativeJIT.h:
+        (JSC::DFG::SpeculativeJIT::callOperation): Add missing SH4_32BIT_DUMMY_ARG.
+        * jit/CCallHelpers.h:
+        (JSC::CCallHelpers::setupArgumentsWithExecState):
+        * jit/JITInlines.h:
+        (JSC::JIT::callOperation): Add missing SH4_32BIT_DUMMY_ARG.
+        * jit/JITPropertyAccess32_64.cpp:
+        (JSC::JIT::emit_op_put_by_id): Remove unwanted BEGIN_UNINTERRUPTED_SEQUENCE.
+
 2013-10-14  Commit Queue  <[email protected]>
 
         Unreviewed, rolling out r157413.

Modified: trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h (157426 => 157427)


--- trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h	2013-10-14 23:17:59 UTC (rev 157426)
+++ trunk/Source/_javascript_Core/dfg/DFGSpeculativeJIT.h	2013-10-14 23:22:38 UTC (rev 157427)
@@ -1622,7 +1622,7 @@
     }
     JITCompiler::Call callOperation(V_JITOperation_EJJI operation, GPRReg arg1Tag, GPRReg arg1Payload, GPRReg arg2Payload, StringImpl* uid)
     {
-        m_jit.setupArgumentsWithExecState(EABI_32BIT_DUMMY_ARG arg1Payload, arg1Tag, arg2Payload, TrustedImm32(JSValue::CellTag), TrustedImmPtr(uid));
+        m_jit.setupArgumentsWithExecState(EABI_32BIT_DUMMY_ARG arg1Payload, arg1Tag, SH4_32BIT_DUMMY_ARG arg2Payload, TrustedImm32(JSValue::CellTag), TrustedImmPtr(uid));
         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 (157426 => 157427)


--- trunk/Source/_javascript_Core/jit/CCallHelpers.h	2013-10-14 23:17:59 UTC (rev 157426)
+++ trunk/Source/_javascript_Core/jit/CCallHelpers.h	2013-10-14 23:22:38 UTC (rev 157427)
@@ -1157,6 +1157,30 @@
         setupArgumentsWithExecState(arg1, arg2, arg3);
     }
 
+    ALWAYS_INLINE void setupArgumentsWithExecState(GPRReg arg1, GPRReg arg2, TrustedImm32 arg3, GPRReg arg4, GPRReg arg5, TrustedImm32 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(GPRReg arg1, GPRReg arg2, TrustedImm32 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(GPRReg arg1, GPRReg arg2, TrustedImm32 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);
+    }
+
 #endif // NUMBER_OF_ARGUMENT_REGISTERS == 4
 
 #if NUMBER_OF_ARGUMENT_REGISTERS >= 5

Modified: trunk/Source/_javascript_Core/jit/JITInlines.h (157426 => 157427)


--- trunk/Source/_javascript_Core/jit/JITInlines.h	2013-10-14 23:17:59 UTC (rev 157426)
+++ trunk/Source/_javascript_Core/jit/JITInlines.h	2013-10-14 23:22:38 UTC (rev 157427)
@@ -428,7 +428,7 @@
 
 ALWAYS_INLINE MacroAssembler::Call JIT::callOperation(V_JITOperation_EJJI operation, RegisterID regOp1Tag, RegisterID regOp1Payload, RegisterID regOp2Tag, RegisterID regOp2Payload, StringImpl* uid)
 {
-    setupArgumentsWithExecState(EABI_32BIT_DUMMY_ARG regOp1Payload, regOp1Tag, regOp2Payload, regOp2Tag, TrustedImmPtr(uid));
+    setupArgumentsWithExecState(EABI_32BIT_DUMMY_ARG regOp1Payload, regOp1Tag, SH4_32BIT_DUMMY_ARG regOp2Payload, regOp2Tag, TrustedImmPtr(uid));
     return appendCallWithExceptionCheck(operation);
 }
 

Modified: trunk/Source/_javascript_Core/jit/JITPropertyAccess32_64.cpp (157426 => 157427)


--- trunk/Source/_javascript_Core/jit/JITPropertyAccess32_64.cpp	2013-10-14 23:17:59 UTC (rev 157426)
+++ trunk/Source/_javascript_Core/jit/JITPropertyAccess32_64.cpp	2013-10-14 23:22:38 UTC (rev 157427)
@@ -570,7 +570,6 @@
         PropertyStubCompilationInfo(
             PropertyStubPutById, m_bytecodeOffset, structureToCompare, structureCheck,
             propertyStorageLoad, storeWithPatch1, storeWithPatch2, done));
-    BEGIN_UNINTERRUPTED_SEQUENCE(sequencePutById);
 }
 
 void JIT::emitSlow_op_put_by_id(Instruction* currentInstruction, Vector<SlowCaseEntry>::iterator& iter)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to