Changeset 164207 in webkit for trunk/Source/JavaScriptCore/dfg/DFGCSEPhase.cpp
- Timestamp:
- Feb 16, 2014, 10:35:32 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGCSEPhase.cpp
r164059 r164207 643 643 } 644 644 645 Node* getByOffsetLoadElimination(unsigned identifierNumber, Node* child1)646 { 647 for (unsigned i = m_indexInBlock; i--;) { 648 Node* node = m_currentBlock->at(i); 649 if (node == child1)645 Node* getByOffsetLoadElimination(unsigned identifierNumber, Node* base) 646 { 647 for (unsigned i = m_indexInBlock; i--;) { 648 Node* node = m_currentBlock->at(i); 649 if (node == base) 650 650 break; 651 651 652 652 switch (node->op()) { 653 653 case GetByOffset: 654 if (node->child 1() == child1654 if (node->child2() == base 655 655 && m_graph.m_storageAccessData[node->storageAccessDataIndex()].identifierNumber == identifierNumber) 656 656 return node; 657 657 break; 658 658 659 case MultiGetByOffset: 660 if (node->child1() == base 661 && node->multiGetByOffsetData().identifierNumber == identifierNumber) 662 return node; 663 break; 664 659 665 case PutByOffset: 660 666 if (m_graph.m_storageAccessData[node->storageAccessDataIndex()].identifierNumber == identifierNumber) { 661 if (node->child 1() == child1) // Must be same property storage.667 if (node->child2() == base) // Must be same property storage. 662 668 return node->child3().node(); 663 669 return 0; … … 1402 1408 if (cseMode == StoreElimination) 1403 1409 break; 1404 setReplacement(getByOffsetLoadElimination(m_graph.m_storageAccessData[node->storageAccessDataIndex()].identifierNumber, node->child1().node())); 1410 setReplacement(getByOffsetLoadElimination(m_graph.m_storageAccessData[node->storageAccessDataIndex()].identifierNumber, node->child2().node())); 1411 break; 1412 1413 case MultiGetByOffset: 1414 if (cseMode == StoreElimination) 1415 break; 1416 setReplacement(getByOffsetLoadElimination(node->multiGetByOffsetData().identifierNumber, node->child1().node())); 1405 1417 break; 1406 1418
Note:
See TracChangeset
for help on using the changeset viewer.