Title: [152581] branches/dfgFourthTier/Source/_javascript_Core
Revision
152581
Author
[email protected]
Date
2013-07-11 16:59:49 -0700 (Thu, 11 Jul 2013)

Log Message

Resurrect the CLoop LLINT on the FTL branch.
https://bugs.webkit.org/show_bug.cgi?id=118144.

Reviewed by Mark Hahnenberg.

* bytecode/CodeBlock.h:
(JSC::CodeBlock::jitType):
  - Fix the CodeBlock jitType to be InterpreterThunk when !ENABLE_JIT.
* bytecode/JumpTable.h:
(JSC::SimpleJumpTable::clear):
* interpreter/StackIterator.cpp:
(JSC::StackIterator::Frame::bytecodeOffset):
(JSC::StackIterator::Frame::print):
* jit/JITCode.cpp:
(JSC):
* jit/JITExceptions.cpp:
(JSC::getExceptionLocation):
* llint/LowLevelInterpreter.cpp:
* offlineasm/cloop.rb:
* runtime/Structure.cpp:

Modified Paths

Diff

Modified: branches/dfgFourthTier/Source/_javascript_Core/ChangeLog (152580 => 152581)


--- branches/dfgFourthTier/Source/_javascript_Core/ChangeLog	2013-07-11 23:53:40 UTC (rev 152580)
+++ branches/dfgFourthTier/Source/_javascript_Core/ChangeLog	2013-07-11 23:59:49 UTC (rev 152581)
@@ -1,3 +1,26 @@
+2013-07-11  Mark Lam  <[email protected]>
+
+        Resurrect the CLoop LLINT on the FTL branch.
+        https://bugs.webkit.org/show_bug.cgi?id=118144.
+
+        Reviewed by Mark Hahnenberg.
+
+        * bytecode/CodeBlock.h:
+        (JSC::CodeBlock::jitType):
+          - Fix the CodeBlock jitType to be InterpreterThunk when !ENABLE_JIT.
+        * bytecode/JumpTable.h:
+        (JSC::SimpleJumpTable::clear):
+        * interpreter/StackIterator.cpp:
+        (JSC::StackIterator::Frame::bytecodeOffset):
+        (JSC::StackIterator::Frame::print):
+        * jit/JITCode.cpp:
+        (JSC):
+        * jit/JITExceptions.cpp:
+        (JSC::getExceptionLocation):
+        * llint/LowLevelInterpreter.cpp:
+        * offlineasm/cloop.rb:
+        * runtime/Structure.cpp:
+
 2013-07-10  Mark Lam  <[email protected]>
 
         Merged from http://svn.webkit.org/repository/webkit/trunk

Modified: branches/dfgFourthTier/Source/_javascript_Core/bytecode/CodeBlock.h (152580 => 152581)


--- branches/dfgFourthTier/Source/_javascript_Core/bytecode/CodeBlock.h	2013-07-11 23:53:40 UTC (rev 152580)
+++ branches/dfgFourthTier/Source/_javascript_Core/bytecode/CodeBlock.h	2013-07-11 23:59:49 UTC (rev 152581)
@@ -307,7 +307,7 @@
 
     bool hasOptimizedReplacement();
 #else
-    JITCode::JITType jitType() const { return JITCode::BaselineJIT; }
+    JITCode::JITType jitType() const { return JITCode::InterpreterThunk; }
 #endif
 
     ScriptExecutable* ownerExecutable() const { return m_ownerExecutable.get(); }

Modified: branches/dfgFourthTier/Source/_javascript_Core/bytecode/JumpTable.h (152580 => 152581)


--- branches/dfgFourthTier/Source/_javascript_Core/bytecode/JumpTable.h	2013-07-11 23:53:40 UTC (rev 152580)
+++ branches/dfgFourthTier/Source/_javascript_Core/bytecode/JumpTable.h	2013-07-11 23:59:49 UTC (rev 152581)
@@ -105,7 +105,9 @@
         void clear()
         {
             branchOffsets.clear();
+#if ENABLE(JIT)
             ctiOffsets.clear();
+#endif
         }
     };
 

Modified: branches/dfgFourthTier/Source/_javascript_Core/interpreter/StackIterator.cpp (152580 => 152581)


--- branches/dfgFourthTier/Source/_javascript_Core/interpreter/StackIterator.cpp	2013-07-11 23:53:40 UTC (rev 152580)
+++ branches/dfgFourthTier/Source/_javascript_Core/interpreter/StackIterator.cpp	2013-07-11 23:59:49 UTC (rev 152581)
@@ -147,8 +147,10 @@
 {
     if (!isJSFrame())
         return 0;
+#if ENABLE(DFG_JIT)
     if (hasLocationAsCodeOriginIndex())
         return bytecodeOffsetFromCodeOriginIndex();
+#endif
     return locationAsBytecodeOffset();
 }
 
@@ -364,18 +366,22 @@
         if (hasLocationAsBytecodeOffset()) {
             unsigned bytecodeOffset = locationAsBytecodeOffset();
             printif(i, "      bytecodeOffset %u %p / %zu\n", bytecodeOffset, reinterpret_cast<void*>(bytecodeOffset), codeBlock->instructions().size());
+#if ENABLE(DFG_JIT)
         } else {
             unsigned codeOriginIndex = locationAsCodeOriginIndex();
             printif(i, "      codeOriginIdex %u %p / %zu\n", codeOriginIndex, reinterpret_cast<void*>(codeOriginIndex), codeBlock->codeOrigins().size());
+#endif
         }
         printif(i, "      line %d\n", line());
         printif(i, "      column %d\n", column());
         printif(i, "      jitType %d <%s> isOptimizingJIT %d\n", jitType, jitTypeName(jitType), JITCode::isOptimizingJIT(jitType));
