Changeset 129588 in webkit for trunk/Source/JavaScriptCore/dfg
- Timestamp:
- Sep 25, 2012, 7:56:19 PM (13 years ago)
- Location:
- trunk/Source/JavaScriptCore/dfg
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGAbstractState.cpp
r129316 r129588 1002 1002 case ArrayPush: 1003 1003 node.setCanExit(true); 1004 clobberWorld(node.codeOrigin, indexInBlock); 1004 1005 forNode(nodeIndex).set(SpecNumber); 1005 1006 break; … … 1007 1008 case ArrayPop: 1008 1009 node.setCanExit(true); 1010 clobberWorld(node.codeOrigin, indexInBlock); 1009 1011 forNode(nodeIndex).makeTop(); 1010 1012 break; -
trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
r129316 r129588 1568 1568 1569 1569 Array::Mode arrayMode = getArrayMode(m_currentInstruction[5].u.arrayProfile); 1570 if (!modeIsJSArray(arrayMode)) 1570 switch (arrayMode) { 1571 case Array::ArrayWithArrayStorageToHole: 1572 ASSERT_NOT_REACHED(); 1573 1574 case Array::ArrayWithArrayStorage: 1575 case Array::ArrayWithArrayStorageOutOfBounds: { 1576 NodeIndex arrayPush = addToGraph(ArrayPush, OpInfo(arrayMode), OpInfo(prediction), get(registerOffset + argumentToOperand(0)), get(registerOffset + argumentToOperand(1))); 1577 if (usesResult) 1578 set(resultOperand, arrayPush); 1579 1580 return true; 1581 } 1582 1583 default: 1571 1584 return false; 1572 NodeIndex arrayPush = addToGraph(ArrayPush, OpInfo(arrayMode), OpInfo(prediction), get(registerOffset + argumentToOperand(0)), get(registerOffset + argumentToOperand(1))); 1573 if (usesResult) 1574 set(resultOperand, arrayPush); 1575 1576 return true; 1585 } 1577 1586 } 1578 1587 … … 1582 1591 1583 1592 Array::Mode arrayMode = getArrayMode(m_currentInstruction[5].u.arrayProfile); 1584 if (!modeIsJSArray(arrayMode)) 1593 switch (arrayMode) { 1594 case Array::ArrayWithArrayStorageToHole: 1595 ASSERT_NOT_REACHED(); 1596 1597 case Array::ArrayWithArrayStorage: 1598 case Array::ArrayWithArrayStorageOutOfBounds: { 1599 NodeIndex arrayPop = addToGraph(ArrayPop, OpInfo(arrayMode), OpInfo(prediction), get(registerOffset + argumentToOperand(0))); 1600 if (usesResult) 1601 set(resultOperand, arrayPop); 1602 return true; 1603 } 1604 1605 default: 1585 1606 return false; 1586 NodeIndex arrayPop = addToGraph(ArrayPop, OpInfo(arrayMode), OpInfo(prediction), get(registerOffset + argumentToOperand(0))); 1587 if (usesResult) 1588 set(resultOperand, arrayPop); 1589 return true; 1607 } 1590 1608 } 1591 1609 -
trunk/Source/JavaScriptCore/dfg/DFGStructureCheckHoistingPhase.cpp
r129553 r129588 316 316 case ResolveBaseStrictPut: 317 317 case ResolveGlobal: 318 case ArrayPush: 319 case ArrayPop: 318 320 case Arrayify: 319 321 clobber(live);
Note:
See TracChangeset
for help on using the changeset viewer.