Changeset 156136 in webkit


Ignore:
Timestamp:
Sep 19, 2013 7:05:21 PM (11 years ago)
Author:
Brent Fulgham
Message:

Unreviewed, rolling out r156120.
http://trac.webkit.org/changeset/156120
https://bugs.webkit.org/show_bug.cgi?id=121651

Broke windows runtime and all tests (Requested by bfulgham on
#webkit).

Patch by Commit Queue <commit-queue@webkit.org> on 2013-09-19

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

(JSC::ValueRecovery::dumpInContext):

  • dfg/DFGAssemblyHelpers.cpp: Renamed from Source/JavaScriptCore/jit/AssemblyHelpers.cpp.

(JSC::DFG::AssemblyHelpers::executableFor):
(JSC::DFG::AssemblyHelpers::decodedCodeMapFor):
(JSC::DFG::AssemblyHelpers::setSamplingFlag):
(JSC::DFG::AssemblyHelpers::clearSamplingFlag):
(JSC::DFG::AssemblyHelpers::jitAssertIsInt32):
(JSC::DFG::AssemblyHelpers::jitAssertIsJSInt32):
(JSC::DFG::AssemblyHelpers::jitAssertIsJSNumber):
(JSC::DFG::AssemblyHelpers::jitAssertIsJSDouble):
(JSC::DFG::AssemblyHelpers::jitAssertIsCell):
(JSC::DFG::AssemblyHelpers::jitAssertHasValidCallFrame):

  • dfg/DFGAssemblyHelpers.h: Renamed from Source/JavaScriptCore/jit/AssemblyHelpers.h.

(JSC::DFG::AssemblyHelpers::AssemblyHelpers):
(JSC::DFG::AssemblyHelpers::codeBlock):
(JSC::DFG::AssemblyHelpers::vm):
(JSC::DFG::AssemblyHelpers::assembler):
(JSC::DFG::AssemblyHelpers::preserveReturnAddressAfterCall):
(JSC::DFG::AssemblyHelpers::restoreReturnAddressBeforeReturn):
(JSC::DFG::AssemblyHelpers::emitGetFromCallFrameHeaderPtr):
(JSC::DFG::AssemblyHelpers::emitPutToCallFrameHeader):
(JSC::DFG::AssemblyHelpers::emitPutImmediateToCallFrameHeader):
(JSC::DFG::AssemblyHelpers::branchIfNotCell):
(JSC::DFG::AssemblyHelpers::addressFor):
(JSC::DFG::AssemblyHelpers::tagFor):
(JSC::DFG::AssemblyHelpers::payloadFor):
(JSC::DFG::AssemblyHelpers::branchIfNotObject):
(JSC::DFG::AssemblyHelpers::selectScratchGPR):
(JSC::DFG::AssemblyHelpers::debugCall):
(JSC::DFG::AssemblyHelpers::jitAssertIsInt32):
(JSC::DFG::AssemblyHelpers::jitAssertIsJSInt32):
(JSC::DFG::AssemblyHelpers::jitAssertIsJSNumber):
(JSC::DFG::AssemblyHelpers::jitAssertIsJSDouble):
(JSC::DFG::AssemblyHelpers::jitAssertIsCell):
(JSC::DFG::AssemblyHelpers::jitAssertHasValidCallFrame):
(JSC::DFG::AssemblyHelpers::boxDouble):
(JSC::DFG::AssemblyHelpers::unboxDouble):
(JSC::DFG::AssemblyHelpers::boxInt52):
(JSC::DFG::AssemblyHelpers::emitExceptionCheck):
(JSC::DFG::AssemblyHelpers::emitCount):
(JSC::DFG::AssemblyHelpers::globalObjectFor):
(JSC::DFG::AssemblyHelpers::strictModeFor):
(JSC::DFG::AssemblyHelpers::baselineCodeBlockFor):
(JSC::DFG::AssemblyHelpers::baselineCodeBlock):
(JSC::DFG::AssemblyHelpers::argumentsRegisterFor):
(JSC::DFG::AssemblyHelpers::symbolTableFor):
(JSC::DFG::AssemblyHelpers::offsetOfLocals):
(JSC::DFG::AssemblyHelpers::offsetOfArgumentsIncludingThis):

  • dfg/DFGBinarySwitch.h:
  • dfg/DFGByteCodeParser.cpp:
  • dfg/DFGCCallHelpers.h: Renamed from Source/JavaScriptCore/jit/CCallHelpers.h.

(JSC::DFG::CCallHelpers::CCallHelpers):
(JSC::DFG::CCallHelpers::resetCallArguments):
(JSC::DFG::CCallHelpers::addCallArgument):
(JSC::DFG::CCallHelpers::setupArguments):
(JSC::DFG::CCallHelpers::setupArgumentsExecState):
(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
(JSC::DFG::CCallHelpers::setupTwoStubArgs):
(JSC::DFG::CCallHelpers::setupStubArguments):
(JSC::DFG::CCallHelpers::setupResults):

  • dfg/DFGDisassembler.cpp:
  • dfg/DFGFPRInfo.h: Renamed from Source/JavaScriptCore/jit/FPRInfo.h.

(JSC::DFG::FPRInfo::toRegister):
(JSC::DFG::FPRInfo::toIndex):
(JSC::DFG::FPRInfo::toArgumentRegister):
(JSC::DFG::FPRInfo::debugName):

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

(JSC::DFG::JSValueRegs::JSValueRegs):
(JSC::DFG::JSValueRegs::payloadOnly):
(JSC::DFG::JSValueRegs::operator!):
(JSC::DFG::JSValueRegs::gpr):
(JSC::DFG::JSValueRegs::payloadGPR):
(JSC::DFG::JSValueSource::JSValueSource):
(JSC::DFG::JSValueSource::unboxedCell):
(JSC::DFG::JSValueSource::operator!):
(JSC::DFG::JSValueSource::isAddress):
(JSC::DFG::JSValueSource::offset):
(JSC::DFG::JSValueSource::base):
(JSC::DFG::JSValueSource::gpr):
(JSC::DFG::JSValueSource::asAddress):
(JSC::DFG::JSValueSource::notAddress):
(JSC::DFG::JSValueRegs::tagGPR):
(JSC::DFG::JSValueSource::tagGPR):
(JSC::DFG::JSValueSource::payloadGPR):
(JSC::DFG::JSValueSource::hasKnownTag):
(JSC::DFG::JSValueSource::tag):
(JSC::DFG::GPRInfo::toRegister):
(JSC::DFG::GPRInfo::toIndex):
(JSC::DFG::GPRInfo::debugName):
(JSC::DFG::GPRInfo::toArgumentRegister):

  • 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/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::preserveReturnAddressAfterCall):
(JSC::JSInterfaceJIT::restoreReturnAddressBeforeReturn):

  • 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:
Location:
trunk/Source/JavaScriptCore
Files:
5 added
5 deleted
37 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/CMakeLists.txt

    r156120 r156136  
    8181    dfg/DFGArgumentsSimplificationPhase.cpp
    8282    dfg/DFGArrayMode.cpp
     83    dfg/DFGAssemblyHelpers.cpp
    8384    dfg/DFGAtTailAbstractState.cpp
    8485    dfg/DFGBackwardsPropagationPhase.cpp
     
    209210    interpreter/VMInspector.cpp
    210211
    211     jit/AssemblyHelpers.cpp
    212212    jit/ClosureCallStubRoutine.cpp
    213213    jit/ExecutableAllocator.cpp
  • trunk/Source/JavaScriptCore/ChangeLog

    r156126 r156136  
     12013-09-19  Commit Queue  <commit-queue@webkit.org>
     2
     3        Unreviewed, rolling out r156120.
     4        http://trac.webkit.org/changeset/156120
     5        https://bugs.webkit.org/show_bug.cgi?id=121651
     6
     7        Broke windows runtime and all tests (Requested by bfulgham on
     8        #webkit).
     9
     10        * CMakeLists.txt:
     11        * GNUmakefile.list.am:
     12        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
     13        * JavaScriptCore.xcodeproj/project.pbxproj:
     14        * Target.pri:
     15        * bytecode/ValueRecovery.h:
     16        (JSC::ValueRecovery::dumpInContext):
     17        * dfg/DFGAssemblyHelpers.cpp: Renamed from Source/JavaScriptCore/jit/AssemblyHelpers.cpp.
     18        (JSC::DFG::AssemblyHelpers::executableFor):
     19        (JSC::DFG::AssemblyHelpers::decodedCodeMapFor):
     20        (JSC::DFG::AssemblyHelpers::setSamplingFlag):
     21        (JSC::DFG::AssemblyHelpers::clearSamplingFlag):
     22        (JSC::DFG::AssemblyHelpers::jitAssertIsInt32):
     23        (JSC::DFG::AssemblyHelpers::jitAssertIsJSInt32):
     24        (JSC::DFG::AssemblyHelpers::jitAssertIsJSNumber):
     25        (JSC::DFG::AssemblyHelpers::jitAssertIsJSDouble):
     26        (JSC::DFG::AssemblyHelpers::jitAssertIsCell):
     27        (JSC::DFG::AssemblyHelpers::jitAssertHasValidCallFrame):
     28        * dfg/DFGAssemblyHelpers.h: Renamed from Source/JavaScriptCore/jit/AssemblyHelpers.h.
     29        (JSC::DFG::AssemblyHelpers::AssemblyHelpers):
     30        (JSC::DFG::AssemblyHelpers::codeBlock):
     31        (JSC::DFG::AssemblyHelpers::vm):
     32        (JSC::DFG::AssemblyHelpers::assembler):
     33        (JSC::DFG::AssemblyHelpers::preserveReturnAddressAfterCall):
     34        (JSC::DFG::AssemblyHelpers::restoreReturnAddressBeforeReturn):
     35        (JSC::DFG::AssemblyHelpers::emitGetFromCallFrameHeaderPtr):
     36        (JSC::DFG::AssemblyHelpers::emitPutToCallFrameHeader):
     37        (JSC::DFG::AssemblyHelpers::emitPutImmediateToCallFrameHeader):
     38        (JSC::DFG::AssemblyHelpers::branchIfNotCell):
     39        (JSC::DFG::AssemblyHelpers::addressFor):
     40        (JSC::DFG::AssemblyHelpers::tagFor):
     41        (JSC::DFG::AssemblyHelpers::payloadFor):
     42        (JSC::DFG::AssemblyHelpers::branchIfNotObject):
     43        (JSC::DFG::AssemblyHelpers::selectScratchGPR):
     44        (JSC::DFG::AssemblyHelpers::debugCall):
     45        (JSC::DFG::AssemblyHelpers::jitAssertIsInt32):
     46        (JSC::DFG::AssemblyHelpers::jitAssertIsJSInt32):
     47        (JSC::DFG::AssemblyHelpers::jitAssertIsJSNumber):
     48        (JSC::DFG::AssemblyHelpers::jitAssertIsJSDouble):
     49        (JSC::DFG::AssemblyHelpers::jitAssertIsCell):
     50        (JSC::DFG::AssemblyHelpers::jitAssertHasValidCallFrame):
     51        (JSC::DFG::AssemblyHelpers::boxDouble):
     52        (JSC::DFG::AssemblyHelpers::unboxDouble):
     53        (JSC::DFG::AssemblyHelpers::boxInt52):
     54        (JSC::DFG::AssemblyHelpers::emitExceptionCheck):
     55        (JSC::DFG::AssemblyHelpers::emitCount):
     56        (JSC::DFG::AssemblyHelpers::globalObjectFor):
     57        (JSC::DFG::AssemblyHelpers::strictModeFor):
     58        (JSC::DFG::AssemblyHelpers::baselineCodeBlockFor):
     59        (JSC::DFG::AssemblyHelpers::baselineCodeBlock):
     60        (JSC::DFG::AssemblyHelpers::argumentsRegisterFor):
     61        (JSC::DFG::AssemblyHelpers::symbolTableFor):
     62        (JSC::DFG::AssemblyHelpers::offsetOfLocals):
     63        (JSC::DFG::AssemblyHelpers::offsetOfArgumentsIncludingThis):
     64        * dfg/DFGBinarySwitch.h:
     65        * dfg/DFGByteCodeParser.cpp:
     66        * dfg/DFGCCallHelpers.h: Renamed from Source/JavaScriptCore/jit/CCallHelpers.h.
     67        (JSC::DFG::CCallHelpers::CCallHelpers):
     68        (JSC::DFG::CCallHelpers::resetCallArguments):
     69        (JSC::DFG::CCallHelpers::addCallArgument):
     70        (JSC::DFG::CCallHelpers::setupArguments):
     71        (JSC::DFG::CCallHelpers::setupArgumentsExecState):
     72        (JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
     73        (JSC::DFG::CCallHelpers::setupTwoStubArgs):
     74        (JSC::DFG::CCallHelpers::setupStubArguments):
     75        (JSC::DFG::CCallHelpers::setupResults):
     76        * dfg/DFGDisassembler.cpp:
     77        * dfg/DFGFPRInfo.h: Renamed from Source/JavaScriptCore/jit/FPRInfo.h.
     78        (JSC::DFG::FPRInfo::toRegister):
     79        (JSC::DFG::FPRInfo::toIndex):
     80        (JSC::DFG::FPRInfo::toArgumentRegister):
     81        (JSC::DFG::FPRInfo::debugName):
     82        * dfg/DFGGPRInfo.h: Renamed from Source/JavaScriptCore/jit/GPRInfo.h.
     83        (JSC::DFG::JSValueRegs::JSValueRegs):
     84        (JSC::DFG::JSValueRegs::payloadOnly):
     85        (JSC::DFG::JSValueRegs::operator!):
     86        (JSC::DFG::JSValueRegs::gpr):
     87        (JSC::DFG::JSValueRegs::payloadGPR):
     88        (JSC::DFG::JSValueSource::JSValueSource):
     89        (JSC::DFG::JSValueSource::unboxedCell):
     90        (JSC::DFG::JSValueSource::operator!):
     91        (JSC::DFG::JSValueSource::isAddress):
     92        (JSC::DFG::JSValueSource::offset):
     93        (JSC::DFG::JSValueSource::base):
     94        (JSC::DFG::JSValueSource::gpr):
     95        (JSC::DFG::JSValueSource::asAddress):
     96        (JSC::DFG::JSValueSource::notAddress):
     97        (JSC::DFG::JSValueRegs::tagGPR):
     98        (JSC::DFG::JSValueSource::tagGPR):
     99        (JSC::DFG::JSValueSource::payloadGPR):
     100        (JSC::DFG::JSValueSource::hasKnownTag):
     101        (JSC::DFG::JSValueSource::tag):
     102        (JSC::DFG::GPRInfo::toRegister):
     103        (JSC::DFG::GPRInfo::toIndex):
     104        (JSC::DFG::GPRInfo::debugName):
     105        (JSC::DFG::GPRInfo::toArgumentRegister):
     106        * dfg/DFGGraph.cpp:
     107        * dfg/DFGGraph.h:
     108        * dfg/DFGJITCompiler.h:
     109        * dfg/DFGOSRExit.cpp:
     110        * dfg/DFGOSRExit.h:
     111        * dfg/DFGOSRExitCompiler.h:
     112        * dfg/DFGOSRExitCompilerCommon.h:
     113        * dfg/DFGRegisterBank.h:
     114        * dfg/DFGRegisterSet.h:
     115        * dfg/DFGRepatch.cpp:
     116        * dfg/DFGSilentRegisterSavePlan.h:
     117        * dfg/DFGThunks.cpp:
     118        * dfg/DFGVariableEvent.cpp:
     119        * ftl/FTLCArgumentGetter.h:
     120        (JSC::FTL::CArgumentGetter::CArgumentGetter):
     121        (JSC::FTL::CArgumentGetter::loadNext8):
     122        (JSC::FTL::CArgumentGetter::loadNext32):
     123        (JSC::FTL::CArgumentGetter::loadNext64):
     124        (JSC::FTL::CArgumentGetter::loadNextPtr):
     125        (JSC::FTL::CArgumentGetter::loadNextDouble):
     126        * ftl/FTLCompile.cpp:
     127        * ftl/FTLExitThunkGenerator.h:
     128        * ftl/FTLLink.cpp:
     129        * ftl/FTLThunks.cpp:
     130        * jit/JIT.cpp:
     131        (JSC::JIT::JIT):
     132        * jit/JIT.h:
     133        * jit/JITPropertyAccess.cpp:
     134        (JSC::JIT::stringGetByValStubGenerator):
     135        * jit/JITPropertyAccess32_64.cpp:
     136        (JSC::JIT::stringGetByValStubGenerator):
     137        * jit/JSInterfaceJIT.h:
     138        (JSC::JSInterfaceJIT::preserveReturnAddressAfterCall):
     139        (JSC::JSInterfaceJIT::restoreReturnAddressBeforeReturn):
     140        * jit/SpecializedThunkJIT.h:
     141        (JSC::SpecializedThunkJIT::SpecializedThunkJIT):
     142        (JSC::SpecializedThunkJIT::finalize):
     143        * jit/ThunkGenerators.cpp:
     144        (JSC::linkForGenerator):
     145        (JSC::virtualForGenerator):
     146        (JSC::stringLengthTrampolineGenerator):
     147        (JSC::nativeForGenerator):
     148        (JSC::arityFixup):
     149        (JSC::charCodeAtThunkGenerator):
     150        (JSC::charAtThunkGenerator):
     151        (JSC::fromCharCodeThunkGenerator):
     152        (JSC::sqrtThunkGenerator):
     153        (JSC::floorThunkGenerator):
     154        (JSC::ceilThunkGenerator):
     155        (JSC::roundThunkGenerator):
     156        (JSC::expThunkGenerator):
     157        (JSC::logThunkGenerator):
     158        (JSC::absThunkGenerator):
     159        (JSC::powThunkGenerator):
     160        (JSC::imulThunkGenerator):
     161        * llint/LLIntThunks.cpp:
     162        (JSC::LLInt::generateThunkWithJumpTo):
     163        * runtime/JSCJSValue.h:
     164
    11652013-09-19  Filip Pizlo  <fpizlo@apple.com>
    2166
  • trunk/Source/JavaScriptCore/GNUmakefile.list.am

    r156120 r156136  
    193193        Source/JavaScriptCore/dfg/DFGArrayMode.h \
    194194        Source/JavaScriptCore/dfg/DFGArrayifySlowPathGenerator.h \
     195        Source/JavaScriptCore/dfg/DFGAssemblyHelpers.cpp \
     196        Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h \
    195197        Source/JavaScriptCore/dfg/DFGAtTailAbstractState.cpp \
    196198        Source/JavaScriptCore/dfg/DFGAtTailAbstractState.h \
     
    207209        Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp \
    208210        Source/JavaScriptCore/dfg/DFGByteCodeParser.h \
     211        Source/JavaScriptCore/dfg/DFGCCallHelpers.h \
    209212        Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp \
    210213        Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.h \
     
    259262        Source/JavaScriptCore/dfg/DFGEdgeDominates.h \
    260263        Source/JavaScriptCore/dfg/DFGEdgeUsesStructure.h \
     264        Source/JavaScriptCore/dfg/DFGFPRInfo.h \
    261265        Source/JavaScriptCore/dfg/DFGFailedFinalizer.cpp \
    262266        Source/JavaScriptCore/dfg/DFGFailedFinalizer.h \
     
    271275        Source/JavaScriptCore/dfg/DFGFlushLivenessAnalysisPhase.h \
    272276        Source/JavaScriptCore/dfg/DFGGenerationInfo.h \
     277        Source/JavaScriptCore/dfg/DFGGPRInfo.h \
    273278        Source/JavaScriptCore/dfg/DFGGenerationInfo.h \
    274279        Source/JavaScriptCore/dfg/DFGGraph.cpp \
     
    600605        Source/JavaScriptCore/interpreter/VMInspector.h \
    601606        Source/JavaScriptCore/JavaScriptCorePrefix.h \
    602         Source/JavaScriptCore/jit/AssemblyHelpers.cpp \
    603         Source/JavaScriptCore/jit/AssemblyHelpers.h \
    604         Source/JavaScriptCore/jit/CCallHelpers.h \
    605607        Source/JavaScriptCore/jit/CompactJITCodeMap.h \
    606608        Source/JavaScriptCore/jit/ClosureCallStubRoutine.cpp \
     
    609611        Source/JavaScriptCore/jit/ExecutableAllocator.h \
    610612        Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp \
    611         Source/JavaScriptCore/jit/FPRInfo.h \
    612613        Source/JavaScriptCore/jit/GCAwareJITStubRoutine.cpp \
    613614        Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h \
    614         Source/JavaScriptCore/jit/GPRInfo.h \
    615615        Source/JavaScriptCore/jit/HostCallReturnValue.cpp \
    616616        Source/JavaScriptCore/jit/HostCallReturnValue.h \
  • trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj

    r156120 r156136  
    363363    <ClCompile Include="..\interpreter\StackVisitor.cpp" />
    364364    <ClCompile Include="..\interpreter\VMInspector.cpp" />
    365     <ClCompile Include="..\jit\AssemblyHelpers.cpp" />
    366365    <ClCompile Include="..\jit\ClosureCallStubRoutine.cpp" />
    367366    <ClCompile Include="..\jit\ExecutableAllocator.cpp" />
     
    753752    <ClInclude Include="..\interpreter\StackVisitor.h" />
    754753    <ClInclude Include="..\interpreter\VMInspector.h" />
    755     <ClInclude Include="..\jit\AssemblyHelpers.h" />
    756     <ClInclude Include="..\jit\CCallHelpers.h" />
    757754    <ClInclude Include="..\jit\ClosureCallStubRoutine.h" />
    758755    <ClInclude Include="..\jit\CompactJITCodeMap.h" />
    759756    <ClInclude Include="..\jit\ExecutableAllocator.h" />
    760     <ClInclude Include="..\jit\FPRInfo.h" />
    761757    <ClInclude Include="..\jit\GCAwareJITStubRoutine.h" />
    762     <ClInclude Include="..\jit\GPRInfo.h" />
    763758    <ClInclude Include="..\jit\HostCallReturnValue.h" />
    764759    <ClInclude Include="..\jit\JIT.h" />
  • trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r156120 r156136  
    114114                0F235BEE17178E7300690C7F /* DFGOSRExitPreparation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F235BEA17178E7300690C7F /* DFGOSRExitPreparation.h */; settings = {ATTRIBUTES = (Private, ); }; };
    115115                0F242DA713F3B1E8007ADD4C /* WeakReferenceHarvester.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F242DA513F3B1BB007ADD4C /* WeakReferenceHarvester.h */; settings = {ATTRIBUTES = (Private, ); }; };
    116                 0F24E54017EA9F5900ABB217 /* AssemblyHelpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F24E53B17EA9F5900ABB217 /* AssemblyHelpers.cpp */; };
    117                 0F24E54117EA9F5900ABB217 /* AssemblyHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F24E53C17EA9F5900ABB217 /* AssemblyHelpers.h */; settings = {ATTRIBUTES = (Private, ); }; };
    118                 0F24E54217EA9F5900ABB217 /* CCallHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F24E53D17EA9F5900ABB217 /* CCallHelpers.h */; settings = {ATTRIBUTES = (Private, ); }; };
    119                 0F24E54317EA9F5900ABB217 /* FPRInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F24E53E17EA9F5900ABB217 /* FPRInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
    120                 0F24E54417EA9F5900ABB217 /* GPRInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F24E53F17EA9F5900ABB217 /* GPRInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
    121116                0F256C361627B0AD007F2783 /* DFGCallArrayAllocatorSlowPathGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F256C341627B0AA007F2783 /* DFGCallArrayAllocatorSlowPathGenerator.h */; settings = {ATTRIBUTES = (Private, ); }; };
    122117                0F2B66AC17B6B53F00A7AE3F /* GCIncomingRefCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66A817B6B53D00A7AE3F /* GCIncomingRefCounted.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    268263                0F766D4615B3701F008F363E /* DFGScratchRegisterAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F766D4515B3701D008F363E /* DFGScratchRegisterAllocator.h */; settings = {ATTRIBUTES = (Private, ); }; };
    269264                0F7700921402FF3C0078EB39 /* SamplingCounter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F7700911402FF280078EB39 /* SamplingCounter.cpp */; };
     265                0F7B294A14C3CD29007C3DB1 /* DFGCCallHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F7B294814C3CD23007C3DB1 /* DFGCCallHelpers.h */; settings = {ATTRIBUTES = (Private, ); }; };
    270266                0F7B294B14C3CD2F007C3DB1 /* DFGCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FD82E1F14172C2F00179C94 /* DFGCapabilities.h */; settings = {ATTRIBUTES = (Private, ); }; };
    271267                0F7B294D14C3CD4C007C3DB1 /* DFGCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FC0977E1469EBC400CF2442 /* DFGCommon.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    345341                0FBE0F7716C1DB120082C5E8 /* DFGUnificationPhase.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FBE0F7016C1DB010082C5E8 /* DFGUnificationPhase.h */; settings = {ATTRIBUTES = (Private, ); }; };
    346342                0FC0976A1468A6F700CF2442 /* DFGOSRExit.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FC097681468A6EF00CF2442 /* DFGOSRExit.h */; settings = {ATTRIBUTES = (Private, ); }; };
     343                0FC0976D1468AB4E00CF2442 /* DFGAssemblyHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FC0976C1468AB4A00CF2442 /* DFGAssemblyHelpers.h */; settings = {ATTRIBUTES = (Private, ); }; };
     344                0FC0976E1468AB5100CF2442 /* DFGAssemblyHelpers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FC0976B1468AB4A00CF2442 /* DFGAssemblyHelpers.cpp */; };
    347345                0FC0977114693AF500CF2442 /* DFGOSRExitCompiler.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FC0976F14693AEF00CF2442 /* DFGOSRExitCompiler.h */; settings = {ATTRIBUTES = (Private, ); }; };
    348346                0FC0977214693AF900CF2442 /* DFGOSRExitCompiler64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FC0977014693AEF00CF2442 /* DFGOSRExitCompiler64.cpp */; };
     
    728726                86AE64A9135E5E1C00963012 /* MacroAssemblerSH4.h in Headers */ = {isa = PBXBuildFile; fileRef = 86AE64A6135E5E1C00963012 /* MacroAssemblerSH4.h */; settings = {ATTRIBUTES = (Private, ); }; };
    729727                86AE64AA135E5E1C00963012 /* SH4Assembler.h in Headers */ = {isa = PBXBuildFile; fileRef = 86AE64A7135E5E1C00963012 /* SH4Assembler.h */; settings = {ATTRIBUTES = (Private, ); }; };
     728                86AE6C4D136A11E400963012 /* DFGFPRInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 86AE6C4B136A11E400963012 /* DFGFPRInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
     729                86AE6C4E136A11E400963012 /* DFGGPRInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 86AE6C4C136A11E400963012 /* DFGGPRInfo.h */; settings = {ATTRIBUTES = (Private, ); }; };
    730730                86B5826714D2796C00A9C306 /* CodeProfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86B5822E14D2373B00A9C306 /* CodeProfile.cpp */; };
    731731                86B5826914D2797000A9C306 /* CodeProfiling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8603CEF214C7546400AE59E3 /* CodeProfiling.cpp */; };
     
    13141314                0F235BEA17178E7300690C7F /* DFGOSRExitPreparation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGOSRExitPreparation.h; path = dfg/DFGOSRExitPreparation.h; sourceTree = "<group>"; };
    13151315                0F242DA513F3B1BB007ADD4C /* WeakReferenceHarvester.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WeakReferenceHarvester.h; sourceTree = "<group>"; };
    1316                 0F24E53B17EA9F5900ABB217 /* AssemblyHelpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AssemblyHelpers.cpp; sourceTree = "<group>"; };
    1317                 0F24E53C17EA9F5900ABB217 /* AssemblyHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AssemblyHelpers.h; sourceTree = "<group>"; };
    1318                 0F24E53D17EA9F5900ABB217 /* CCallHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CCallHelpers.h; sourceTree = "<group>"; };
    1319                 0F24E53E17EA9F5900ABB217 /* FPRInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FPRInfo.h; sourceTree = "<group>"; };
    1320                 0F24E53F17EA9F5900ABB217 /* GPRInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GPRInfo.h; sourceTree = "<group>"; };
    13211316                0F256C341627B0AA007F2783 /* DFGCallArrayAllocatorSlowPathGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGCallArrayAllocatorSlowPathGenerator.h; path = dfg/DFGCallArrayAllocatorSlowPathGenerator.h; sourceTree = "<group>"; };
    13221317                0F2B66A817B6B53D00A7AE3F /* GCIncomingRefCounted.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GCIncomingRefCounted.h; sourceTree = "<group>"; };
     
    14681463                0F77008E1402FDD60078EB39 /* SamplingCounter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SamplingCounter.h; sourceTree = "<group>"; };
    14691464                0F7700911402FF280078EB39 /* SamplingCounter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SamplingCounter.cpp; sourceTree = "<group>"; };
     1465                0F7B294814C3CD23007C3DB1 /* DFGCCallHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGCCallHelpers.h; path = dfg/DFGCCallHelpers.h; sourceTree = "<group>"; };
    14701466                0F8023E91613832300A0BA45 /* ByValInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ByValInfo.h; sourceTree = "<group>"; };
    14711467                0F8335B41639C1E3001443B5 /* ArrayAllocationProfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArrayAllocationProfile.cpp; sourceTree = "<group>"; };
     
    15541550                0FBE0F7016C1DB010082C5E8 /* DFGUnificationPhase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGUnificationPhase.h; path = dfg/DFGUnificationPhase.h; sourceTree = "<group>"; };
    15551551                0FC097681468A6EF00CF2442 /* DFGOSRExit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGOSRExit.h; path = dfg/DFGOSRExit.h; sourceTree = "<group>"; };
     1552                0FC0976B1468AB4A00CF2442 /* DFGAssemblyHelpers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGAssemblyHelpers.cpp; path = dfg/DFGAssemblyHelpers.cpp; sourceTree = "<group>"; };
     1553                0FC0976C1468AB4A00CF2442 /* DFGAssemblyHelpers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGAssemblyHelpers.h; path = dfg/DFGAssemblyHelpers.h; sourceTree = "<group>"; };
    15561554                0FC0976F14693AEF00CF2442 /* DFGOSRExitCompiler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGOSRExitCompiler.h; path = dfg/DFGOSRExitCompiler.h; sourceTree = "<group>"; };
    15571555                0FC0977014693AEF00CF2442 /* DFGOSRExitCompiler64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGOSRExitCompiler64.cpp; path = dfg/DFGOSRExitCompiler64.cpp; sourceTree = "<group>"; };
     
    19201918                86AE64A6135E5E1C00963012 /* MacroAssemblerSH4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MacroAssemblerSH4.h; sourceTree = "<group>"; };
    19211919                86AE64A7135E5E1C00963012 /* SH4Assembler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SH4Assembler.h; sourceTree = "<group>"; };
     1920                86AE6C4B136A11E400963012 /* DFGFPRInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGFPRInfo.h; path = dfg/DFGFPRInfo.h; sourceTree = "<group>"; };
     1921                86AE6C4C136A11E400963012 /* DFGGPRInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGGPRInfo.h; path = dfg/DFGGPRInfo.h; sourceTree = "<group>"; };
    19221922                86B5822C14D22F5F00A9C306 /* ProfileTreeNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProfileTreeNode.h; sourceTree = "<group>"; };
    19231923                86B5822E14D2373B00A9C306 /* CodeProfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CodeProfile.cpp; sourceTree = "<group>"; };
     
    27052705                        isa = PBXGroup;
    27062706                        children = (
    2707                                 0F24E53B17EA9F5900ABB217 /* AssemblyHelpers.cpp */,
    2708                                 0F24E53C17EA9F5900ABB217 /* AssemblyHelpers.h */,
    2709                                 0F24E53D17EA9F5900ABB217 /* CCallHelpers.h */,
    2710                                 0F24E53E17EA9F5900ABB217 /* FPRInfo.h */,
    2711                                 0F24E53F17EA9F5900ABB217 /* GPRInfo.h */,
    27122707                                0F73D7AB165A142A00ACAB71 /* ClosureCallStubRoutine.cpp */,
    27132708                                0F73D7AC165A142A00ACAB71 /* ClosureCallStubRoutine.h */,
     
    34713466                                0F63948115E48114006A597C /* DFGArrayMode.cpp */,
    34723467                                0F63948215E48114006A597C /* DFGArrayMode.h */,
     3468                                0FC0976B1468AB4A00CF2442 /* DFGAssemblyHelpers.cpp */,
     3469                                0FC0976C1468AB4A00CF2442 /* DFGAssemblyHelpers.h */,
    34733470                                A7D9A28F17A0BC7400EE2618 /* DFGAtTailAbstractState.cpp */,
    34743471                                A7D9A29017A0BC7400EE2618 /* DFGAtTailAbstractState.h */,
     
    34883485                                0FD82E1E14172C2F00179C94 /* DFGCapabilities.cpp */,
    34893486                                0FD82E1F14172C2F00179C94 /* DFGCapabilities.h */,
     3487                                0F7B294814C3CD23007C3DB1 /* DFGCCallHelpers.h */,
    34903488                                0FFFC94B14EF909500C72532 /* DFGCFAPhase.cpp */,
    34913489                                0FFFC94C14EF909500C72532 /* DFGCFAPhase.h */,
     
    35483546                                A7D89CEA17A0B8CC00773AD8 /* DFGFlushLivenessAnalysisPhase.cpp */,
    35493547                                A7D89CEB17A0B8CC00773AD8 /* DFGFlushLivenessAnalysisPhase.h */,
     3548                                86AE6C4B136A11E400963012 /* DFGFPRInfo.h */,
    35503549                                86EC9DB61328DF82002B2AD7 /* DFGGenerationInfo.h */,
     3550                                86AE6C4C136A11E400963012 /* DFGGPRInfo.h */,
    35513551                                86EC9DB71328DF82002B2AD7 /* DFGGraph.cpp */,
    35523552                                86EC9DB81328DF82002B2AD7 /* DFGGraph.h */,
     
    39103910                                6553A33217A1F1EE008CF6F3 /* CommonSlowPathsExceptions.h in Headers */,
    39113911                                0FD82E39141AB14D00179C94 /* CompactJITCodeMap.h in Headers */,
    3912                                 0F24E54417EA9F5900ABB217 /* GPRInfo.h in Headers */,
    39133912                                A7E5A3A81797432D00E893C0 /* CompilationResult.h in Headers */,
    39143913                                BC18C3F40E16F5CD00B34460 /* Completion.h in Headers */,
     
    39513950                                0F05C3B41683CF9200BAF45B /* DFGArrayifySlowPathGenerator.h in Headers */,
    39523951                                0F63948515E4811B006A597C /* DFGArrayMode.h in Headers */,
     3952                                0FC0976D1468AB4E00CF2442 /* DFGAssemblyHelpers.h in Headers */,
    39533953                                A7D9A29517A0BC7400EE2618 /* DFGAtTailAbstractState.h in Headers */,
    39543954                                0F714CA516EA92F200F3EBEB /* DFGBackwardsPropagationPhase.h in Headers */,
     
    39613961                                0F256C361627B0AD007F2783 /* DFGCallArrayAllocatorSlowPathGenerator.h in Headers */,
    39623962                                0F7B294B14C3CD2F007C3DB1 /* DFGCapabilities.h in Headers */,
     3963                                0F7B294A14C3CD29007C3DB1 /* DFGCCallHelpers.h in Headers */,
    39633964                                0FFFC95814EF90A200C72532 /* DFGCFAPhase.h in Headers */,
    39643965                                0F3B3A281544C997003ED0FF /* DFGCFGSimplificationPhase.h in Headers */,
     
    39943995                                A7D89CF817A0B8CC00773AD8 /* DFGFlushFormat.h in Headers */,
    39953996                                A7D89CFA17A0B8CC00773AD8 /* DFGFlushLivenessAnalysisPhase.h in Headers */,
     3997                                86AE6C4D136A11E400963012 /* DFGFPRInfo.h in Headers */,
    39963998                                86EC9DC61328DF82002B2AD7 /* DFGGenerationInfo.h in Headers */,
     3999                                86AE6C4E136A11E400963012 /* DFGGPRInfo.h in Headers */,
    39974000                                86EC9DC81328DF82002B2AD7 /* DFGGraph.h in Headers */,
    39984001                                A704D90617A0BAA8006BA554 /* DFGInPlaceAbstractState.h in Headers */,
     
    41364139                                C2E526BE1590EF000054E48D /* HeapTimer.h in Headers */,
    41374140                                0F4680D514BBD24B00BFE272 /* HostCallReturnValue.h in Headers */,
    4138                                 0F24E54317EA9F5900ABB217 /* FPRInfo.h in Headers */,
    41394141                                BC18C40F0E16F5CD00B34460 /* Identifier.h in Headers */,
    41404142                                C25F8BCE157544A900245B71 /* IncrementalSweeper.h in Headers */,
     
    42114213                                A72028BA1797603D0098028C /* JSFunctionInlines.h in Headers */,
    42124214                                0F2B66F117B6B5AB00A7AE3F /* JSGenericTypedArrayView.h in Headers */,
    4213                                 0F24E54117EA9F5900ABB217 /* AssemblyHelpers.h in Headers */,
    42144215                                0F2B66F217B6B5AB00A7AE3F /* JSGenericTypedArrayViewConstructor.h in Headers */,
    42154216                                0F2B66F317B6B5AB00A7AE3F /* JSGenericTypedArrayViewConstructorInlines.h in Headers */,
     
    43804381                                0FB1058E1675483A00F8AB6E /* ProfilerOSRExitSite.h in Headers */,
    43814382                                0F13912C16771C3D009CCB07 /* ProfilerProfiledBytecodes.h in Headers */,
    4382                                 0F24E54217EA9F5900ABB217 /* CCallHelpers.h in Headers */,
    43834383                                A7FB61001040C38B0017A286 /* PropertyDescriptor.h in Headers */,
    43844384                                BC95437D0EBA70FD0072B6D3 /* PropertyMapHashTable.h in Headers */,
     
    49004900                                0F16015D156198C900C2587C /* DFGArgumentsSimplificationPhase.cpp in Sources */,
    49014901                                0F63948415E48118006A597C /* DFGArrayMode.cpp in Sources */,
     4902                                0FC0976E1468AB5100CF2442 /* DFGAssemblyHelpers.cpp in Sources */,
    49024903                                A7D9A29417A0BC7400EE2618 /* DFGAtTailAbstractState.cpp in Sources */,
    49034904                                0F714CA416EA92F000F3EBEB /* DFGBackwardsPropagationPhase.cpp in Sources */,
     
    49624963                                0F235BED17178E7300690C7F /* DFGOSRExitPreparation.cpp in Sources */,
    49634964                                0FFFC95B14EF90AD00C72532 /* DFGPhase.cpp in Sources */,
    4964                                 0F24E54017EA9F5900ABB217 /* AssemblyHelpers.cpp in Sources */,
    49654965                                A78A977A179738B8009DF744 /* DFGPlan.cpp in Sources */,
    49664966                                0FBE0F7416C1DB090082C5E8 /* DFGPredictionInjectionPhase.cpp in Sources */,
  • trunk/Source/JavaScriptCore/Target.pri

    r156120 r156136  
    118118    dfg/DFGArgumentsSimplificationPhase.cpp \
    119119    dfg/DFGArrayMode.cpp \
     120    dfg/DFGAssemblyHelpers.cpp \
    120121    dfg/DFGAtTailAbstractState.cpp \
    121122    dfg/DFGBackwardsPropagationPhase.cpp \
     
    206207    interpreter/JSStack.cpp \
    207208    interpreter/StackVisitor.cpp \
    208     jit/AssemblyHelpers.cpp \
    209209    jit/ClosureCallStubRoutine.cpp \
    210210    jit/ExecutableAllocatorFixedVMPool.cpp \
  • trunk/Source/JavaScriptCore/bytecode/ValueRecovery.h

    r156120 r156136  
    2828
    2929#include "DataFormat.h"
    30 #include "GPRInfo.h"
    31 #include "FPRInfo.h"
    3230#include "JSCJSValue.h"
    3331#include "MacroAssembler.h"
     
    326324            return;
    327325        case InGPR:
    328             out.print(gpr());
     326            out.printf("%%r%d", gpr());
    329327            return;
    330328        case UnboxedInt32InGPR:
    331             out.print("int32(", gpr(), ")");
     329            out.printf("int32(%%r%d)", gpr());
    332330            return;
    333331        case UnboxedInt52InGPR:
    334             out.print("int53(", gpr(), ")");
     332            out.printf("int52(%%r%d)", gpr());
    335333            return;
    336334        case UnboxedStrictInt52InGPR:
    337             out.print("strictInt52(", gpr(), ")");
     335            out.printf("strictInt52(%%r%d)", gpr());
    338336            return;
    339337        case UnboxedBooleanInGPR:
    340             out.print("bool(", gpr(), ")");
     338            out.printf("bool(%%r%d)", gpr());
    341339            return;
    342340        case UInt32InGPR:
    343             out.print("uint32(", gpr(), ")");
     341            out.printf("uint32(%%r%d)", gpr());
    344342            return;
    345343        case InFPR:
    346             out.print(fpr());
     344            out.printf("%%fr%d", fpr());
    347345            return;
    348346#if USE(JSVALUE32_64)
    349347        case InPair:
    350             out.print("pair(", tagGPR(), ", ", payloadGPR(), ")");
     348            out.printf("pair(%%r%d, %%r%d)", tagGPR(), payloadGPR());
    351349            return;
    352350#endif
  • trunk/Source/JavaScriptCore/dfg/DFGBinarySwitch.h

    r156120 r156136  
    3131#if ENABLE(DFG_JIT)
    3232
    33 #include "GPRInfo.h"
     33#include "DFGGPRInfo.h"
    3434#include "MacroAssembler.h"
    3535
  • trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp

    r156120 r156136  
    3535#include "DFGArrayMode.h"
    3636#include "DFGCapabilities.h"
    37 #include "DFGJITCode.h"
    3837#include "GetByIdStatus.h"
    3938#include "Operations.h"
  • trunk/Source/JavaScriptCore/dfg/DFGDisassembler.cpp

    r156120 r156136  
    3131#include "CodeBlockWithJITType.h"
    3232#include "DFGGraph.h"
    33 #include "DFGJITCode.h"
    3433#include <wtf/StdLibExtras.h>
    3534
  • trunk/Source/JavaScriptCore/dfg/DFGGraph.cpp

    r156120 r156136  
    3030#include "CodeBlockWithJITType.h"
    3131#include "DFGClobberSet.h"
    32 #include "DFGJITCode.h"
    3332#include "DFGVariableAccessDataDump.h"
    3433#include "FunctionExecutableDump.h"
  • trunk/Source/JavaScriptCore/dfg/DFGGraph.h

    r156120 r156136  
    3131#if ENABLE(DFG_JIT)
    3232
    33 #include "AssemblyHelpers.h"
    3433#include "CodeBlock.h"
    3534#include "DFGArgumentPosition.h"
     35#include "DFGAssemblyHelpers.h"
    3636#include "DFGBasicBlock.h"
    3737#include "DFGDominators.h"
  • trunk/Source/JavaScriptCore/dfg/DFGJITCompiler.h

    r156120 r156136  
    2929#if ENABLE(DFG_JIT)
    3030
    31 #include "CCallHelpers.h"
    3231#include "CallFrameInlines.h"
    3332#include "CodeBlock.h"
     33#include "DFGCCallHelpers.h"
    3434#include "DFGDisassembler.h"
     35#include "DFGFPRInfo.h"
     36#include "DFGGPRInfo.h"
    3537#include "DFGGraph.h"
    3638#include "DFGJITCode.h"
     
    3840#include "DFGRegisterBank.h"
    3941#include "DFGRegisterSet.h"
    40 #include "FPRInfo.h"
    41 #include "GPRInfo.h"
    4242#include "JITCode.h"
    4343#include "LinkBuffer.h"
  • trunk/Source/JavaScriptCore/dfg/DFGOSRExit.cpp

    r156120 r156136  
    2929#if ENABLE(DFG_JIT)
    3030
    31 #include "AssemblyHelpers.h"
     31#include "DFGAssemblyHelpers.h"
    3232#include "DFGGraph.h"
    3333#include "DFGSpeculativeJIT.h"
  • trunk/Source/JavaScriptCore/dfg/DFGOSRExit.h

    r156120 r156136  
    3434#include "DFGCommon.h"
    3535#include "DFGExitProfile.h"
     36#include "DFGGPRInfo.h"
    3637#include "DFGOSRExitBase.h"
    3738#include "DFGValueRecoveryOverride.h"
    38 #include "GPRInfo.h"
    3939#include "MacroAssembler.h"
    4040#include "MethodOfGettingAValueProfile.h"
  • trunk/Source/JavaScriptCore/dfg/DFGOSRExitCompiler.h

    r156120 r156136  
    3131#if ENABLE(DFG_JIT)
    3232
    33 #include "AssemblyHelpers.h"
    34 #include "CCallHelpers.h"
     33#include "DFGAssemblyHelpers.h"
     34#include "DFGCCallHelpers.h"
    3535#include "DFGOSRExit.h"
    3636#include "DFGOperations.h"
  • trunk/Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.h

    r156120 r156136  
    3131#if ENABLE(DFG_JIT)
    3232
    33 #include "CCallHelpers.h"
     33#include "DFGCCallHelpers.h"
    3434#include "DFGOSRExit.h"
    3535
  • trunk/Source/JavaScriptCore/dfg/DFGRegisterBank.h

    r156120 r156136  
    3030
    3131#include "DFGCommon.h"
    32 #include "FPRInfo.h"
    33 #include "GPRInfo.h"
    3432
    3533namespace JSC { namespace DFG {
     
    361359};
    362360
    363 typedef RegisterBank<GPRInfo>::iterator gpr_iterator;
    364 typedef RegisterBank<FPRInfo>::iterator fpr_iterator;
    365 
    366361} } // namespace JSC::DFG
    367362
  • trunk/Source/JavaScriptCore/dfg/DFGRegisterSet.h

    r156120 r156136  
    3131#if ENABLE(DFG_JIT)
    3232
    33 #include "FPRInfo.h"
    34 #include "GPRInfo.h"
     33#include "DFGFPRInfo.h"
     34#include "DFGGPRInfo.h"
    3535#include <wtf/Bitmap.h>
    3636
  • trunk/Source/JavaScriptCore/dfg/DFGRepatch.cpp

    r156124 r156136  
    2929#if ENABLE(DFG_JIT)
    3030
    31 #include "CCallHelpers.h"
    3231#include "CallFrameInlines.h"
     32#include "DFGCCallHelpers.h"
    3333#include "DFGScratchRegisterAllocator.h"
    3434#include "DFGSpeculativeJIT.h"
  • trunk/Source/JavaScriptCore/dfg/DFGSilentRegisterSavePlan.h

    r156120 r156136  
    3232
    3333#include "DFGCommon.h"
    34 #include "FPRInfo.h"
    35 #include "GPRInfo.h"
     34#include "DFGFPRInfo.h"
     35#include "DFGGPRInfo.h"
    3636
    3737namespace JSC { namespace DFG {
  • trunk/Source/JavaScriptCore/dfg/DFGThunks.cpp

    r156120 r156136  
    2929#if ENABLE(DFG_JIT)
    3030
    31 #include "CCallHelpers.h"
     31#include "DFGCCallHelpers.h"
     32#include "DFGFPRInfo.h"
     33#include "DFGGPRInfo.h"
    3234#include "DFGOSRExitCompiler.h"
    33 #include "FPRInfo.h"
    34 #include "GPRInfo.h"
    3535#include "MacroAssembler.h"
    3636
  • trunk/Source/JavaScriptCore/dfg/DFGVariableEvent.cpp

    r156120 r156136  
    2929#if ENABLE(DFG_JIT)
    3030
    31 #include "FPRInfo.h"
    32 #include "GPRInfo.h"
     31#include "DFGFPRInfo.h"
     32#include "DFGGPRInfo.h"
    3333
    3434namespace JSC { namespace DFG {
  • trunk/Source/JavaScriptCore/ftl/FTLCArgumentGetter.h

    r156120 r156136  
    3131#if ENABLE(FTL_JIT)
    3232
    33 #include "AssemblyHelpers.h"
     33#include "DFGAssemblyHelpers.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(AssemblyHelpers& jit, int peekOffset = 1)
     56    CArgumentGetter(DFG::AssemblyHelpers& jit, int peekOffset = 1)
    5757        : m_jit(jit)
    5858        , m_peekOffset(peekOffset)
     
    6363    }
    6464   
    65     void loadNext8(GPRReg destination)
     65    void loadNext8(DFG::GPRReg destination)
    6666    {
    67         ASSERT(!isArgumentRegister<GPRInfo>(destination));
    68         if (m_gprArgumentIndex < GPRInfo::numberOfArgumentRegisters) {
    69             m_jit.move(GPRInfo::toArgumentRegister(m_gprArgumentIndex++), destination);
     67        ASSERT(!isArgumentRegister<DFG::GPRInfo>(destination));
     68        if (m_gprArgumentIndex < DFG::GPRInfo::numberOfArgumentRegisters) {
     69            m_jit.move(DFG::GPRInfo::toArgumentRegister(m_gprArgumentIndex++), destination);
    7070            return;
    7171        }
     
    7474    }
    7575   
    76     void loadNext32(GPRReg destination)
     76    void loadNext32(DFG::GPRReg destination)
    7777    {
    78         ASSERT(!isArgumentRegister<GPRInfo>(destination));
    79         if (m_gprArgumentIndex < GPRInfo::numberOfArgumentRegisters) {
    80             m_jit.move(GPRInfo::toArgumentRegister(m_gprArgumentIndex++), destination);
     78        ASSERT(!isArgumentRegister<DFG::GPRInfo>(destination));
     79        if (m_gprArgumentIndex < DFG::GPRInfo::numberOfArgumentRegisters) {
     80            m_jit.move(DFG::GPRInfo::toArgumentRegister(m_gprArgumentIndex++), destination);
    8181            return;
    8282        }
     
    8585    }
    8686   
    87     void loadNext64(GPRReg destination)
     87    void loadNext64(DFG::GPRReg destination)
    8888    {
    89         ASSERT(!isArgumentRegister<GPRInfo>(destination));
    90         if (m_gprArgumentIndex < GPRInfo::numberOfArgumentRegisters) {
    91             m_jit.move(GPRInfo::toArgumentRegister(m_gprArgumentIndex++), destination);
     89        ASSERT(!isArgumentRegister<DFG::GPRInfo>(destination));
     90        if (m_gprArgumentIndex < DFG::GPRInfo::numberOfArgumentRegisters) {
     91            m_jit.move(DFG::GPRInfo::toArgumentRegister(m_gprArgumentIndex++), destination);
    9292            return;
    9393        }
     
    9696    }
    9797   
    98     void loadNextPtr(GPRReg destination)
     98    void loadNextPtr(DFG::GPRReg destination)
    9999    {
    100100        loadNext64(destination);
    101101    }
    102102   
    103     void loadNextDouble(FPRReg destination)
     103    void loadNextDouble(DFG::FPRReg destination)
    104104    {
    105105        ASSERT(
    106             !isArgumentRegister<FPRInfo>(destination)
    107             || destination == FPRInfo::argumentFPR0);
     106            !isArgumentRegister<DFG::FPRInfo>(destination)
     107            || destination == DFG::FPRInfo::argumentFPR0);
    108108       
    109         if (m_fprArgumentIndex < FPRInfo::numberOfArgumentRegisters) {
    110             m_jit.moveDouble(FPRInfo::toArgumentRegister(m_fprArgumentIndex++), destination);
     109        if (m_fprArgumentIndex < DFG::FPRInfo::numberOfArgumentRegisters) {
     110            m_jit.moveDouble(DFG::FPRInfo::toArgumentRegister(m_fprArgumentIndex++), destination);
    111111            return;
    112112        }
     
    116116   
    117117    void loadNextAndBox(
    118         ValueFormat, GPRReg destination,
    119         GPRReg scratch1 = InvalidGPRReg, GPRReg scratch2 = InvalidGPRReg);
     118        ValueFormat, DFG::GPRReg destination,
     119        DFG::GPRReg scratch1 = InvalidGPRReg, DFG::GPRReg scratch2 = InvalidGPRReg);
    120120
    121121private:
     
    127127    }
    128128           
    129     AssemblyHelpers& m_jit;
     129    DFG::AssemblyHelpers& m_jit;
    130130    unsigned m_peekOffset;
    131131    unsigned m_gprArgumentIndex;
  • trunk/Source/JavaScriptCore/ftl/FTLCompile.cpp

    r156120 r156136  
    3030
    3131#include "CodeBlockWithJITType.h"
    32 #include "CCallHelpers.h"
     32#include "DFGCCallHelpers.h"
    3333#include "DFGCommon.h"
    3434#include "Disassembler.h"
  • trunk/Source/JavaScriptCore/ftl/FTLExitThunkGenerator.h

    r156120 r156136  
    3131#if ENABLE(FTL_JIT)
    3232
    33 #include "CCallHelpers.h"
     33#include "DFGCCallHelpers.h"
    3434
    3535namespace JSC { namespace FTL {
     
    3838struct OSRExitCompilationInfo;
    3939
    40 class ExitThunkGenerator : public CCallHelpers {
     40class ExitThunkGenerator : public DFG::CCallHelpers {
    4141public:
    4242    ExitThunkGenerator(State& state);
  • trunk/Source/JavaScriptCore/ftl/FTLLink.cpp

    r156120 r156136  
    2929#if ENABLE(FTL_JIT)
    3030
    31 #include "CCallHelpers.h"
    3231#include "CallFrameInlines.h"
    3332#include "CodeBlockWithJITType.h"
     33#include "DFGCCallHelpers.h"
    3434#include "DFGCommon.h"
    3535#include "FTLJITCode.h"
  • trunk/Source/JavaScriptCore/ftl/FTLThunks.cpp

    r156120 r156136  
    2929#if ENABLE(FTL_JIT)
    3030
    31 #include "FPRInfo.h"
     31#include "DFGGPRInfo.h"
     32#include "DFGFPRInfo.h"
    3233#include "FTLOSRExitCompiler.h"
    33 #include "GPRInfo.h"
    3434#include "LinkBuffer.h"
    3535#include "MacroAssembler.h"
  • trunk/Source/JavaScriptCore/jit/JIT.cpp

    r156120 r156136  
    7373
    7474JIT::JIT(VM* vm, CodeBlock* codeBlock)
    75     : JSInterfaceJIT(vm, codeBlock)
    76     , m_interpreter(vm->interpreter)
     75    : m_interpreter(vm->interpreter)
     76    , m_vm(vm)
     77    , m_codeBlock(codeBlock)
    7778    , m_labels(codeBlock ? codeBlock->numberOfInstructions() : 0)
    7879    , m_bytecodeOffset((unsigned)-1)
  • trunk/Source/JavaScriptCore/jit/JIT.h

    r156120 r156136  
    887887
    888888        Interpreter* m_interpreter;
     889        VM* m_vm;
     890        CodeBlock* m_codeBlock;
    889891
    890892        Vector<CallRecord> m_calls;
  • trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp

    r156120 r156136  
    5656JIT::CodeRef JIT::stringGetByValStubGenerator(VM* vm)
    5757{
    58     JSInterfaceJIT jit(vm);
     58    JSInterfaceJIT jit;
    5959    JumpList failures;
    6060    failures.append(jit.branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(vm->stringStructure.get())));
  • trunk/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp

    r156120 r156136  
    9595JIT::CodeRef JIT::stringGetByValStubGenerator(VM* vm)
    9696{
    97     JSInterfaceJIT jit(vm);
     97    JSInterfaceJIT jit;
    9898    JumpList failures;
    9999    failures.append(jit.branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(vm->stringStructure.get())));
  • trunk/Source/JavaScriptCore/jit/JSInterfaceJIT.h

    r156120 r156136  
    2828
    2929#include "BytecodeConventions.h"
    30 #include "CCallHelpers.h"
    3130#include "JITCode.h"
    3231#include "JITStubs.h"
     
    4039
    4140namespace JSC {
    42     class JSInterfaceJIT : public CCallHelpers {
     41    class JSInterfaceJIT : public MacroAssembler {
    4342    public:
    44         JSInterfaceJIT(VM* vm, CodeBlock* codeBlock = 0)
    45             : CCallHelpers(vm, codeBlock)
    46         {
    47         }
    48        
    4943        // NOTES:
    5044        //
     
    213207        void emitPutCellToCallFrameHeader(RegisterID from, JSStack::CallFrameHeaderEntry);
    214208
     209        void preserveReturnAddressAfterCall(RegisterID);
     210        void restoreReturnAddressBeforeReturn(RegisterID);
     211        void restoreReturnAddressBeforeReturn(Address);
    215212        void restoreArgumentReference();
    216213
     
    400397    }
    401398
     399#if CPU(ARM)
     400
     401    ALWAYS_INLINE void JSInterfaceJIT::preserveReturnAddressAfterCall(RegisterID reg)
     402    {
     403        move(linkRegister, reg);
     404    }
     405   
     406    ALWAYS_INLINE void JSInterfaceJIT::restoreReturnAddressBeforeReturn(RegisterID reg)
     407    {
     408        move(reg, linkRegister);
     409    }
     410   
     411    ALWAYS_INLINE void JSInterfaceJIT::restoreReturnAddressBeforeReturn(Address address)
     412    {
     413        loadPtr(address, linkRegister);
     414    }
     415#elif CPU(SH4)
     416
     417    ALWAYS_INLINE void JSInterfaceJIT::preserveReturnAddressAfterCall(RegisterID reg)
     418    {
     419        m_assembler.stspr(reg);
     420    }
     421   
     422    ALWAYS_INLINE void JSInterfaceJIT::restoreReturnAddressBeforeReturn(RegisterID reg)
     423    {
     424        m_assembler.ldspr(reg);
     425    }
     426   
     427    ALWAYS_INLINE void JSInterfaceJIT::restoreReturnAddressBeforeReturn(Address address)
     428    {
     429        loadPtrLinkReg(address);
     430    }
     431   
     432#elif CPU(MIPS)
     433
     434    ALWAYS_INLINE void JSInterfaceJIT::preserveReturnAddressAfterCall(RegisterID reg)
     435    {
     436        move(returnAddressRegister, reg);
     437    }
     438   
     439    ALWAYS_INLINE void JSInterfaceJIT::restoreReturnAddressBeforeReturn(RegisterID reg)
     440    {
     441        move(reg, returnAddressRegister);
     442    }
     443   
     444    ALWAYS_INLINE void JSInterfaceJIT::restoreReturnAddressBeforeReturn(Address address)
     445    {
     446        loadPtr(address, returnAddressRegister);
     447    }
     448   
     449#else // CPU(X86) || CPU(X86_64)
     450
     451    ALWAYS_INLINE void JSInterfaceJIT::preserveReturnAddressAfterCall(RegisterID reg)
     452    {
     453        pop(reg);
     454    }
     455   
     456    ALWAYS_INLINE void JSInterfaceJIT::restoreReturnAddressBeforeReturn(RegisterID reg)
     457    {
     458        push(reg);
     459    }
     460   
     461    ALWAYS_INLINE void JSInterfaceJIT::restoreReturnAddressBeforeReturn(Address address)
     462    {
     463        push(address);
     464    }
     465   
     466#endif
     467
    402468    ALWAYS_INLINE void JSInterfaceJIT::restoreArgumentReference()
    403469    {
  • trunk/Source/JavaScriptCore/jit/SpecializedThunkJIT.h

    r156120 r156136  
    3838    public:
    3939        static const int ThisArgument = -1;
    40         SpecializedThunkJIT(VM* vm, int expectedArgCount)
    41             : JSInterfaceJIT(vm)
     40        SpecializedThunkJIT(int expectedArgCount)
    4241        {
    4342            // Check that we have the expected number of arguments
     
    132131        }
    133132       
    134         MacroAssemblerCodeRef finalize(MacroAssemblerCodePtr fallback, const char* thunkKind)
     133        MacroAssemblerCodeRef finalize(VM& vm, MacroAssemblerCodePtr fallback, const char* thunkKind)
    135134        {
    136             LinkBuffer patchBuffer(*m_vm, this, GLOBAL_THUNK_ID);
     135            LinkBuffer patchBuffer(vm, this, GLOBAL_THUNK_ID);
    137136            patchBuffer.link(m_failures, CodeLocationLabel(fallback));
    138137            for (unsigned i = 0; i < m_calls.size(); i++)
  • trunk/Source/JavaScriptCore/jit/ThunkGenerators.cpp

    r156120 r156136  
    6262static MacroAssemblerCodeRef linkForGenerator(VM* vm, FunctionPtr lazyLink, FunctionPtr notJSFunction, const char* name)
    6363{
    64     JSInterfaceJIT jit(vm);
     64    JSInterfaceJIT jit;
    6565   
    6666    JSInterfaceJIT::JumpList slowCase;
     
    115115static MacroAssemblerCodeRef virtualForGenerator(VM* vm, FunctionPtr compile, FunctionPtr notJSFunction, const char* name, CodeSpecializationKind kind)
    116116{
    117     JSInterfaceJIT jit(vm);
     117    JSInterfaceJIT jit;
    118118   
    119119    JSInterfaceJIT::JumpList slowCase;
     
    170170MacroAssemblerCodeRef stringLengthTrampolineGenerator(VM* vm)
    171171{
    172     JSInterfaceJIT jit(vm);
     172    JSInterfaceJIT jit;
    173173   
    174174#if USE(JSVALUE64)
     
    232232    int executableOffsetToFunction = NativeExecutable::offsetOfNativeFunctionFor(kind);
    233233   
    234     JSInterfaceJIT jit(vm);
     234    JSInterfaceJIT jit;
    235235   
    236236    jit.emitPutImmediateToCallFrameHeader(0, JSStack::CodeBlock);
     
    422422MacroAssemblerCodeRef arityFixup(VM* vm)
    423423{
    424     JSInterfaceJIT jit(vm);
     424    JSInterfaceJIT jit;
    425425
    426426    // We enter with fixup count in regT0
     
    540540MacroAssemblerCodeRef charCodeAtThunkGenerator(VM* vm)
    541541{
    542     SpecializedThunkJIT jit(vm, 1);
     542    SpecializedThunkJIT jit(1);
    543543    stringCharLoad(jit, vm);
    544544    jit.returnInt32(SpecializedThunkJIT::regT0);
    545     return jit.finalize(vm->jitStubs->ctiNativeCall(vm), "charCodeAt");
     545    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "charCodeAt");
    546546}
    547547
    548548MacroAssemblerCodeRef charAtThunkGenerator(VM* vm)
    549549{
    550     SpecializedThunkJIT jit(vm, 1);
     550    SpecializedThunkJIT jit(1);
    551551    stringCharLoad(jit, vm);
    552552    charToString(jit, vm, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT1);
    553553    jit.returnJSCell(SpecializedThunkJIT::regT0);
    554     return jit.finalize(vm->jitStubs->ctiNativeCall(vm), "charAt");
     554    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "charAt");
    555555}
    556556
    557557MacroAssemblerCodeRef fromCharCodeThunkGenerator(VM* vm)
    558558{
    559     SpecializedThunkJIT jit(vm, 1);
     559    SpecializedThunkJIT jit(1);
    560560    // load char code
    561561    jit.loadInt32Argument(0, SpecializedThunkJIT::regT0);
    562562    charToString(jit, vm, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT1);
    563563    jit.returnJSCell(SpecializedThunkJIT::regT0);
    564     return jit.finalize(vm->jitStubs->ctiNativeCall(vm), "fromCharCode");
     564    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "fromCharCode");
    565565}
    566566
    567567MacroAssemblerCodeRef sqrtThunkGenerator(VM* vm)
    568568{
    569     SpecializedThunkJIT jit(vm, 1);
     569    SpecializedThunkJIT jit(1);
    570570    if (!jit.supportsFloatingPointSqrt())
    571571        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
     
    574574    jit.sqrtDouble(SpecializedThunkJIT::fpRegT0, SpecializedThunkJIT::fpRegT0);
    575575    jit.returnDouble(SpecializedThunkJIT::fpRegT0);
    576     return jit.finalize(vm->jitStubs->ctiNativeCall(vm), "sqrt");
     576    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "sqrt");
    577577}
    578578
     
    669669MacroAssemblerCodeRef floorThunkGenerator(VM* vm)
    670670{
    671     SpecializedThunkJIT jit(vm, 1);
     671    SpecializedThunkJIT jit(1);
    672672    MacroAssembler::Jump nonIntJump;
    673673    if (!UnaryDoubleOpWrapper(floor) || !jit.supportsFloatingPoint())
     
    696696    doubleResult.link(&jit);
    697697    jit.returnDouble(SpecializedThunkJIT::fpRegT0);
    698     return jit.finalize(vm->jitStubs->ctiNativeCall(vm), "floor");
     698    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "floor");
    699699}
    700700
    701701MacroAssemblerCodeRef ceilThunkGenerator(VM* vm)
    702702{
    703     SpecializedThunkJIT jit(vm, 1);
     703    SpecializedThunkJIT jit(1);
    704704    if (!UnaryDoubleOpWrapper(ceil) || !jit.supportsFloatingPoint())
    705705        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
     
    715715    doubleResult.link(&jit);
    716716    jit.returnDouble(SpecializedThunkJIT::fpRegT0);
    717     return jit.finalize(vm->jitStubs->ctiNativeCall(vm), "ceil");
     717    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "ceil");
    718718}
    719719
    720720MacroAssemblerCodeRef roundThunkGenerator(VM* vm)
    721721{
    722     SpecializedThunkJIT jit(vm, 1);
     722    SpecializedThunkJIT jit(1);
    723723    if (!UnaryDoubleOpWrapper(jsRound) || !jit.supportsFloatingPoint())
    724724        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
     
    749749    doubleResult.link(&jit);
    750750    jit.returnDouble(SpecializedThunkJIT::fpRegT0);
    751     return jit.finalize(vm->jitStubs->ctiNativeCall(vm), "round");
     751    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "round");
    752752}
    753753
     
    756756    if (!UnaryDoubleOpWrapper(exp))
    757757        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
    758     SpecializedThunkJIT jit(vm, 1);
     758    SpecializedThunkJIT jit(1);
    759759    if (!jit.supportsFloatingPoint())
    760760        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
     
    762762    jit.callDoubleToDoublePreservingReturn(UnaryDoubleOpWrapper(exp));
    763763    jit.returnDouble(SpecializedThunkJIT::fpRegT0);
    764     return jit.finalize(vm->jitStubs->ctiNativeCall(vm), "exp");
     764    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "exp");
    765765}
    766766
     
    769769    if (!UnaryDoubleOpWrapper(log))
    770770        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
    771     SpecializedThunkJIT jit(vm, 1);
     771    SpecializedThunkJIT jit(1);
    772772    if (!jit.supportsFloatingPoint())
    773773        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
     
    775775    jit.callDoubleToDoublePreservingReturn(UnaryDoubleOpWrapper(log));
    776776    jit.returnDouble(SpecializedThunkJIT::fpRegT0);
    777     return jit.finalize(vm->jitStubs->ctiNativeCall(vm), "log");
     777    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "log");
    778778}
    779779
    780780MacroAssemblerCodeRef absThunkGenerator(VM* vm)
    781781{
    782     SpecializedThunkJIT jit(vm, 1);
     782    SpecializedThunkJIT jit(1);
    783783    if (!jit.supportsFloatingPointAbs())
    784784        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
     
    795795    jit.absDouble(SpecializedThunkJIT::fpRegT0, SpecializedThunkJIT::fpRegT1);
    796796    jit.returnDouble(SpecializedThunkJIT::fpRegT1);
    797     return jit.finalize(vm->jitStubs->ctiNativeCall(vm), "abs");
     797    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "abs");
    798798}
    799799
    800800MacroAssemblerCodeRef powThunkGenerator(VM* vm)
    801801{
    802     SpecializedThunkJIT jit(vm, 2);
     802    SpecializedThunkJIT jit(2);
    803803    if (!jit.supportsFloatingPoint())
    804804        return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm));
     
    847847        jit.appendFailure(nonIntExponent);
    848848
    849     return jit.finalize(vm->jitStubs->ctiNativeCall(vm), "pow");
     849    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "pow");
    850850}
    851851
    852852MacroAssemblerCodeRef imulThunkGenerator(VM* vm)
    853853{
    854     SpecializedThunkJIT jit(vm, 2);
     854    SpecializedThunkJIT jit(2);
    855855    MacroAssembler::Jump nonIntArg0Jump;
    856856    jit.loadInt32Argument(0, SpecializedThunkJIT::regT0, nonIntArg0Jump);
     
    880880        jit.appendFailure(nonIntArg1Jump);
    881881
    882     return jit.finalize(vm->jitStubs->ctiNativeCall(vm), "imul");
     882    return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "imul");
    883883}
    884884
  • trunk/Source/JavaScriptCore/llint/LLIntThunks.cpp

    r156120 r156136  
    4141static MacroAssemblerCodeRef generateThunkWithJumpTo(VM* vm, void (*target)(), const char *thunkKind)
    4242{
    43     JSInterfaceJIT jit(vm);
     43    JSInterfaceJIT jit;
    4444   
    4545    // FIXME: there's probably a better way to do it on X86, but I'm not sure I care.
  • trunk/Source/JavaScriptCore/runtime/JSCJSValue.h

    r156120 r156136  
    4141#define QNaN (std::numeric_limits<double>::quiet_NaN())
    4242
    43 class AssemblyHelpers;
    4443class ExecState;
    4544class JSCell;
    46 class JSValueSource;
    4745class VM;
    4846class JSGlobalObject;
     
    5452#if ENABLE(DFG_JIT)
    5553namespace DFG {
     54class AssemblyHelpers;
    5655class JITCompiler;
     56class JITCodeGenerator;
     57class JSValueSource;
    5758class OSRExitCompiler;
    5859class SpeculativeJIT;
     
    116117class JSValue {
    117118    friend struct EncodedJSValueHashTraits;
    118     friend class AssemblyHelpers;
    119119    friend class JIT;
    120120    friend class JITSlowPathCall;
     
    122122    friend class JITStubCall;
    123123    friend class JSInterfaceJIT;
    124     friend class JSValueSource;
    125124    friend class SpecializedThunkJIT;
    126125#if ENABLE(DFG_JIT)
     126    friend class DFG::AssemblyHelpers;
    127127    friend class DFG::JITCompiler;
     128    friend class DFG::JITCodeGenerator;
     129    friend class DFG::JSValueSource;
    128130    friend class DFG::OSRExitCompiler;
    129131    friend class DFG::SpeculativeJIT;
Note: See TracChangeset for help on using the changeset viewer.