Changeset 212782 in webkit
- Timestamp:
- Feb 21, 2017 5:16:42 PM (7 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 2 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/CMakeLists.txt
r212778 r212782 218 218 bytecode/ExitKind.cpp 219 219 bytecode/ExitingJITType.cpp 220 bytecode/FullCodeOrigin.cpp 220 221 bytecode/FunctionCodeBlock.cpp 221 222 bytecode/GetByIdStatus.cpp -
trunk/Source/JavaScriptCore/ChangeLog
r212780 r212782 1 2017-02-21 JF Bastien <jfbastien@apple.com> 2 3 FullCodeOrigin for CodeBlock+CodeOrigin printing 4 https://bugs.webkit.org/show_bug.cgi?id=168673 5 6 Reviewed by Filip Pizlo. 7 8 WebAssembly doesn't have a CodeBlock, so printing it isn't 9 valid. This patch adds FullCodeOrigin to handle the 10 CodeBlock+CodeOrigin printing pattern, and uses it through all the 11 places I could find, including Repatch.cpp where it's relevant for 12 WebAssembly. 13 14 * CMakeLists.txt: 15 * JavaScriptCore.xcodeproj/project.pbxproj: 16 * bytecode/CodeBlock.cpp: 17 (JSC::CodeBlock::noticeIncomingCall): 18 * bytecode/FullCodeOrigin.cpp: Added. 19 (JSC::FullCodeOrigin::dump): 20 (JSC::FullCodeOrigin::dumpInContext): 21 * bytecode/FullCodeOrigin.h: Added. 22 (JSC::FullCodeOrigin::FullCodeOrigin): 23 * bytecode/PolymorphicAccess.cpp: 24 (JSC::PolymorphicAccess::regenerate): 25 * jit/PolymorphicCallStubRoutine.cpp: 26 (JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine): 27 * jit/Repatch.cpp: 28 (JSC::linkFor): 29 (JSC::linkDirectFor): 30 (JSC::linkVirtualFor): 31 1 32 2017-02-21 Filip Pizlo <fpizlo@apple.com> 2 33 -
trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
r212778 r212782 2059 2059 AD2FCC311DB83D4900B3E736 /* JSWebAssembly.h in Headers */ = {isa = PBXBuildFile; fileRef = AD2FCC2F1DB839F700B3E736 /* JSWebAssembly.h */; }; 2060 2060 AD2FCC331DC4045400B3E736 /* WasmFormat.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD2FCC321DC4045300B3E736 /* WasmFormat.cpp */; }; 2061 AD4252511E5D0E14009D2A97 /* FullCodeOrigin.h in Headers */ = {isa = PBXBuildFile; fileRef = AD4252501E5D0DEB009D2A97 /* FullCodeOrigin.h */; }; 2062 AD4252531E5D0F47009D2A97 /* FullCodeOrigin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD4252521E5D0F22009D2A97 /* FullCodeOrigin.cpp */; }; 2061 2063 AD4937C31DDBE6140077C807 /* AbstractModuleRecord.cpp in Sources */ = {isa = PBXBuildFile; fileRef = AD4937C11DDBE60A0077C807 /* AbstractModuleRecord.cpp */; }; 2062 2064 AD4937C41DDBE6140077C807 /* AbstractModuleRecord.h in Headers */ = {isa = PBXBuildFile; fileRef = AD4937C21DDBE60A0077C807 /* AbstractModuleRecord.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 4596 4598 AD2FCC2F1DB839F700B3E736 /* JSWebAssembly.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSWebAssembly.h; sourceTree = "<group>"; }; 4597 4599 AD2FCC321DC4045300B3E736 /* WasmFormat.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WasmFormat.cpp; sourceTree = "<group>"; }; 4600 AD4252501E5D0DEB009D2A97 /* FullCodeOrigin.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FullCodeOrigin.h; sourceTree = "<group>"; }; 4601 AD4252521E5D0F22009D2A97 /* FullCodeOrigin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FullCodeOrigin.cpp; sourceTree = "<group>"; }; 4598 4602 AD4937C11DDBE60A0077C807 /* AbstractModuleRecord.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AbstractModuleRecord.cpp; sourceTree = "<group>"; }; 4599 4603 AD4937C21DDBE60A0077C807 /* AbstractModuleRecord.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AbstractModuleRecord.h; sourceTree = "<group>"; }; … … 7425 7429 0F0B83AA14BCF5B900885B4F /* ExpressionRangeInfo.h */, 7426 7430 0F666EBF183566F900D017F1 /* FullBytecodeLiveness.h */, 7431 AD4252521E5D0F22009D2A97 /* FullCodeOrigin.cpp */, 7432 AD4252501E5D0DEB009D2A97 /* FullCodeOrigin.h */, 7427 7433 14AD91161DCA97FD0014F9FE /* FunctionCodeBlock.cpp */, 7428 7434 14AD91071DCA92940014F9FE /* FunctionCodeBlock.h */, … … 8915 8921 C2B916C214DA014E00CBAC86 /* MarkedAllocator.h in Headers */, 8916 8922 0F7DF1461E2BEF6A0095951B /* MarkedAllocatorInlines.h in Headers */, 8923 AD4252511E5D0E14009D2A97 /* FullCodeOrigin.h in Headers */, 8917 8924 142D6F0913539A2800B02E86 /* MarkedBlock.h in Headers */, 8918 8925 0F7C5FB81D888A0C0044F5E2 /* MarkedBlockInlines.h in Headers */, … … 10449 10456 E3794E751B77EB97005543AE /* ModuleAnalyzer.cpp in Sources */, 10450 10457 E355F3521B7DC85300C50DC5 /* ModuleLoaderPrototype.cpp in Sources */, 10458 AD4252531E5D0F47009D2A97 /* FullCodeOrigin.cpp in Sources */, 10451 10459 14AD91181DCA97FD0014F9FE /* ModuleProgramCodeBlock.cpp in Sources */, 10452 10460 147341E41DC2CE9600AA29BA /* ModuleProgramExecutable.cpp in Sources */, -
trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp
r212778 r212782 45 45 #include "Debugger.h" 46 46 #include "EvalCodeBlock.h" 47 #include "FullCodeOrigin.h" 47 48 #include "FunctionCodeBlock.h" 48 49 #include "FunctionExecutableDump.h" … … 3581 3582 3582 3583 if (callerCodeBlock->capabilityLevelState() == DFG::CapabilityLevelNotSet) { 3583 dataLog("In call from ", *callerCodeBlock, " ", callerFrame->codeOrigin(), " to ", *this, ": caller's DFG capability level is not set.\n");3584 dataLog("In call from ", FullCodeOrigin(callerCodeBlock, callerFrame->codeOrigin()), " to ", *this, ": caller's DFG capability level is not set.\n"); 3584 3585 CRASH(); 3585 3586 } -
trunk/Source/JavaScriptCore/bytecode/PolymorphicAccess.cpp
r212717 r212782 32 32 #include "CCallHelpers.h" 33 33 #include "CodeBlock.h" 34 #include "FullCodeOrigin.h" 34 35 #include "Heap.h" 35 36 #include "JITOperations.h" … … 525 526 526 527 if (verbose) 527 dataLog( *codeBlock, " ", stubInfo.codeOrigin, ": Generating polymorphic access stub for ", listDump(cases), "\n");528 dataLog(FullCodeOrigin(codeBlock, stubInfo.codeOrigin), ": Generating polymorphic access stub for ", listDump(cases), "\n"); 528 529 529 530 MacroAssemblerCodeRef code = FINALIZE_CODE_FOR( -
trunk/Source/JavaScriptCore/jit/PolymorphicCallStubRoutine.cpp
r209897 r212782 31 31 #include "CallLinkInfo.h" 32 32 #include "CodeBlock.h" 33 #include "FullCodeOrigin.h" 33 34 #include "JSCInlines.h" 34 35 #include "LinkBuffer.h" … … 78 79 m_variants.append(WriteBarrier<JSCell>(vm, owner, callCase.variant().rawCalleeCell())); 79 80 if (shouldDumpDisassemblyFor(callerFrame->codeBlock())) 80 dataLog("Linking polymorphic call in ", *callerFrame->codeBlock(), " at ", callerFrame->codeOrigin(), " to ", callCase.variant(), ", codeBlock = ", pointerDump(callCase.codeBlock()), "\n");81 dataLog("Linking polymorphic call in ", FullCodeOrigin(callerFrame->codeBlock(), callerFrame->codeOrigin()), " to ", callCase.variant(), ", codeBlock = ", pointerDump(callCase.codeBlock()), "\n"); 81 82 if (CodeBlock* codeBlock = callCase.codeBlock()) 82 83 codeBlock->linkIncomingPolymorphicCall(callerFrame, m_callNodes.add(&info)); -
trunk/Source/JavaScriptCore/jit/Repatch.cpp
r212717 r212782 37 37 #include "DirectArguments.h" 38 38 #include "FTLThunks.h" 39 #include "FullCodeOrigin.h" 39 40 #include "FunctionCodeBlock.h" 40 41 #include "GCAwareJITStubRoutine.h" … … 603 604 callLinkInfo.setLastSeenCallee(vm, owner, callee); 604 605 if (shouldDumpDisassemblyFor(callerCodeBlock)) 605 dataLog("Linking call in ", *callerCodeBlock, " at ", callLinkInfo.codeOrigin(), " to ", pointerDump(calleeCodeBlock), ", entrypoint at ", codePtr, "\n"); 606 dataLog("Linking call in ", FullCodeOrigin(callerCodeBlock, callLinkInfo.codeOrigin()), " to ", pointerDump(calleeCodeBlock), ", entrypoint at ", codePtr, "\n"); 607 606 608 MacroAssembler::repatchNearCall(callLinkInfo.hotPathOther(), CodeLocationLabel(codePtr)); 607 609 … … 630 632 callLinkInfo.setCodeBlock(*vm, callerCodeBlock, jsCast<FunctionCodeBlock*>(calleeCodeBlock)); 631 633 if (shouldDumpDisassemblyFor(callerCodeBlock)) 632 dataLog("Linking call in ", *callerCodeBlock, " at ", callLinkInfo.codeOrigin(), " to ", pointerDump(calleeCodeBlock), ", entrypoint at ", codePtr, "\n"); 634 dataLog("Linking call in ", FullCodeOrigin(callerCodeBlock, callLinkInfo.codeOrigin()), " to ", pointerDump(calleeCodeBlock), ", entrypoint at ", codePtr, "\n"); 635 633 636 if (callLinkInfo.callType() == CallLinkInfo::DirectTailCall) 634 637 MacroAssembler::repatchJumpToNop(callLinkInfo.patchableJump()); … … 685 688 686 689 if (shouldDumpDisassemblyFor(callerCodeBlock)) 687 dataLog("Linking virtual call at ", *callerCodeBlock, " ", callerFrame->codeOrigin(), "\n");690 dataLog("Linking virtual call at ", FullCodeOrigin(callerCodeBlock, callerFrame->codeOrigin()), "\n"); 688 691 689 692 MacroAssemblerCodeRef virtualThunk = virtualThunkFor(&vm, callLinkInfo);
Note: See TracChangeset
for help on using the changeset viewer.