Changeset 156136 in webkit
- Timestamp:
- Sep 19, 2013 7:05:21 PM (11 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 5 added
- 5 deleted
- 37 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/CMakeLists.txt
r156120 r156136 81 81 dfg/DFGArgumentsSimplificationPhase.cpp 82 82 dfg/DFGArrayMode.cpp 83 dfg/DFGAssemblyHelpers.cpp 83 84 dfg/DFGAtTailAbstractState.cpp 84 85 dfg/DFGBackwardsPropagationPhase.cpp … … 209 210 interpreter/VMInspector.cpp 210 211 211 jit/AssemblyHelpers.cpp212 212 jit/ClosureCallStubRoutine.cpp 213 213 jit/ExecutableAllocator.cpp -
trunk/Source/JavaScriptCore/ChangeLog
r156126 r156136 1 2013-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 1 165 2013-09-19 Filip Pizlo <fpizlo@apple.com> 2 166 -
trunk/Source/JavaScriptCore/GNUmakefile.list.am
r156120 r156136 193 193 Source/JavaScriptCore/dfg/DFGArrayMode.h \ 194 194 Source/JavaScriptCore/dfg/DFGArrayifySlowPathGenerator.h \ 195 Source/JavaScriptCore/dfg/DFGAssemblyHelpers.cpp \ 196 Source/JavaScriptCore/dfg/DFGAssemblyHelpers.h \ 195 197 Source/JavaScriptCore/dfg/DFGAtTailAbstractState.cpp \ 196 198 Source/JavaScriptCore/dfg/DFGAtTailAbstractState.h \ … … 207 209 Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp \ 208 210 Source/JavaScriptCore/dfg/DFGByteCodeParser.h \ 211 Source/JavaScriptCore/dfg/DFGCCallHelpers.h \ 209 212 Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.cpp \ 210 213 Source/JavaScriptCore/dfg/DFGCFGSimplificationPhase.h \ … … 259 262 Source/JavaScriptCore/dfg/DFGEdgeDominates.h \ 260 263 Source/JavaScriptCore/dfg/DFGEdgeUsesStructure.h \ 264 Source/JavaScriptCore/dfg/DFGFPRInfo.h \ 261 265 Source/JavaScriptCore/dfg/DFGFailedFinalizer.cpp \ 262 266 Source/JavaScriptCore/dfg/DFGFailedFinalizer.h \ … … 271 275 Source/JavaScriptCore/dfg/DFGFlushLivenessAnalysisPhase.h \ 272 276 Source/JavaScriptCore/dfg/DFGGenerationInfo.h \ 277 Source/JavaScriptCore/dfg/DFGGPRInfo.h \ 273 278 Source/JavaScriptCore/dfg/DFGGenerationInfo.h \ 274 279 Source/JavaScriptCore/dfg/DFGGraph.cpp \ … … 600 605 Source/JavaScriptCore/interpreter/VMInspector.h \ 601 606 Source/JavaScriptCore/JavaScriptCorePrefix.h \ 602 Source/JavaScriptCore/jit/AssemblyHelpers.cpp \603 Source/JavaScriptCore/jit/AssemblyHelpers.h \604 Source/JavaScriptCore/jit/CCallHelpers.h \605 607 Source/JavaScriptCore/jit/CompactJITCodeMap.h \ 606 608 Source/JavaScriptCore/jit/ClosureCallStubRoutine.cpp \ … … 609 611 Source/JavaScriptCore/jit/ExecutableAllocator.h \ 610 612 Source/JavaScriptCore/jit/ExecutableAllocatorFixedVMPool.cpp \ 611 Source/JavaScriptCore/jit/FPRInfo.h \612 613 Source/JavaScriptCore/jit/GCAwareJITStubRoutine.cpp \ 613 614 Source/JavaScriptCore/jit/GCAwareJITStubRoutine.h \ 614 Source/JavaScriptCore/jit/GPRInfo.h \615 615 Source/JavaScriptCore/jit/HostCallReturnValue.cpp \ 616 616 Source/JavaScriptCore/jit/HostCallReturnValue.h \ -
trunk/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj
r156120 r156136 363 363 <ClCompile Include="..\interpreter\StackVisitor.cpp" /> 364 364 <ClCompile Include="..\interpreter\VMInspector.cpp" /> 365 <ClCompile Include="..\jit\AssemblyHelpers.cpp" />366 365 <ClCompile Include="..\jit\ClosureCallStubRoutine.cpp" /> 367 366 <ClCompile Include="..\jit\ExecutableAllocator.cpp" /> … … 753 752 <ClInclude Include="..\interpreter\StackVisitor.h" /> 754 753 <ClInclude Include="..\interpreter\VMInspector.h" /> 755 <ClInclude Include="..\jit\AssemblyHelpers.h" />756 <ClInclude Include="..\jit\CCallHelpers.h" />757 754 <ClInclude Include="..\jit\ClosureCallStubRoutine.h" /> 758 755 <ClInclude Include="..\jit\CompactJITCodeMap.h" /> 759 756 <ClInclude Include="..\jit\ExecutableAllocator.h" /> 760 <ClInclude Include="..\jit\FPRInfo.h" />761 757 <ClInclude Include="..\jit\GCAwareJITStubRoutine.h" /> 762 <ClInclude Include="..\jit\GPRInfo.h" />763 758 <ClInclude Include="..\jit\HostCallReturnValue.h" /> 764 759 <ClInclude Include="..\jit\JIT.h" /> -
trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
r156120 r156136 114 114 0F235BEE17178E7300690C7F /* DFGOSRExitPreparation.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F235BEA17178E7300690C7F /* DFGOSRExitPreparation.h */; settings = {ATTRIBUTES = (Private, ); }; }; 115 115 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, ); }; };121 116 0F256C361627B0AD007F2783 /* DFGCallArrayAllocatorSlowPathGenerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F256C341627B0AA007F2783 /* DFGCallArrayAllocatorSlowPathGenerator.h */; settings = {ATTRIBUTES = (Private, ); }; }; 122 117 0F2B66AC17B6B53F00A7AE3F /* GCIncomingRefCounted.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66A817B6B53D00A7AE3F /* GCIncomingRefCounted.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 268 263 0F766D4615B3701F008F363E /* DFGScratchRegisterAllocator.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F766D4515B3701D008F363E /* DFGScratchRegisterAllocator.h */; settings = {ATTRIBUTES = (Private, ); }; }; 269 264 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, ); }; }; 270 266 0F7B294B14C3CD2F007C3DB1 /* DFGCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FD82E1F14172C2F00179C94 /* DFGCapabilities.h */; settings = {ATTRIBUTES = (Private, ); }; }; 271 267 0F7B294D14C3CD4C007C3DB1 /* DFGCommon.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FC0977E1469EBC400CF2442 /* DFGCommon.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 345 341 0FBE0F7716C1DB120082C5E8 /* DFGUnificationPhase.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FBE0F7016C1DB010082C5E8 /* DFGUnificationPhase.h */; settings = {ATTRIBUTES = (Private, ); }; }; 346 342 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 */; }; 347 345 0FC0977114693AF500CF2442 /* DFGOSRExitCompiler.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FC0976F14693AEF00CF2442 /* DFGOSRExitCompiler.h */; settings = {ATTRIBUTES = (Private, ); }; }; 348 346 0FC0977214693AF900CF2442 /* DFGOSRExitCompiler64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FC0977014693AEF00CF2442 /* DFGOSRExitCompiler64.cpp */; }; … … 728 726 86AE64A9135E5E1C00963012 /* MacroAssemblerSH4.h in Headers */ = {isa = PBXBuildFile; fileRef = 86AE64A6135E5E1C00963012 /* MacroAssemblerSH4.h */; settings = {ATTRIBUTES = (Private, ); }; }; 729 727 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, ); }; }; 730 730 86B5826714D2796C00A9C306 /* CodeProfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86B5822E14D2373B00A9C306 /* CodeProfile.cpp */; }; 731 731 86B5826914D2797000A9C306 /* CodeProfiling.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 8603CEF214C7546400AE59E3 /* CodeProfiling.cpp */; }; … … 1314 1314 0F235BEA17178E7300690C7F /* DFGOSRExitPreparation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGOSRExitPreparation.h; path = dfg/DFGOSRExitPreparation.h; sourceTree = "<group>"; }; 1315 1315 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>"; };1321 1316 0F256C341627B0AA007F2783 /* DFGCallArrayAllocatorSlowPathGenerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGCallArrayAllocatorSlowPathGenerator.h; path = dfg/DFGCallArrayAllocatorSlowPathGenerator.h; sourceTree = "<group>"; }; 1322 1317 0F2B66A817B6B53D00A7AE3F /* GCIncomingRefCounted.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GCIncomingRefCounted.h; sourceTree = "<group>"; }; … … 1468 1463 0F77008E1402FDD60078EB39 /* SamplingCounter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SamplingCounter.h; sourceTree = "<group>"; }; 1469 1464 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>"; }; 1470 1466 0F8023E91613832300A0BA45 /* ByValInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ByValInfo.h; sourceTree = "<group>"; }; 1471 1467 0F8335B41639C1E3001443B5 /* ArrayAllocationProfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ArrayAllocationProfile.cpp; sourceTree = "<group>"; }; … … 1554 1550 0FBE0F7016C1DB010082C5E8 /* DFGUnificationPhase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGUnificationPhase.h; path = dfg/DFGUnificationPhase.h; sourceTree = "<group>"; }; 1555 1551 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>"; }; 1556 1554 0FC0976F14693AEF00CF2442 /* DFGOSRExitCompiler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGOSRExitCompiler.h; path = dfg/DFGOSRExitCompiler.h; sourceTree = "<group>"; }; 1557 1555 0FC0977014693AEF00CF2442 /* DFGOSRExitCompiler64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGOSRExitCompiler64.cpp; path = dfg/DFGOSRExitCompiler64.cpp; sourceTree = "<group>"; }; … … 1920 1918 86AE64A6135E5E1C00963012 /* MacroAssemblerSH4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MacroAssemblerSH4.h; sourceTree = "<group>"; }; 1921 1919 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>"; }; 1922 1922 86B5822C14D22F5F00A9C306 /* ProfileTreeNode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ProfileTreeNode.h; sourceTree = "<group>"; }; 1923 1923 86B5822E14D2373B00A9C306 /* CodeProfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CodeProfile.cpp; sourceTree = "<group>"; }; … … 2705 2705 isa = PBXGroup; 2706 2706 children = ( 2707 0F24E53B17EA9F5900ABB217 /* AssemblyHelpers.cpp */,2708 0F24E53C17EA9F5900ABB217 /* AssemblyHelpers.h */,2709 0F24E53D17EA9F5900ABB217 /* CCallHelpers.h */,2710 0F24E53E17EA9F5900ABB217 /* FPRInfo.h */,2711 0F24E53F17EA9F5900ABB217 /* GPRInfo.h */,2712 2707 0F73D7AB165A142A00ACAB71 /* ClosureCallStubRoutine.cpp */, 2713 2708 0F73D7AC165A142A00ACAB71 /* ClosureCallStubRoutine.h */, … … 3471 3466 0F63948115E48114006A597C /* DFGArrayMode.cpp */, 3472 3467 0F63948215E48114006A597C /* DFGArrayMode.h */, 3468 0FC0976B1468AB4A00CF2442 /* DFGAssemblyHelpers.cpp */, 3469 0FC0976C1468AB4A00CF2442 /* DFGAssemblyHelpers.h */, 3473 3470 A7D9A28F17A0BC7400EE2618 /* DFGAtTailAbstractState.cpp */, 3474 3471 A7D9A29017A0BC7400EE2618 /* DFGAtTailAbstractState.h */, … … 3488 3485 0FD82E1E14172C2F00179C94 /* DFGCapabilities.cpp */, 3489 3486 0FD82E1F14172C2F00179C94 /* DFGCapabilities.h */, 3487 0F7B294814C3CD23007C3DB1 /* DFGCCallHelpers.h */, 3490 3488 0FFFC94B14EF909500C72532 /* DFGCFAPhase.cpp */, 3491 3489 0FFFC94C14EF909500C72532 /* DFGCFAPhase.h */, … … 3548 3546 A7D89CEA17A0B8CC00773AD8 /* DFGFlushLivenessAnalysisPhase.cpp */, 3549 3547 A7D89CEB17A0B8CC00773AD8 /* DFGFlushLivenessAnalysisPhase.h */, 3548 86AE6C4B136A11E400963012 /* DFGFPRInfo.h */, 3550 3549 86EC9DB61328DF82002B2AD7 /* DFGGenerationInfo.h */, 3550 86AE6C4C136A11E400963012 /* DFGGPRInfo.h */, 3551 3551 86EC9DB71328DF82002B2AD7 /* DFGGraph.cpp */, 3552 3552 86EC9DB81328DF82002B2AD7 /* DFGGraph.h */, … … 3910 3910 6553A33217A1F1EE008CF6F3 /* CommonSlowPathsExceptions.h in Headers */, 3911 3911 0FD82E39141AB14D00179C94 /* CompactJITCodeMap.h in Headers */, 3912 0F24E54417EA9F5900ABB217 /* GPRInfo.h in Headers */,3913 3912 A7E5A3A81797432D00E893C0 /* CompilationResult.h in Headers */, 3914 3913 BC18C3F40E16F5CD00B34460 /* Completion.h in Headers */, … … 3951 3950 0F05C3B41683CF9200BAF45B /* DFGArrayifySlowPathGenerator.h in Headers */, 3952 3951 0F63948515E4811B006A597C /* DFGArrayMode.h in Headers */, 3952 0FC0976D1468AB4E00CF2442 /* DFGAssemblyHelpers.h in Headers */, 3953 3953 A7D9A29517A0BC7400EE2618 /* DFGAtTailAbstractState.h in Headers */, 3954 3954 0F714CA516EA92F200F3EBEB /* DFGBackwardsPropagationPhase.h in Headers */, … … 3961 3961 0F256C361627B0AD007F2783 /* DFGCallArrayAllocatorSlowPathGenerator.h in Headers */, 3962 3962 0F7B294B14C3CD2F007C3DB1 /* DFGCapabilities.h in Headers */, 3963 0F7B294A14C3CD29007C3DB1 /* DFGCCallHelpers.h in Headers */, 3963 3964 0FFFC95814EF90A200C72532 /* DFGCFAPhase.h in Headers */, 3964 3965 0F3B3A281544C997003ED0FF /* DFGCFGSimplificationPhase.h in Headers */, … … 3994 3995 A7D89CF817A0B8CC00773AD8 /* DFGFlushFormat.h in Headers */, 3995 3996 A7D89CFA17A0B8CC00773AD8 /* DFGFlushLivenessAnalysisPhase.h in Headers */, 3997 86AE6C4D136A11E400963012 /* DFGFPRInfo.h in Headers */, 3996 3998 86EC9DC61328DF82002B2AD7 /* DFGGenerationInfo.h in Headers */, 3999 86AE6C4E136A11E400963012 /* DFGGPRInfo.h in Headers */, 3997 4000 86EC9DC81328DF82002B2AD7 /* DFGGraph.h in Headers */, 3998 4001 A704D90617A0BAA8006BA554 /* DFGInPlaceAbstractState.h in Headers */, … … 4136 4139 C2E526BE1590EF000054E48D /* HeapTimer.h in Headers */, 4137 4140 0F4680D514BBD24B00BFE272 /* HostCallReturnValue.h in Headers */, 4138 0F24E54317EA9F5900ABB217 /* FPRInfo.h in Headers */,4139 4141 BC18C40F0E16F5CD00B34460 /* Identifier.h in Headers */, 4140 4142 C25F8BCE157544A900245B71 /* IncrementalSweeper.h in Headers */, … … 4211 4213 A72028BA1797603D0098028C /* JSFunctionInlines.h in Headers */, 4212 4214 0F2B66F117B6B5AB00A7AE3F /* JSGenericTypedArrayView.h in Headers */, 4213 0F24E54117EA9F5900ABB217 /* AssemblyHelpers.h in Headers */,4214 4215 0F2B66F217B6B5AB00A7AE3F /* JSGenericTypedArrayViewConstructor.h in Headers */, 4215 4216 0F2B66F317B6B5AB00A7AE3F /* JSGenericTypedArrayViewConstructorInlines.h in Headers */, … … 4380 4381 0FB1058E1675483A00F8AB6E /* ProfilerOSRExitSite.h in Headers */, 4381 4382 0F13912C16771C3D009CCB07 /* ProfilerProfiledBytecodes.h in Headers */, 4382 0F24E54217EA9F5900ABB217 /* CCallHelpers.h in Headers */,4383 4383 A7FB61001040C38B0017A286 /* PropertyDescriptor.h in Headers */, 4384 4384 BC95437D0EBA70FD0072B6D3 /* PropertyMapHashTable.h in Headers */, … … 4900 4900 0F16015D156198C900C2587C /* DFGArgumentsSimplificationPhase.cpp in Sources */, 4901 4901 0F63948415E48118006A597C /* DFGArrayMode.cpp in Sources */, 4902 0FC0976E1468AB5100CF2442 /* DFGAssemblyHelpers.cpp in Sources */, 4902 4903 A7D9A29417A0BC7400EE2618 /* DFGAtTailAbstractState.cpp in Sources */, 4903 4904 0F714CA416EA92F000F3EBEB /* DFGBackwardsPropagationPhase.cpp in Sources */, … … 4962 4963 0F235BED17178E7300690C7F /* DFGOSRExitPreparation.cpp in Sources */, 4963 4964 0FFFC95B14EF90AD00C72532 /* DFGPhase.cpp in Sources */, 4964 0F24E54017EA9F5900ABB217 /* AssemblyHelpers.cpp in Sources */,4965 4965 A78A977A179738B8009DF744 /* DFGPlan.cpp in Sources */, 4966 4966 0FBE0F7416C1DB090082C5E8 /* DFGPredictionInjectionPhase.cpp in Sources */, -
trunk/Source/JavaScriptCore/Target.pri
r156120 r156136 118 118 dfg/DFGArgumentsSimplificationPhase.cpp \ 119 119 dfg/DFGArrayMode.cpp \ 120 dfg/DFGAssemblyHelpers.cpp \ 120 121 dfg/DFGAtTailAbstractState.cpp \ 121 122 dfg/DFGBackwardsPropagationPhase.cpp \ … … 206 207 interpreter/JSStack.cpp \ 207 208 interpreter/StackVisitor.cpp \ 208 jit/AssemblyHelpers.cpp \209 209 jit/ClosureCallStubRoutine.cpp \ 210 210 jit/ExecutableAllocatorFixedVMPool.cpp \ -
trunk/Source/JavaScriptCore/bytecode/ValueRecovery.h
r156120 r156136 28 28 29 29 #include "DataFormat.h" 30 #include "GPRInfo.h"31 #include "FPRInfo.h"32 30 #include "JSCJSValue.h" 33 31 #include "MacroAssembler.h" … … 326 324 return; 327 325 case InGPR: 328 out.print (gpr());326 out.printf("%%r%d", gpr()); 329 327 return; 330 328 case UnboxedInt32InGPR: 331 out.print ("int32(", gpr(), ")");329 out.printf("int32(%%r%d)", gpr()); 332 330 return; 333 331 case UnboxedInt52InGPR: 334 out.print ("int53(", gpr(), ")");332 out.printf("int52(%%r%d)", gpr()); 335 333 return; 336 334 case UnboxedStrictInt52InGPR: 337 out.print ("strictInt52(", gpr(), ")");335 out.printf("strictInt52(%%r%d)", gpr()); 338 336 return; 339 337 case UnboxedBooleanInGPR: 340 out.print ("bool(", gpr(), ")");338 out.printf("bool(%%r%d)", gpr()); 341 339 return; 342 340 case UInt32InGPR: 343 out.print ("uint32(", gpr(), ")");341 out.printf("uint32(%%r%d)", gpr()); 344 342 return; 345 343 case InFPR: 346 out.print (fpr());344 out.printf("%%fr%d", fpr()); 347 345 return; 348 346 #if USE(JSVALUE32_64) 349 347 case InPair: 350 out.print ("pair(", tagGPR(), ", ", payloadGPR(), ")");348 out.printf("pair(%%r%d, %%r%d)", tagGPR(), payloadGPR()); 351 349 return; 352 350 #endif -
trunk/Source/JavaScriptCore/dfg/DFGBinarySwitch.h
r156120 r156136 31 31 #if ENABLE(DFG_JIT) 32 32 33 #include " GPRInfo.h"33 #include "DFGGPRInfo.h" 34 34 #include "MacroAssembler.h" 35 35 -
trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
r156120 r156136 35 35 #include "DFGArrayMode.h" 36 36 #include "DFGCapabilities.h" 37 #include "DFGJITCode.h"38 37 #include "GetByIdStatus.h" 39 38 #include "Operations.h" -
trunk/Source/JavaScriptCore/dfg/DFGDisassembler.cpp
r156120 r156136 31 31 #include "CodeBlockWithJITType.h" 32 32 #include "DFGGraph.h" 33 #include "DFGJITCode.h"34 33 #include <wtf/StdLibExtras.h> 35 34 -
trunk/Source/JavaScriptCore/dfg/DFGGraph.cpp
r156120 r156136 30 30 #include "CodeBlockWithJITType.h" 31 31 #include "DFGClobberSet.h" 32 #include "DFGJITCode.h"33 32 #include "DFGVariableAccessDataDump.h" 34 33 #include "FunctionExecutableDump.h" -
trunk/Source/JavaScriptCore/dfg/DFGGraph.h
r156120 r156136 31 31 #if ENABLE(DFG_JIT) 32 32 33 #include "AssemblyHelpers.h"34 33 #include "CodeBlock.h" 35 34 #include "DFGArgumentPosition.h" 35 #include "DFGAssemblyHelpers.h" 36 36 #include "DFGBasicBlock.h" 37 37 #include "DFGDominators.h" -
trunk/Source/JavaScriptCore/dfg/DFGJITCompiler.h
r156120 r156136 29 29 #if ENABLE(DFG_JIT) 30 30 31 #include "CCallHelpers.h"32 31 #include "CallFrameInlines.h" 33 32 #include "CodeBlock.h" 33 #include "DFGCCallHelpers.h" 34 34 #include "DFGDisassembler.h" 35 #include "DFGFPRInfo.h" 36 #include "DFGGPRInfo.h" 35 37 #include "DFGGraph.h" 36 38 #include "DFGJITCode.h" … … 38 40 #include "DFGRegisterBank.h" 39 41 #include "DFGRegisterSet.h" 40 #include "FPRInfo.h"41 #include "GPRInfo.h"42 42 #include "JITCode.h" 43 43 #include "LinkBuffer.h" -
trunk/Source/JavaScriptCore/dfg/DFGOSRExit.cpp
r156120 r156136 29 29 #if ENABLE(DFG_JIT) 30 30 31 #include " AssemblyHelpers.h"31 #include "DFGAssemblyHelpers.h" 32 32 #include "DFGGraph.h" 33 33 #include "DFGSpeculativeJIT.h" -
trunk/Source/JavaScriptCore/dfg/DFGOSRExit.h
r156120 r156136 34 34 #include "DFGCommon.h" 35 35 #include "DFGExitProfile.h" 36 #include "DFGGPRInfo.h" 36 37 #include "DFGOSRExitBase.h" 37 38 #include "DFGValueRecoveryOverride.h" 38 #include "GPRInfo.h"39 39 #include "MacroAssembler.h" 40 40 #include "MethodOfGettingAValueProfile.h" -
trunk/Source/JavaScriptCore/dfg/DFGOSRExitCompiler.h
r156120 r156136 31 31 #if ENABLE(DFG_JIT) 32 32 33 #include " AssemblyHelpers.h"34 #include " CCallHelpers.h"33 #include "DFGAssemblyHelpers.h" 34 #include "DFGCCallHelpers.h" 35 35 #include "DFGOSRExit.h" 36 36 #include "DFGOperations.h" -
trunk/Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.h
r156120 r156136 31 31 #if ENABLE(DFG_JIT) 32 32 33 #include " CCallHelpers.h"33 #include "DFGCCallHelpers.h" 34 34 #include "DFGOSRExit.h" 35 35 -
trunk/Source/JavaScriptCore/dfg/DFGRegisterBank.h
r156120 r156136 30 30 31 31 #include "DFGCommon.h" 32 #include "FPRInfo.h"33 #include "GPRInfo.h"34 32 35 33 namespace JSC { namespace DFG { … … 361 359 }; 362 360 363 typedef RegisterBank<GPRInfo>::iterator gpr_iterator;364 typedef RegisterBank<FPRInfo>::iterator fpr_iterator;365 366 361 } } // namespace JSC::DFG 367 362 -
trunk/Source/JavaScriptCore/dfg/DFGRegisterSet.h
r156120 r156136 31 31 #if ENABLE(DFG_JIT) 32 32 33 #include " FPRInfo.h"34 #include " GPRInfo.h"33 #include "DFGFPRInfo.h" 34 #include "DFGGPRInfo.h" 35 35 #include <wtf/Bitmap.h> 36 36 -
trunk/Source/JavaScriptCore/dfg/DFGRepatch.cpp
r156124 r156136 29 29 #if ENABLE(DFG_JIT) 30 30 31 #include "CCallHelpers.h"32 31 #include "CallFrameInlines.h" 32 #include "DFGCCallHelpers.h" 33 33 #include "DFGScratchRegisterAllocator.h" 34 34 #include "DFGSpeculativeJIT.h" -
trunk/Source/JavaScriptCore/dfg/DFGSilentRegisterSavePlan.h
r156120 r156136 32 32 33 33 #include "DFGCommon.h" 34 #include " FPRInfo.h"35 #include " GPRInfo.h"34 #include "DFGFPRInfo.h" 35 #include "DFGGPRInfo.h" 36 36 37 37 namespace JSC { namespace DFG { -
trunk/Source/JavaScriptCore/dfg/DFGThunks.cpp
r156120 r156136 29 29 #if ENABLE(DFG_JIT) 30 30 31 #include "CCallHelpers.h" 31 #include "DFGCCallHelpers.h" 32 #include "DFGFPRInfo.h" 33 #include "DFGGPRInfo.h" 32 34 #include "DFGOSRExitCompiler.h" 33 #include "FPRInfo.h"34 #include "GPRInfo.h"35 35 #include "MacroAssembler.h" 36 36 -
trunk/Source/JavaScriptCore/dfg/DFGVariableEvent.cpp
r156120 r156136 29 29 #if ENABLE(DFG_JIT) 30 30 31 #include " FPRInfo.h"32 #include " GPRInfo.h"31 #include "DFGFPRInfo.h" 32 #include "DFGGPRInfo.h" 33 33 34 34 namespace JSC { namespace DFG { -
trunk/Source/JavaScriptCore/ftl/FTLCArgumentGetter.h
r156120 r156136 31 31 #if ENABLE(FTL_JIT) 32 32 33 #include " AssemblyHelpers.h"33 #include "DFGAssemblyHelpers.h" 34 34 #include "FTLValueFormat.h" 35 35 … … 54 54 // It will be 1 if you haven't pushed or popped after the call; i.e. the only 55 55 // thing is the return address. 56 CArgumentGetter( AssemblyHelpers& jit, int peekOffset = 1)56 CArgumentGetter(DFG::AssemblyHelpers& jit, int peekOffset = 1) 57 57 : m_jit(jit) 58 58 , m_peekOffset(peekOffset) … … 63 63 } 64 64 65 void loadNext8( GPRReg destination)65 void loadNext8(DFG::GPRReg destination) 66 66 { 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); 70 70 return; 71 71 } … … 74 74 } 75 75 76 void loadNext32( GPRReg destination)76 void loadNext32(DFG::GPRReg destination) 77 77 { 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); 81 81 return; 82 82 } … … 85 85 } 86 86 87 void loadNext64( GPRReg destination)87 void loadNext64(DFG::GPRReg destination) 88 88 { 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); 92 92 return; 93 93 } … … 96 96 } 97 97 98 void loadNextPtr( GPRReg destination)98 void loadNextPtr(DFG::GPRReg destination) 99 99 { 100 100 loadNext64(destination); 101 101 } 102 102 103 void loadNextDouble( FPRReg destination)103 void loadNextDouble(DFG::FPRReg destination) 104 104 { 105 105 ASSERT( 106 !isArgumentRegister< FPRInfo>(destination)107 || destination == FPRInfo::argumentFPR0);106 !isArgumentRegister<DFG::FPRInfo>(destination) 107 || destination == DFG::FPRInfo::argumentFPR0); 108 108 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); 111 111 return; 112 112 } … … 116 116 117 117 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); 120 120 121 121 private: … … 127 127 } 128 128 129 AssemblyHelpers& m_jit;129 DFG::AssemblyHelpers& m_jit; 130 130 unsigned m_peekOffset; 131 131 unsigned m_gprArgumentIndex; -
trunk/Source/JavaScriptCore/ftl/FTLCompile.cpp
r156120 r156136 30 30 31 31 #include "CodeBlockWithJITType.h" 32 #include " CCallHelpers.h"32 #include "DFGCCallHelpers.h" 33 33 #include "DFGCommon.h" 34 34 #include "Disassembler.h" -
trunk/Source/JavaScriptCore/ftl/FTLExitThunkGenerator.h
r156120 r156136 31 31 #if ENABLE(FTL_JIT) 32 32 33 #include " CCallHelpers.h"33 #include "DFGCCallHelpers.h" 34 34 35 35 namespace JSC { namespace FTL { … … 38 38 struct OSRExitCompilationInfo; 39 39 40 class ExitThunkGenerator : public CCallHelpers {40 class ExitThunkGenerator : public DFG::CCallHelpers { 41 41 public: 42 42 ExitThunkGenerator(State& state); -
trunk/Source/JavaScriptCore/ftl/FTLLink.cpp
r156120 r156136 29 29 #if ENABLE(FTL_JIT) 30 30 31 #include "CCallHelpers.h"32 31 #include "CallFrameInlines.h" 33 32 #include "CodeBlockWithJITType.h" 33 #include "DFGCCallHelpers.h" 34 34 #include "DFGCommon.h" 35 35 #include "FTLJITCode.h" -
trunk/Source/JavaScriptCore/ftl/FTLThunks.cpp
r156120 r156136 29 29 #if ENABLE(FTL_JIT) 30 30 31 #include "FPRInfo.h" 31 #include "DFGGPRInfo.h" 32 #include "DFGFPRInfo.h" 32 33 #include "FTLOSRExitCompiler.h" 33 #include "GPRInfo.h"34 34 #include "LinkBuffer.h" 35 35 #include "MacroAssembler.h" -
trunk/Source/JavaScriptCore/jit/JIT.cpp
r156120 r156136 73 73 74 74 JIT::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) 77 78 , m_labels(codeBlock ? codeBlock->numberOfInstructions() : 0) 78 79 , m_bytecodeOffset((unsigned)-1) -
trunk/Source/JavaScriptCore/jit/JIT.h
r156120 r156136 887 887 888 888 Interpreter* m_interpreter; 889 VM* m_vm; 890 CodeBlock* m_codeBlock; 889 891 890 892 Vector<CallRecord> m_calls; -
trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp
r156120 r156136 56 56 JIT::CodeRef JIT::stringGetByValStubGenerator(VM* vm) 57 57 { 58 JSInterfaceJIT jit (vm);58 JSInterfaceJIT jit; 59 59 JumpList failures; 60 60 failures.append(jit.branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(vm->stringStructure.get()))); -
trunk/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp
r156120 r156136 95 95 JIT::CodeRef JIT::stringGetByValStubGenerator(VM* vm) 96 96 { 97 JSInterfaceJIT jit (vm);97 JSInterfaceJIT jit; 98 98 JumpList failures; 99 99 failures.append(jit.branchPtr(NotEqual, Address(regT0, JSCell::structureOffset()), TrustedImmPtr(vm->stringStructure.get()))); -
trunk/Source/JavaScriptCore/jit/JSInterfaceJIT.h
r156120 r156136 28 28 29 29 #include "BytecodeConventions.h" 30 #include "CCallHelpers.h"31 30 #include "JITCode.h" 32 31 #include "JITStubs.h" … … 40 39 41 40 namespace JSC { 42 class JSInterfaceJIT : public CCallHelpers{41 class JSInterfaceJIT : public MacroAssembler { 43 42 public: 44 JSInterfaceJIT(VM* vm, CodeBlock* codeBlock = 0)45 : CCallHelpers(vm, codeBlock)46 {47 }48 49 43 // NOTES: 50 44 // … … 213 207 void emitPutCellToCallFrameHeader(RegisterID from, JSStack::CallFrameHeaderEntry); 214 208 209 void preserveReturnAddressAfterCall(RegisterID); 210 void restoreReturnAddressBeforeReturn(RegisterID); 211 void restoreReturnAddressBeforeReturn(Address); 215 212 void restoreArgumentReference(); 216 213 … … 400 397 } 401 398 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 402 468 ALWAYS_INLINE void JSInterfaceJIT::restoreArgumentReference() 403 469 { -
trunk/Source/JavaScriptCore/jit/SpecializedThunkJIT.h
r156120 r156136 38 38 public: 39 39 static const int ThisArgument = -1; 40 SpecializedThunkJIT(VM* vm, int expectedArgCount) 41 : JSInterfaceJIT(vm) 40 SpecializedThunkJIT(int expectedArgCount) 42 41 { 43 42 // Check that we have the expected number of arguments … … 132 131 } 133 132 134 MacroAssemblerCodeRef finalize( MacroAssemblerCodePtr fallback, const char* thunkKind)133 MacroAssemblerCodeRef finalize(VM& vm, MacroAssemblerCodePtr fallback, const char* thunkKind) 135 134 { 136 LinkBuffer patchBuffer( *m_vm, this, GLOBAL_THUNK_ID);135 LinkBuffer patchBuffer(vm, this, GLOBAL_THUNK_ID); 137 136 patchBuffer.link(m_failures, CodeLocationLabel(fallback)); 138 137 for (unsigned i = 0; i < m_calls.size(); i++) -
trunk/Source/JavaScriptCore/jit/ThunkGenerators.cpp
r156120 r156136 62 62 static MacroAssemblerCodeRef linkForGenerator(VM* vm, FunctionPtr lazyLink, FunctionPtr notJSFunction, const char* name) 63 63 { 64 JSInterfaceJIT jit (vm);64 JSInterfaceJIT jit; 65 65 66 66 JSInterfaceJIT::JumpList slowCase; … … 115 115 static MacroAssemblerCodeRef virtualForGenerator(VM* vm, FunctionPtr compile, FunctionPtr notJSFunction, const char* name, CodeSpecializationKind kind) 116 116 { 117 JSInterfaceJIT jit (vm);117 JSInterfaceJIT jit; 118 118 119 119 JSInterfaceJIT::JumpList slowCase; … … 170 170 MacroAssemblerCodeRef stringLengthTrampolineGenerator(VM* vm) 171 171 { 172 JSInterfaceJIT jit (vm);172 JSInterfaceJIT jit; 173 173 174 174 #if USE(JSVALUE64) … … 232 232 int executableOffsetToFunction = NativeExecutable::offsetOfNativeFunctionFor(kind); 233 233 234 JSInterfaceJIT jit (vm);234 JSInterfaceJIT jit; 235 235 236 236 jit.emitPutImmediateToCallFrameHeader(0, JSStack::CodeBlock); … … 422 422 MacroAssemblerCodeRef arityFixup(VM* vm) 423 423 { 424 JSInterfaceJIT jit (vm);424 JSInterfaceJIT jit; 425 425 426 426 // We enter with fixup count in regT0 … … 540 540 MacroAssemblerCodeRef charCodeAtThunkGenerator(VM* vm) 541 541 { 542 SpecializedThunkJIT jit( vm,1);542 SpecializedThunkJIT jit(1); 543 543 stringCharLoad(jit, vm); 544 544 jit.returnInt32(SpecializedThunkJIT::regT0); 545 return jit.finalize( vm->jitStubs->ctiNativeCall(vm), "charCodeAt");545 return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "charCodeAt"); 546 546 } 547 547 548 548 MacroAssemblerCodeRef charAtThunkGenerator(VM* vm) 549 549 { 550 SpecializedThunkJIT jit( vm,1);550 SpecializedThunkJIT jit(1); 551 551 stringCharLoad(jit, vm); 552 552 charToString(jit, vm, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT1); 553 553 jit.returnJSCell(SpecializedThunkJIT::regT0); 554 return jit.finalize( vm->jitStubs->ctiNativeCall(vm), "charAt");554 return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "charAt"); 555 555 } 556 556 557 557 MacroAssemblerCodeRef fromCharCodeThunkGenerator(VM* vm) 558 558 { 559 SpecializedThunkJIT jit( vm,1);559 SpecializedThunkJIT jit(1); 560 560 // load char code 561 561 jit.loadInt32Argument(0, SpecializedThunkJIT::regT0); 562 562 charToString(jit, vm, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT0, SpecializedThunkJIT::regT1); 563 563 jit.returnJSCell(SpecializedThunkJIT::regT0); 564 return jit.finalize( vm->jitStubs->ctiNativeCall(vm), "fromCharCode");564 return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "fromCharCode"); 565 565 } 566 566 567 567 MacroAssemblerCodeRef sqrtThunkGenerator(VM* vm) 568 568 { 569 SpecializedThunkJIT jit( vm,1);569 SpecializedThunkJIT jit(1); 570 570 if (!jit.supportsFloatingPointSqrt()) 571 571 return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm)); … … 574 574 jit.sqrtDouble(SpecializedThunkJIT::fpRegT0, SpecializedThunkJIT::fpRegT0); 575 575 jit.returnDouble(SpecializedThunkJIT::fpRegT0); 576 return jit.finalize( vm->jitStubs->ctiNativeCall(vm), "sqrt");576 return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "sqrt"); 577 577 } 578 578 … … 669 669 MacroAssemblerCodeRef floorThunkGenerator(VM* vm) 670 670 { 671 SpecializedThunkJIT jit( vm,1);671 SpecializedThunkJIT jit(1); 672 672 MacroAssembler::Jump nonIntJump; 673 673 if (!UnaryDoubleOpWrapper(floor) || !jit.supportsFloatingPoint()) … … 696 696 doubleResult.link(&jit); 697 697 jit.returnDouble(SpecializedThunkJIT::fpRegT0); 698 return jit.finalize( vm->jitStubs->ctiNativeCall(vm), "floor");698 return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "floor"); 699 699 } 700 700 701 701 MacroAssemblerCodeRef ceilThunkGenerator(VM* vm) 702 702 { 703 SpecializedThunkJIT jit( vm,1);703 SpecializedThunkJIT jit(1); 704 704 if (!UnaryDoubleOpWrapper(ceil) || !jit.supportsFloatingPoint()) 705 705 return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm)); … … 715 715 doubleResult.link(&jit); 716 716 jit.returnDouble(SpecializedThunkJIT::fpRegT0); 717 return jit.finalize( vm->jitStubs->ctiNativeCall(vm), "ceil");717 return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "ceil"); 718 718 } 719 719 720 720 MacroAssemblerCodeRef roundThunkGenerator(VM* vm) 721 721 { 722 SpecializedThunkJIT jit( vm,1);722 SpecializedThunkJIT jit(1); 723 723 if (!UnaryDoubleOpWrapper(jsRound) || !jit.supportsFloatingPoint()) 724 724 return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm)); … … 749 749 doubleResult.link(&jit); 750 750 jit.returnDouble(SpecializedThunkJIT::fpRegT0); 751 return jit.finalize( vm->jitStubs->ctiNativeCall(vm), "round");751 return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "round"); 752 752 } 753 753 … … 756 756 if (!UnaryDoubleOpWrapper(exp)) 757 757 return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm)); 758 SpecializedThunkJIT jit( vm,1);758 SpecializedThunkJIT jit(1); 759 759 if (!jit.supportsFloatingPoint()) 760 760 return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm)); … … 762 762 jit.callDoubleToDoublePreservingReturn(UnaryDoubleOpWrapper(exp)); 763 763 jit.returnDouble(SpecializedThunkJIT::fpRegT0); 764 return jit.finalize( vm->jitStubs->ctiNativeCall(vm), "exp");764 return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "exp"); 765 765 } 766 766 … … 769 769 if (!UnaryDoubleOpWrapper(log)) 770 770 return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm)); 771 SpecializedThunkJIT jit( vm,1);771 SpecializedThunkJIT jit(1); 772 772 if (!jit.supportsFloatingPoint()) 773 773 return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm)); … … 775 775 jit.callDoubleToDoublePreservingReturn(UnaryDoubleOpWrapper(log)); 776 776 jit.returnDouble(SpecializedThunkJIT::fpRegT0); 777 return jit.finalize( vm->jitStubs->ctiNativeCall(vm), "log");777 return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "log"); 778 778 } 779 779 780 780 MacroAssemblerCodeRef absThunkGenerator(VM* vm) 781 781 { 782 SpecializedThunkJIT jit( vm,1);782 SpecializedThunkJIT jit(1); 783 783 if (!jit.supportsFloatingPointAbs()) 784 784 return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm)); … … 795 795 jit.absDouble(SpecializedThunkJIT::fpRegT0, SpecializedThunkJIT::fpRegT1); 796 796 jit.returnDouble(SpecializedThunkJIT::fpRegT1); 797 return jit.finalize( vm->jitStubs->ctiNativeCall(vm), "abs");797 return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "abs"); 798 798 } 799 799 800 800 MacroAssemblerCodeRef powThunkGenerator(VM* vm) 801 801 { 802 SpecializedThunkJIT jit( vm,2);802 SpecializedThunkJIT jit(2); 803 803 if (!jit.supportsFloatingPoint()) 804 804 return MacroAssemblerCodeRef::createSelfManagedCodeRef(vm->jitStubs->ctiNativeCall(vm)); … … 847 847 jit.appendFailure(nonIntExponent); 848 848 849 return jit.finalize( vm->jitStubs->ctiNativeCall(vm), "pow");849 return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "pow"); 850 850 } 851 851 852 852 MacroAssemblerCodeRef imulThunkGenerator(VM* vm) 853 853 { 854 SpecializedThunkJIT jit( vm,2);854 SpecializedThunkJIT jit(2); 855 855 MacroAssembler::Jump nonIntArg0Jump; 856 856 jit.loadInt32Argument(0, SpecializedThunkJIT::regT0, nonIntArg0Jump); … … 880 880 jit.appendFailure(nonIntArg1Jump); 881 881 882 return jit.finalize( vm->jitStubs->ctiNativeCall(vm), "imul");882 return jit.finalize(*vm, vm->jitStubs->ctiNativeCall(vm), "imul"); 883 883 } 884 884 -
trunk/Source/JavaScriptCore/llint/LLIntThunks.cpp
r156120 r156136 41 41 static MacroAssemblerCodeRef generateThunkWithJumpTo(VM* vm, void (*target)(), const char *thunkKind) 42 42 { 43 JSInterfaceJIT jit (vm);43 JSInterfaceJIT jit; 44 44 45 45 // 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 41 41 #define QNaN (std::numeric_limits<double>::quiet_NaN()) 42 42 43 class AssemblyHelpers;44 43 class ExecState; 45 44 class JSCell; 46 class JSValueSource;47 45 class VM; 48 46 class JSGlobalObject; … … 54 52 #if ENABLE(DFG_JIT) 55 53 namespace DFG { 54 class AssemblyHelpers; 56 55 class JITCompiler; 56 class JITCodeGenerator; 57 class JSValueSource; 57 58 class OSRExitCompiler; 58 59 class SpeculativeJIT; … … 116 117 class JSValue { 117 118 friend struct EncodedJSValueHashTraits; 118 friend class AssemblyHelpers;119 119 friend class JIT; 120 120 friend class JITSlowPathCall; … … 122 122 friend class JITStubCall; 123 123 friend class JSInterfaceJIT; 124 friend class JSValueSource;125 124 friend class SpecializedThunkJIT; 126 125 #if ENABLE(DFG_JIT) 126 friend class DFG::AssemblyHelpers; 127 127 friend class DFG::JITCompiler; 128 friend class DFG::JITCodeGenerator; 129 friend class DFG::JSValueSource; 128 130 friend class DFG::OSRExitCompiler; 129 131 friend class DFG::SpeculativeJIT;
Note: See TracChangeset
for help on using the changeset viewer.