+#if ENABLE(DFG_JIT)
         printif(i, "      hasCodeOrigins %d\n", codeBlock->hasCodeOrigins());
         if (codeBlock->hasCodeOrigins()) {
             JITCode* jitCode = codeBlock->jitCode().get();
             printif(i, "         jitCode %p start %p end %p\n", jitCode, jitCode->start(), jitCode->end());
         }
+#endif
     }
     printif(i, "}\n");
 }

Modified: branches/dfgFourthTier/Source/_javascript_Core/jit/JITCode.cpp (152580 => 152581)


--- branches/dfgFourthTier/Source/_javascript_Core/jit/JITCode.cpp	2013-07-11 23:53:40 UTC (rev 152580)
+++ branches/dfgFourthTier/Source/_javascript_Core/jit/JITCode.cpp	2013-07-11 23:59:49 UTC (rev 152581)
@@ -40,11 +40,13 @@
 {
 }
 
+#if ENABLE(JIT)
 JSValue JITCode::execute(JSStack* stack, CallFrame* callFrame, VM* vm)
 {
     JSValue result = JSValue::decode(ctiTrampoline(executableAddress(), stack, callFrame, 0, 0, vm));
     return vm->exception ? jsNull() : result;
 }
+#endif
 
 DFG::CommonData* JITCode::dfgCommon()
 {

Modified: branches/dfgFourthTier/Source/_javascript_Core/jit/JITExceptions.cpp (152580 => 152581)


--- branches/dfgFourthTier/Source/_javascript_Core/jit/JITExceptions.cpp	2013-07-11 23:53:40 UTC (rev 152580)
+++ branches/dfgFourthTier/Source/_javascript_Core/jit/JITExceptions.cpp	2013-07-11 23:59:49 UTC (rev 152581)
@@ -43,8 +43,10 @@
     UNUSED_PARAM(vm);
     ASSERT(!callFrame->hasHostCallFrameFlag());
 
+#if ENABLE(DFG_JIT)
     if (callFrame->hasLocationAsCodeOriginIndex())
         return callFrame->bytecodeOffsetFromCodeOriginIndex();
+#endif
 
     return callFrame->locationAsBytecodeOffset();
 }

Modified: branches/dfgFourthTier/Source/_javascript_Core/llint/LowLevelInterpreter.cpp (152580 => 152581)


--- branches/dfgFourthTier/Source/_javascript_Core/llint/LowLevelInterpreter.cpp	2013-07-11 23:53:40 UTC (rev 152580)
+++ branches/dfgFourthTier/Source/_javascript_Core/llint/LowLevelInterpreter.cpp	2013-07-11 23:59:49 UTC (rev 152581)
@@ -33,10 +33,10 @@
 
 #if ENABLE(LLINT_C_LOOP)
 #include "CodeBlock.h"
+#include "CommonSlowPaths.h"
 #include "LLIntCLoop.h"
 #include "LLIntSlowPaths.h"
 #include "Operations.h"
-#include "SlowPaths.h"
 #include "VMInspector.h"
 #include <wtf/Assertions.h>
 #include <wtf/MathExtras.h>

Modified: branches/dfgFourthTier/Source/_javascript_Core/offlineasm/cloop.rb (152580 => 152581)


--- branches/dfgFourthTier/Source/_javascript_Core/offlineasm/cloop.rb	2013-07-11 23:53:40 UTC (rev 152580)
+++ branches/dfgFourthTier/Source/_javascript_Core/offlineasm/cloop.rb	2013-07-11 23:59:49 UTC (rev 152581)
@@ -546,7 +546,7 @@
     $asm.putc "    ExecState* exec = CAST<ExecState*>(#{operands[1].clValue(:voidPtr)});"
     $asm.putc "    Instruction* pc = CAST<Instruction*>(#{operands[2].clValue(:voidPtr)});"
     $asm.putc "    SlowPathReturnType result = #{operands[0].cLabel}(exec, pc);"
-    $asm.putc "    LLInt::decodeResult(result, t0.instruction, t1.execState);"
+    $asm.putc "    decodeResult(result, t0.instruction, t1.execState);"
     $asm.putc "}"
 end
 

Modified: branches/dfgFourthTier/Source/_javascript_Core/runtime/Structure.cpp (152580 => 152581)


--- branches/dfgFourthTier/Source/_javascript_Core/runtime/Structure.cpp	2013-07-11 23:53:40 UTC (rev 152580)
+++ branches/dfgFourthTier/Source/_javascript_Core/runtime/Structure.cpp	2013-07-11 23:59:49 UTC (rev 152581)
@@ -33,6 +33,7 @@
 #include "PropertyNameArray.h"
 #include "StructureChain.h"
 #include "StructureRareDataInlines.h"
+#include <wtf/CommaPrinter.h>
 #include <wtf/RefCountedLeakCounter.h>
 #include <wtf/RefPtr.h>
 #include <wtf/Threading.h>
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to