Ignore:
Timestamp:
Sep 19, 2013, 3:10:26 PM (12 years ago)
Author:
[email protected]
Message:

Move CCallHelpers and AssemblyHelpers into jit/ and have JSInterfaceJIT use them
https://bugs.webkit.org/show_bug.cgi?id=121637

Rubber stamped by Michael Saboff.

Also moved GPRInfo/FPRInfo into jit/.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • bytecode/ValueRecovery.h:

(JSC::ValueRecovery::dumpInContext):

  • dfg/DFGAssemblyHelpers.cpp: Removed.
  • dfg/DFGAssemblyHelpers.h: Removed.
  • dfg/DFGBinarySwitch.h:
  • dfg/DFGByteCodeParser.cpp:
  • dfg/DFGCCallHelpers.h: Removed.
  • dfg/DFGDisassembler.cpp:
  • dfg/DFGFPRInfo.h: Removed.
  • dfg/DFGGPRInfo.h: Removed.
  • dfg/DFGGraph.cpp:
  • dfg/DFGGraph.h:
  • dfg/DFGJITCompiler.h:
  • dfg/DFGOSRExit.cpp:
  • dfg/DFGOSRExit.h:
  • dfg/DFGOSRExitCompiler.h:
  • dfg/DFGOSRExitCompilerCommon.h:
  • dfg/DFGRegisterBank.h:
  • dfg/DFGRegisterSet.h:
  • dfg/DFGRepatch.cpp:
  • dfg/DFGSilentRegisterSavePlan.h:
  • dfg/DFGThunks.cpp:
  • dfg/DFGVariableEvent.cpp:
  • ftl/FTLCArgumentGetter.h:

(JSC::FTL::CArgumentGetter::CArgumentGetter):
(JSC::FTL::CArgumentGetter::loadNext8):
(JSC::FTL::CArgumentGetter::loadNext32):
(JSC::FTL::CArgumentGetter::loadNext64):
(JSC::FTL::CArgumentGetter::loadNextPtr):
(JSC::FTL::CArgumentGetter::loadNextDouble):

  • ftl/FTLCompile.cpp:
  • ftl/FTLExitThunkGenerator.h:
  • ftl/FTLLink.cpp:
  • ftl/FTLThunks.cpp:
  • jit/AssemblyHelpers.cpp: Copied from Source/JavaScriptCore/dfg/DFGAssemblyHelpers.cpp.
  • jit/AssemblyHelpers.h: Copied from Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h.

(JSC::AssemblyHelpers::AssemblyHelpers):
(JSC::AssemblyHelpers::debugCall):

  • jit/CCallHelpers.h: Copied from Source/JavaScriptCore/dfg/DFGCCallHelpers.h.
  • jit/FPRInfo.h: Copied from Source/JavaScriptCore/dfg/DFGFPRInfo.h.

(WTF::printInternal):

  • jit/GPRInfo.h: Copied from Source/JavaScriptCore/dfg/DFGGPRInfo.h.

(WTF::printInternal):

  • jit/JIT.cpp:

(JSC::JIT::JIT):

  • jit/JIT.h:
  • jit/JITPropertyAccess.cpp:

(JSC::JIT::stringGetByValStubGenerator):

  • jit/JITPropertyAccess32_64.cpp:

(JSC::JIT::stringGetByValStubGenerator):

  • jit/JSInterfaceJIT.h:

(JSC::JSInterfaceJIT::JSInterfaceJIT):

  • jit/SpecializedThunkJIT.h:

(JSC::SpecializedThunkJIT::SpecializedThunkJIT):
(JSC::SpecializedThunkJIT::finalize):

  • jit/ThunkGenerators.cpp:

(JSC::linkForGenerator):
(JSC::virtualForGenerator):
(JSC::stringLengthTrampolineGenerator):
(JSC::nativeForGenerator):
(JSC::arityFixup):
(JSC::charCodeAtThunkGenerator):
(JSC::charAtThunkGenerator):
(JSC::fromCharCodeThunkGenerator):
(JSC::sqrtThunkGenerator):
(JSC::floorThunkGenerator):
(JSC::ceilThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::expThunkGenerator):
(JSC::logThunkGenerator):
(JSC::absThunkGenerator):
(JSC::powThunkGenerator):
(JSC::imulThunkGenerator):

  • llint/LLIntThunks.cpp:

