Ignore:
Timestamp:
Sep 24, 2012, 9:30:20 PM (13 years ago)
Author:
[email protected]
Message:

Deleting the classic interpreter and cleaning up some build options.
https://bugs.webkit.org/show_bug.cgi?id=96969.

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump):
(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::stronglyVisitStrongReferences):
(JSC):

  • bytecode/Instruction.h:

(JSC::Instruction::Instruction):

  • interpreter/AbstractPC.cpp:

(JSC::AbstractPC::AbstractPC):

  • interpreter/AbstractPC.h:

(AbstractPC):

  • interpreter/CallFrame.h:

(ExecState):

  • interpreter/Interpreter.cpp:

(JSC):
(JSC::Interpreter::Interpreter):
(JSC::Interpreter::~Interpreter):
(JSC::Interpreter::initialize):
(JSC::Interpreter::isOpcode):
(JSC::Interpreter::unwindCallFrame):
(JSC::getLineNumberForCallFrame):
(JSC::getCallerInfo):
(JSC::getSourceURLFromCallFrame):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::retrieveArgumentsFromVMCode):
(JSC::Interpreter::retrieveCallerFromVMCode):
(JSC::Interpreter::retrieveLastCaller):

  • interpreter/Interpreter.h:

(JSC::Interpreter::getOpcodeID):
(Interpreter):

  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::FixedVMPoolExecutableAllocator::FixedVMPoolExecutableAllocator):

  • offlineasm/asm.rb:
  • offlineasm/offsets.rb:
  • runtime/Executable.cpp:

(JSC::EvalExecutable::compileInternal):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::compileForCallInternal):
(JSC::FunctionExecutable::compileForConstructInternal):

  • runtime/Executable.h:

(JSC::NativeExecutable::create):
(NativeExecutable):
(JSC::NativeExecutable::finishCreation):

  • runtime/JSGlobalData.cpp:

(JSC):
(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::getHostFunction):

  • runtime/JSGlobalData.h:

(JSGlobalData):
(JSC::JSGlobalData::canUseJIT):
(JSC::JSGlobalData::canUseRegExpJIT):

  • runtime/Options.cpp:

(JSC::Options::initialize):

Source/WebKit/blackberry:

  • WebCoreSupport/AboutDataEnableFeatures.in:

Source/WTF:

  • wtf/OSAllocatorPosix.cpp:

(WTF::OSAllocator::reserveAndCommit):

  • wtf/Platform.h:
Location:
trunk/Source/JavaScriptCore/bytecode
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp

    r129297 r129453  
    589589    }
    590590#endif
    591 #if ENABLE(CLASSIC_INTERPRETER)
    592     if (!m_globalResolveInstructions.isEmpty() || !m_propertyAccessInstructions.isEmpty())
    593         dataLog("\nStructures:\n");
    594 
    595     if (!m_globalResolveInstructions.isEmpty()) {
    596         size_t i = 0;
    597         do {
    598              printStructures(&instructions()[m_globalResolveInstructions[i]]);
    599              ++i;
    600         } while (i < m_globalResolveInstructions.size());
    601     }
    602     if (!m_propertyAccessInstructions.isEmpty()) {
    603         size_t i = 0;
    604         do {
    605             printStructures(&instructions()[m_propertyAccessInstructions[i]]);
    606              ++i;
    607         } while (i < m_propertyAccessInstructions.size());
    608     }
    609 #endif
    610591
    611592    if (m_rareData && !m_rareData->m_exceptionHandlers.isEmpty()) {
     
    20662047#if ENABLE(LLINT)
    20672048    Interpreter* interpreter = m_globalData->interpreter;
    2068     // interpreter->classicEnabled() returns true if the old C++ interpreter is enabled. If that's enabled
    2069     // then we're not using LLInt.
    2070     if (!interpreter->classicEnabled() && !!numberOfInstructions()) {
     2049    if (!!numberOfInstructions()) {
    20712050        for (size_t size = m_propertyAccessInstructions.size(), i = 0; i < size; ++i) {
    20722051            Instruction* curInstruction = &instructions()[m_propertyAccessInstructions[i]];
     
    22612240    for (size_t i = 0; i < m_functionDecls.size(); ++i)
    22622241        visitor.append(&m_functionDecls[i]);
    2263 #if ENABLE(CLASSIC_INTERPRETER)
    2264     if (m_globalData->interpreter->classicEnabled() && !!numberOfInstructions()) {
    2265         for (size_t size = m_propertyAccessInstructions.size(), i = 0; i < size; ++i)
    2266             visitStructures(visitor, &instructions()[m_propertyAccessInstructions[i]]);
    2267         for (size_t size = m_globalResolveInstructions.size(), i = 0; i < size; ++i)
    2268             visitStructures(visitor, &instructions()[m_globalResolveInstructions[i]]);
    2269     }
    2270 #endif
    22712242
    22722243    updateAllPredictions(Collection);
     
    24452416}
    24462417
    2447 #if ENABLE(CLASSIC_INTERPRETER)
    2448 bool CodeBlock::hasGlobalResolveInstructionAtBytecodeOffset(unsigned bytecodeOffset)
    2449 {
    2450     if (m_globalResolveInstructions.isEmpty())
    2451         return false;
    2452 
    2453     int low = 0;
    2454     int high = m_globalResolveInstructions.size();
    2455     while (low < high) {
    2456         int mid = low + (high - low) / 2;
    2457         if (m_globalResolveInstructions[mid] <= bytecodeOffset)
    2458             low = mid + 1;
    2459         else
    2460             high = mid;
    2461     }
    2462 
    2463     if (!low || m_globalResolveInstructions[low - 1] != bytecodeOffset)
    2464         return false;
    2465     return true;
    2466 }
    2467 #endif
    24682418#if ENABLE(JIT)
    24692419bool CodeBlock::hasGlobalResolveInfoAtBytecodeOffset(unsigned bytecodeOffset)
  • trunk/Source/JavaScriptCore/bytecode/Instruction.h

    r125637 r129453  
    155155        Instruction(Opcode opcode)
    156156        {
    157 #if !ENABLE(COMPUTED_GOTO_CLASSIC_INTERPRETER)
     157#if !ENABLE(COMPUTED_GOTO_OPCODES)
    158158            // We have to initialize one of the pointer members to ensure that
    159159            // the entire struct is initialized, when opcode is not a pointer.
Note: See TracChangeset for help on using the changeset viewer.