Changeset 152581 in webkit


Ignore:
Timestamp:
Jul 11, 2013, 4:59:49 PM (12 years ago)
Author:
mark.lam@apple.com
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:
Location:
branches/dfgFourthTier/Source/JavaScriptCore
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • branches/dfgFourthTier/Source/JavaScriptCore/ChangeLog

    r152538 r152581  
     12013-07-11  Mark Lam  <mark.lam@apple.com>
     2
     3        Resurrect the CLoop LLINT on the FTL branch.
     4        https://bugs.webkit.org/show_bug.cgi?id=118144.
     5
     6        Reviewed by Mark Hahnenberg.
     7
     8        * bytecode/CodeBlock.h:
     9        (JSC::CodeBlock::jitType):
     10          - Fix the CodeBlock jitType to be InterpreterThunk when !ENABLE_JIT.
     11        * bytecode/JumpTable.h:
     12        (JSC::SimpleJumpTable::clear):
     13        * interpreter/StackIterator.cpp:
     14        (JSC::StackIterator::Frame::bytecodeOffset):
     15        (JSC::StackIterator::Frame::print):
     16        * jit/JITCode.cpp:
     17        (JSC):
     18        * jit/JITExceptions.cpp:
     19        (JSC::getExceptionLocation):
     20        * llint/LowLevelInterpreter.cpp:
     21        * offlineasm/cloop.rb:
     22        * runtime/Structure.cpp:
     23
    1242013-07-10  Mark Lam  <mark.lam@apple.com>
    225
  • branches/dfgFourthTier/Source/JavaScriptCore/bytecode/CodeBlock.h

    r151820 r152581  
    308308    bool hasOptimizedReplacement();
    309309#else
    310     JITCode::JITType jitType() const { return JITCode::BaselineJIT; }
     310    JITCode::JITType jitType() const { return JITCode::InterpreterThunk; }
    311311#endif
    312312
  • branches/dfgFourthTier/Source/JavaScriptCore/bytecode/JumpTable.h

    r151979 r152581  
    106106        {
    107107            branchOffsets.clear();
     108#if ENABLE(JIT)
    108109            ctiOffsets.clear();
     110#endif
    109111        }
    110112    };
  • branches/dfgFourthTier/Source/JavaScriptCore/interpreter/StackIterator.cpp

    r151651 r152581  
    148148    if (!isJSFrame())
    149149        return 0;
     150#if ENABLE(DFG_JIT)
    150151    if (hasLocationAsCodeOriginIndex())
    151152        return bytecodeOffsetFromCodeOriginIndex();
     153#endif
    152154    return locationAsBytecodeOffset();
    153155}
     
    365367            unsigned bytecodeOffset = locationAsBytecodeOffset();
    366368            printif(i, "      bytecodeOffset %u %p / %zu\n", bytecodeOffset, reinterpret_cast<void*>(bytecodeOffset), codeBlock->instructions().size());
     369#if ENABLE(DFG_JIT)
    367370        } else {
    368371            unsigned codeOriginIndex = locationAsCodeOriginIndex();
    369372            printif(i, "      codeOriginIdex %u %p / %zu\n", codeOriginIndex, reinterpret_cast<void*>(codeOriginIndex), codeBlock->codeOrigins().size());
     373#endif
    370374        }
    371375        printif(i, "      line %d\n", line());
    372376        printif(i, "      column %d\n", column());
    373377        printif(i, "      jitType %d <%s> isOptimizingJIT %d\n", jitType, jitTypeName(jitType), JITCode::isOptimizingJIT(jitType));
     378#if ENABLE(DFG_JIT)
    374379        printif(i, "      hasCodeOrigins %d\n", codeBlock->hasCodeOrigins());
    375380        if (codeBlock->hasCodeOrigins()) {
     
    377382            printif(i, "         jitCode %p start %p end %p\n", jitCode, jitCode->start(), jitCode->end());
    378383        }
     384#endif
    379385    }
    380386    printif(i, "}\n");
  • branches/dfgFourthTier/Source/JavaScriptCore/jit/JITCode.cpp

    r151401 r152581  
    4141}
    4242
     43#if ENABLE(JIT)
    4344JSValue JITCode::execute(JSStack* stack, CallFrame* callFrame, VM* vm)
    4445{
     
    4647    return vm->exception ? jsNull() : result;
    4748}
     49#endif
    4850
    4951DFG::CommonData* JITCode::dfgCommon()
  • branches/dfgFourthTier/Source/JavaScriptCore/jit/JITExceptions.cpp

    r151504 r152581  
    4444    ASSERT(!callFrame->hasHostCallFrameFlag());
    4545
     46#if ENABLE(DFG_JIT)
    4647    if (callFrame->hasLocationAsCodeOriginIndex())
    4748        return callFrame->bytecodeOffsetFromCodeOriginIndex();
     49#endif
    4850
    4951    return callFrame->locationAsBytecodeOffset();
  • branches/dfgFourthTier/Source/JavaScriptCore/llint/LowLevelInterpreter.cpp

    r151504 r152581  
    3434#if ENABLE(LLINT_C_LOOP)
    3535#include "CodeBlock.h"
     36#include "CommonSlowPaths.h"
    3637#include "LLIntCLoop.h"
    3738#include "LLIntSlowPaths.h"
    3839#include "Operations.h"
    39 #include "SlowPaths.h"
    4040#include "VMInspector.h"
    4141#include <wtf/Assertions.h>
  • branches/dfgFourthTier/Source/JavaScriptCore/offlineasm/cloop.rb

    r152538 r152581  
    547547    $asm.putc "    Instruction* pc = CAST<Instruction*>(#{operands[2].clValue(:voidPtr)});"
    548548    $asm.putc "    SlowPathReturnType result = #{operands[0].cLabel}(exec, pc);"
    549     $asm.putc "    LLInt::decodeResult(result, t0.instruction, t1.execState);"
     549    $asm.putc "    decodeResult(result, t0.instruction, t1.execState);"
    550550    $asm.putc "}"
    551551end
  • branches/dfgFourthTier/Source/JavaScriptCore/runtime/Structure.cpp

    r151824 r152581  
    3434#include "StructureChain.h"
    3535#include "StructureRareDataInlines.h"
     36#include <wtf/CommaPrinter.h>
    3637#include <wtf/RefCountedLeakCounter.h>
    3738#include <wtf/RefPtr.h>
Note: See TracChangeset for help on using the changeset viewer.