Changeset 183073 in webkit
- Timestamp:
- Apr 21, 2015, 1:23:50 PM (10 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r183072 r183073 1 2015-04-21 Basile Clement <basile_clement@apple.com> 2 3 Remove AllocationProfileWatchpoint node 4 https://bugs.webkit.org/show_bug.cgi?id=143999 5 6 Reviewed by Filip Pizlo. 7 8 * dfg/DFGAbstractInterpreterInlines.h: 9 (JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects): 10 * dfg/DFGByteCodeParser.cpp: 11 (JSC::DFG::ByteCodeParser::parseBlock): 12 * dfg/DFGClobberize.h: 13 (JSC::DFG::clobberize): 14 * dfg/DFGDoesGC.cpp: 15 (JSC::DFG::doesGC): 16 * dfg/DFGFixupPhase.cpp: 17 (JSC::DFG::FixupPhase::fixupNode): 18 * dfg/DFGHeapLocation.cpp: 19 (WTF::printInternal): 20 * dfg/DFGHeapLocation.h: 21 * dfg/DFGNode.h: 22 (JSC::DFG::Node::hasCellOperand): 23 * dfg/DFGNodeType.h: 24 * dfg/DFGPredictionPropagationPhase.cpp: 25 (JSC::DFG::PredictionPropagationPhase::propagate): 26 * dfg/DFGSafeToExecute.h: 27 (JSC::DFG::safeToExecute): 28 * dfg/DFGSpeculativeJIT32_64.cpp: 29 (JSC::DFG::SpeculativeJIT::compile): 30 * dfg/DFGSpeculativeJIT64.cpp: 31 (JSC::DFG::SpeculativeJIT::compile): 32 * dfg/DFGWatchpointCollectionPhase.cpp: 33 (JSC::DFG::WatchpointCollectionPhase::handle): 34 * ftl/FTLCapabilities.cpp: 35 (JSC::FTL::canCompile): 36 * ftl/FTLLowerDFGToLLVM.cpp: 37 (JSC::FTL::LowerDFGToLLVM::compileNode): 38 * runtime/JSFunction.h: 39 (JSC::JSFunction::rareData): 40 (JSC::JSFunction::allocationProfileWatchpointSet): Deleted. 41 1 42 2015-04-19 Filip Pizlo <fpizlo@apple.com> 2 43 -
trunk/Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h
r182759 r183073 1348 1348 } 1349 1349 1350 case AllocationProfileWatchpoint:1351 break;1352 1353 1350 case NewObject: 1354 1351 ASSERT(node->structure()); -
trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
r182995 r183073 2641 2641 bool alreadyEmitted = false; 2642 2642 if (JSFunction* function = callee->dynamicCastConstant<JSFunction*>()) { 2643 if (Structure* structure = function->allocationStructure()) { 2644 addToGraph(AllocationProfileWatchpoint, OpInfo(m_graph.freeze(function))); 2645 // The callee is still live up to this point. 2646 addToGraph(Phantom, callee); 2647 set(VirtualRegister(currentInstruction[1].u.operand), addToGraph(NewObject, OpInfo(structure))); 2648 alreadyEmitted = true; 2643 if (FunctionRareData* rareData = function->rareData()) { 2644 if (Structure* structure = rareData->allocationStructure()) { 2645 m_graph.freeze(rareData); 2646 m_graph.watchpoints().addLazily(rareData->allocationProfileWatchpointSet()); 2647 // The callee is still live up to this point. 2648 addToGraph(Phantom, callee); 2649 set(VirtualRegister(currentInstruction[1].u.operand), addToGraph(NewObject, OpInfo(structure))); 2650 alreadyEmitted = true; 2651 } 2649 2652 } 2650 2653 } -
trunk/Source/JavaScriptCore/dfg/DFGClobberize.h
r182759 r183073 353 353 return; 354 354 355 case AllocationProfileWatchpoint:356 read(MiscFields);357 def(HeapLocation(AllocationProfileWatchpointLoc, MiscFields), node);358 return;359 360 355 case IsObjectOrNull: 361 356 read(MiscFields); -
trunk/Source/JavaScriptCore/dfg/DFGDoesGC.cpp
r182498 r183073 107 107 case CheckCell: 108 108 case CheckNotEmpty: 109 case AllocationProfileWatchpoint:110 109 case RegExpExec: 111 110 case RegExpTest: -
trunk/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp
r182643 r183073 1201 1201 case NotifyWrite: 1202 1202 case VarInjectionWatchpoint: 1203 case AllocationProfileWatchpoint:1204 1203 case Call: 1205 1204 case Construct: -
trunk/Source/JavaScriptCore/dfg/DFGHeapLocation.cpp
r181993 r183073 141 141 return; 142 142 143 case AllocationProfileWatchpointLoc:144 out.print("AllocationProfileWatchpointLoc");145 return;146 147 143 case StructureLoc: 148 144 out.print("StructureLoc"); -
trunk/Source/JavaScriptCore/dfg/DFGHeapLocation.h
r181993 r183073 37 37 InvalidLocationKind, 38 38 39 AllocationProfileWatchpointLoc,40 39 ArrayLengthLoc, 41 40 ButterflyLoc, -
trunk/Source/JavaScriptCore/dfg/DFGNode.h
r182759 r183073 1191 1191 { 1192 1192 switch (op()) { 1193 case AllocationProfileWatchpoint:1194 1193 case CheckCell: 1195 1194 case NativeConstruct: -
trunk/Source/JavaScriptCore/dfg/DFGNodeType.h
r183072 r183073 195 195 macro(CheckNotEmpty, NodeMustGenerate) \ 196 196 macro(CheckBadCell, NodeMustGenerate) \ 197 macro(AllocationProfileWatchpoint, NodeMustGenerate) \198 197 macro(CheckInBounds, NodeMustGenerate) \ 199 198 \ -
trunk/Source/JavaScriptCore/dfg/DFGPredictionPropagationPhase.cpp
r182498 r183073 638 638 case PutStructure: 639 639 case VarInjectionWatchpoint: 640 case AllocationProfileWatchpoint:641 640 case Phantom: 642 641 case Check: -
trunk/Source/JavaScriptCore/dfg/DFGSafeToExecute.h
r182498 r183073 180 180 case CheckBadCell: 181 181 case CheckNotEmpty: 182 case AllocationProfileWatchpoint:183 182 case RegExpExec: 184 183 case RegExpTest: -
trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
r182899 r183073 3516 3516 } 3517 3517 3518 case AllocationProfileWatchpoint: {3519 noResult(node);3520 break;3521 }3522 3523 3518 case NewObject: { 3524 3519 GPRTemporary result(this); -
trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
r183072 r183073 3593 3593 } 3594 3594 3595 case AllocationProfileWatchpoint: {3596 noResult(node);3597 break;3598 }3599 3600 3595 case NewObject: { 3601 3596 GPRTemporary result(this); -
trunk/Source/JavaScriptCore/dfg/DFGWatchpointCollectionPhase.cpp
r182498 r183073 106 106 break; 107 107 108 case AllocationProfileWatchpoint:109 addLazily(m_node->castOperand<JSFunction*>()->allocationProfileWatchpointSet());110 break;111 112 108 case VarInjectionWatchpoint: 113 109 addLazily(globalObject()->varInjectionWatchpoint()); -
trunk/Source/JavaScriptCore/ftl/FTLCapabilities.cpp
r182498 r183073 142 142 case GetExecutable: 143 143 case GetScope: 144 case AllocationProfileWatchpoint:145 144 case GetCallee: 146 145 case GetArgumentCount: -
trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp
r183065 r183073 847 847 case PhantomLocal: 848 848 case LoopHint: 849 case AllocationProfileWatchpoint:850 849 case MovHint: 851 850 case ZombieHint: -
trunk/Source/JavaScriptCore/runtime/JSFunction.h
r183069 r183073 117 117 } 118 118 119 FunctionRareData* rareData() { return m_rareData.get(); } 120 119 121 Structure* allocationStructure() 120 122 { … … 123 125 124 126 return m_rareData.get()->allocationStructure(); 125 }126 127 InlineWatchpointSet& allocationProfileWatchpointSet()128 {129 ASSERT(m_rareData);130 return m_rareData.get()->allocationProfileWatchpointSet();131 127 } 132 128
Note:
See TracChangeset
for help on using the changeset viewer.