Get rid of the UNINTERRUPTED_SEQUENCE thing
authorfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 16 Oct 2013 03:10:46 +0000 (03:10 +0000)
committerfpizlo@apple.com <fpizlo@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 16 Oct 2013 03:10:46 +0000 (03:10 +0000)
https://bugs.webkit.org/show_bug.cgi?id=122876

Reviewed by Mark Hahnenberg.

It doesn't make sense anymore. We now use the DFG's IC logic, which never needed that.

Moreover, we should resist the temptation to bring anything like this back. We don't
want to have inline caches that only work if the assembler lays out code in a specific
predetermined way.

* jit/JIT.h:
* jit/JITCall.cpp:
(JSC::JIT::compileOpCall):
* jit/JITCall32_64.cpp:
(JSC::JIT::compileOpCall):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@157481 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/jit/JIT.h
Source/JavaScriptCore/jit/JITCall.cpp
Source/JavaScriptCore/jit/JITCall32_64.cpp

index 8489429..0ca5ca0 100644 (file)
@@ -1,5 +1,24 @@
 2013-10-15  Filip Pizlo  <fpizlo@apple.com>
 
+        Get rid of the UNINTERRUPTED_SEQUENCE thing
+        https://bugs.webkit.org/show_bug.cgi?id=122876
+
+        Reviewed by Mark Hahnenberg.
+        
+        It doesn't make sense anymore. We now use the DFG's IC logic, which never needed that.
+        
+        Moreover, we should resist the temptation to bring anything like this back. We don't
+        want to have inline caches that only work if the assembler lays out code in a specific
+        predetermined way.
+
+        * jit/JIT.h:
+        * jit/JITCall.cpp:
+        (JSC::JIT::compileOpCall):
+        * jit/JITCall32_64.cpp:
+        (JSC::JIT::compileOpCall):
+
+2013-10-15  Filip Pizlo  <fpizlo@apple.com>
+
         Baseline JIT should use the DFG GetById IC
         https://bugs.webkit.org/show_bug.cgi?id=122861
 
index 2dc0ecd..2cb3791 100644 (file)
@@ -557,20 +557,6 @@ namespace JSC {
 
 #endif // USE(JSVALUE32_64)
 
-#if (defined(ASSEMBLER_HAS_CONSTANT_POOL) && ASSEMBLER_HAS_CONSTANT_POOL)
-#define BEGIN_UNINTERRUPTED_SEQUENCE(name) do { beginUninterruptedSequence(name ## InstructionSpace, name ## ConstantSpace); } while (false)
-#define END_UNINTERRUPTED_SEQUENCE_FOR_PUT(name, dst) do { endUninterruptedSequence(name ## InstructionSpace, name ## ConstantSpace, dst); } while (false)
-#define END_UNINTERRUPTED_SEQUENCE(name) END_UNINTERRUPTED_SEQUENCE_FOR_PUT(name, 0)
-
-        void beginUninterruptedSequence(int, int);
-        void endUninterruptedSequence(int, int, int);
-
-#else
-#define BEGIN_UNINTERRUPTED_SEQUENCE(name)
-#define END_UNINTERRUPTED_SEQUENCE(name)
-#define END_UNINTERRUPTED_SEQUENCE_FOR_PUT(name, dst)
-#endif
-
         void emit_compareAndJump(OpcodeID, int op1, int op2, unsigned target, RelationalCondition);
         void emit_compareAndJumpSlow(int op1, int op2, unsigned target, DoubleCondition, size_t (JIT_OPERATION *operation)(ExecState*, EncodedJSValue, EncodedJSValue), bool invert, Vector<SlowCaseEntry>::iterator&);
 
index 02721fc..1c7fc86 100644 (file)
@@ -202,9 +202,7 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned ca
     }
 
     DataLabelPtr addressOfLinkedFunctionCheck;
-    BEGIN_UNINTERRUPTED_SEQUENCE(sequenceOpCall);
     Jump slowCase = branchPtrWithPatch(NotEqual, regT0, addressOfLinkedFunctionCheck, TrustedImmPtr(0));
-    END_UNINTERRUPTED_SEQUENCE(sequenceOpCall);
     addSlowCase(slowCase);
 
     ASSERT(m_callStructureStubCompilationInfo.size() == callLinkInfoIndex);
index 09dafc8..04dbdb9 100644 (file)
@@ -273,9 +273,7 @@ void JIT::compileOpCall(OpcodeID opcodeID, Instruction* instruction, unsigned ca
     }
 
     DataLabelPtr addressOfLinkedFunctionCheck;
-    BEGIN_UNINTERRUPTED_SEQUENCE(sequenceOpCall);
     Jump slowCase = branchPtrWithPatch(NotEqual, regT0, addressOfLinkedFunctionCheck, TrustedImmPtr(0));
-    END_UNINTERRUPTED_SEQUENCE(sequenceOpCall);
 
     addSlowCase(slowCase);
     addSlowCase(branch32(NotEqual, regT1, TrustedImm32(JSValue::CellTag)));