(JSC::LLInt::generateThunkWithJumpTo):

  • runtime/JSCJSValue.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ftl/FTLCArgumentGetter.h

    r156047 r156120  
    3131#if ENABLE(FTL_JIT)
    3232
    33 #include "DFGAssemblyHelpers.h"
     33#include "AssemblyHelpers.h"
    3434#include "FTLValueFormat.h"
    3535
     
    5454    // It will be 1 if you haven't pushed or popped after the call; i.e. the only
    5555    // thing is the return address.
    56     CArgumentGetter(DFG::AssemblyHelpers& jit, int peekOffset = 1)
     56    CArgumentGetter(AssemblyHelpers& jit, int peekOffset = 1)
    5757        : m_jit(jit)
    5858        , m_peekOffset(peekOffset)
     
    6363    }
    6464   
    65     void loadNext8(DFG::GPRReg destination)
     65    void loadNext8(GPRReg destination)
    6666    {
    67         ASSERT(!isArgumentRegister<DFG::GPRInfo>(destination));
    68         if (m_gprArgumentIndex < DFG::GPRInfo::numberOfArgumentRegisters) {
    69             m_jit.move(DFG::GPRInfo::toArgumentRegister(m_gprArgumentIndex++), destination);
     67        ASSERT(!isArgumentRegister<GPRInfo>(destination));
     68        if (m_gprArgumentIndex < GPRInfo::numberOfArgumentRegisters) {
     69            m_jit.move(GPRInfo::toArgumentRegister(m_gprArgumentIndex++), destination);
    7070            return;
    7171        }
     
    7474    }
    7575   
    76     void loadNext32(DFG::GPRReg destination)
     76    void loadNext32(GPRReg destination)
    7777    {
    78         ASSERT(!isArgumentRegister<DFG::GPRInfo>(destination));
    79         if (m_gprArgumentIndex < DFG::GPRInfo::numberOfArgumentRegisters) {
    80             m_jit.move(DFG::GPRInfo::toArgumentRegister(m_gprArgumentIndex++), destination);
     78        ASSERT(!isArgumentRegister<GPRInfo>(destination));
     79        if (m_gprArgumentIndex < GPRInfo::numberOfArgumentRegisters) {
     80            m_jit.move(GPRInfo::toArgumentRegister(m_gprArgumentIndex++), destination);
    8181            return;
    8282        }
     
    8585    }
    8686   
    87     void loadNext64(DFG::GPRReg destination)
     87    void loadNext64(GPRReg destination)
    8888    {
    89         ASSERT(!isArgumentRegister<DFG::GPRInfo>(destination));
    90         if (m_gprArgumentIndex < DFG::GPRInfo::numberOfArgumentRegisters) {
    91             m_jit.move(DFG::GPRInfo::toArgumentRegister(m_gprArgumentIndex++), destination);
     89        ASSERT(!isArgumentRegister<GPRInfo>(destination));
     90        if (m_gprArgumentIndex < GPRInfo::numberOfArgumentRegisters) {
     91            m_jit.move(GPRInfo::toArgumentRegister(m_gprArgumentIndex++), destination);
    9292            return;
    9393        }
     
    9696    }
    9797   
    98     void loadNextPtr(DFG::GPRReg destination)
     98    void loadNextPtr(GPRReg destination)
    9999    {
    100100        loadNext64(destination);
    101101    }
    102102   
    103     void loadNextDouble(DFG::FPRReg destination)
     103    void loadNextDouble(FPRReg destination)
    104104    {
    105105        ASSERT(
    106             !isArgumentRegister<DFG::FPRInfo>(destination)
    107             || destination == DFG::FPRInfo::argumentFPR0);
     106            !isArgumentRegister<FPRInfo>(destination)
     107            || destination == FPRInfo::argumentFPR0);
    108108       
    109         if (m_fprArgumentIndex < DFG::FPRInfo::numberOfArgumentRegisters) {
    110             m_jit.moveDouble(DFG::FPRInfo::toArgumentRegister(m_fprArgumentIndex++), destination);
     109        if (m_fprArgumentIndex < FPRInfo::numberOfArgumentRegisters) {
     110            m_jit.moveDouble(FPRInfo::toArgumentRegister(m_fprArgumentIndex++), destination);
    111111            return;
    112112        }
     
    116116   
    117117    void loadNextAndBox(
    118         ValueFormat, DFG::GPRReg destination,
    119         DFG::GPRReg scratch1 = InvalidGPRReg, DFG::GPRReg scratch2 = InvalidGPRReg);
     118        ValueFormat, GPRReg destination,
     119        GPRReg scratch1 = InvalidGPRReg, GPRReg scratch2 = InvalidGPRReg);
    120120
    121121private:
     
    127127    }
    128128           
    129     DFG::AssemblyHelpers& m_jit;
     129    AssemblyHelpers& m_jit;
    130130    unsigned m_peekOffset;
    131131    unsigned m_gprArgumentIndex;
Note: See TracChangeset for help on using the changeset viewer.