Changeset 203923 in webkit
- Timestamp:
- Jul 29, 2016 3:04:02 PM (8 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r203921 r203923 1 2016-07-29 Michael Saboff <msaboff@apple.com> 2 3 Refactor DFG::Node::hasLocal() to accessesStack() 4 https://bugs.webkit.org/show_bug.cgi?id=160357 5 6 Reviewed by Filip Pizlo. 7 8 Refactoring in preparation for using register arguments for JavaScript calls. 9 10 Renamed Node::hasLocal() to Node::accessesStack() and changed all uses accordingly. 11 Also changed uses of Node::hasVariableAccessData() to accessesStack() where that 12 use guards stack operation logic associated with the Node's VariableAccessData. 13 14 The hasVariableAccessData() check now implies no more than the node has a 15 VariableAccessData and nothing about its use of that data to coordinate stack 16 accesses. 17 18 * dfg/DFGGraph.cpp: 19 (JSC::DFG::Graph::dump): 20 (JSC::DFG::Graph::methodOfGettingAValueProfileFor): 21 * dfg/DFGLiveCatchVariablePreservationPhase.cpp: 22 (JSC::DFG::LiveCatchVariablePreservationPhase::handleBlock): 23 * dfg/DFGMaximalFlushInsertionPhase.cpp: 24 (JSC::DFG::MaximalFlushInsertionPhase::treatRegularBlock): 25 (JSC::DFG::MaximalFlushInsertionPhase::treatRootBlock): 26 * dfg/DFGNode.h: 27 (JSC::DFG::Node::containsMovHint): 28 (JSC::DFG::Node::accessesStack): 29 (JSC::DFG::Node::hasLocal): Deleted. 30 * dfg/DFGPredictionInjectionPhase.cpp: 31 (JSC::DFG::PredictionInjectionPhase::run): 32 * dfg/DFGValidate.cpp: 33 1 34 2016-07-29 Benjamin Poulain <benjamin@webkit.org> 2 35 -
trunk/Source/JavaScriptCore/dfg/DFGGraph.cpp
r203808 r203923 274 274 out.print(comma, inContext(data.variants[i], context)); 275 275 } 276 ASSERT(node->hasVariableAccessData(*this) == node-> hasLocal(*this));276 ASSERT(node->hasVariableAccessData(*this) == node->accessesStack(*this)); 277 277 if (node->hasVariableAccessData(*this)) { 278 278 VariableAccessData* variableAccessData = node->tryGetVariableAccessData(); … … 371 371 out.print(")"); 372 372 373 if (node-> hasVariableAccessData(*this) && node->tryGetVariableAccessData())373 if (node->accessesStack(*this) && node->tryGetVariableAccessData()) 374 374 out.print(" predicting ", SpeculationDump(node->tryGetVariableAccessData()->prediction())); 375 375 else if (node->hasHeapPrediction()) … … 1531 1531 CodeBlock* profiledBlock = baselineCodeBlockFor(node->origin.semantic); 1532 1532 1533 if (node-> hasLocal(*this)) {1533 if (node->accessesStack(*this)) { 1534 1534 ValueProfile* result = [&] () -> ValueProfile* { 1535 1535 if (!node->local().isArgument()) -
trunk/Source/JavaScriptCore/dfg/DFGLiveCatchVariablePreservationPhase.cpp
r198364 r203923 123 123 } 124 124 125 if (node-> hasVariableAccessData(m_graph))125 if (node->accessesStack(m_graph)) 126 126 currentBlockAccessData.operand(node->local()) = node->variableAccessData(); 127 127 } -
trunk/Source/JavaScriptCore/dfg/DFGMaximalFlushInsertionPhase.cpp
r198364 r203923 79 79 } 80 80 81 if (node-> hasVariableAccessData(m_graph))81 if (node->accessesStack(m_graph)) 82 82 currentBlockAccessData.operand(node->local()) = node->variableAccessData(); 83 83 } … … 111 111 for (unsigned i = 0; i < block->size(); i++) { 112 112 Node* node = block->at(i); 113 if (!node-> hasVariableAccessData(m_graph))113 if (!node->accessesStack(m_graph)) 114 114 continue; 115 115 -
trunk/Source/JavaScriptCore/dfg/DFGNode.h
r203895 r203923 808 808 809 809 bool hasVariableAccessData(Graph&); 810 bool hasLocal(Graph& graph)810 bool accessesStack(Graph& graph) 811 811 { 812 812 return hasVariableAccessData(graph); -
trunk/Source/JavaScriptCore/dfg/DFGPredictionInjectionPhase.cpp
r198364 r203923 75 75 if (!node) 76 76 continue; 77 ASSERT(node-> hasLocal(m_graph));77 ASSERT(node->accessesStack(m_graph)); 78 78 node->variableAccessData()->predict( 79 79 speculationFromValue(m_graph.m_plan.mustHandleValues[i])); -
trunk/Source/JavaScriptCore/dfg/DFGValidate.cpp
r203361 r203923 483 483 484 484 for (size_t i = 0; i < block->variablesAtHead.numberOfArguments(); ++i) { 485 VALIDATE((virtualRegisterForArgument(i), block), !block->variablesAtHead.argument(i) || block->variablesAtHead.argument(i)-> hasVariableAccessData(m_graph));485 VALIDATE((virtualRegisterForArgument(i), block), !block->variablesAtHead.argument(i) || block->variablesAtHead.argument(i)->accessesStack(m_graph)); 486 486 if (m_graph.m_form == ThreadedCPS) 487 VALIDATE((virtualRegisterForArgument(i), block), !block->variablesAtTail.argument(i) || block->variablesAtTail.argument(i)-> hasVariableAccessData(m_graph));487 VALIDATE((virtualRegisterForArgument(i), block), !block->variablesAtTail.argument(i) || block->variablesAtTail.argument(i)->accessesStack(m_graph)); 488 488 489 489 getLocalPositions.argument(i) = notSet; … … 491 491 } 492 492 for (size_t i = 0; i < block->variablesAtHead.numberOfLocals(); ++i) { 493 VALIDATE((virtualRegisterForLocal(i), block), !block->variablesAtHead.local(i) || block->variablesAtHead.local(i)-> hasVariableAccessData(m_graph));493 VALIDATE((virtualRegisterForLocal(i), block), !block->variablesAtHead.local(i) || block->variablesAtHead.local(i)->accessesStack(m_graph)); 494 494 if (m_graph.m_form == ThreadedCPS) 495 VALIDATE((virtualRegisterForLocal(i), block), !block->variablesAtTail.local(i) || block->variablesAtTail.local(i)-> hasVariableAccessData(m_graph));495 VALIDATE((virtualRegisterForLocal(i), block), !block->variablesAtTail.local(i) || block->variablesAtTail.local(i)->accessesStack(m_graph)); 496 496 497 497 getLocalPositions.local(i) = notSet;
Note: See TracChangeset
for help on using the changeset viewer.