Changeset 103255 in webkit for trunk/Source/JavaScriptCore/dfg/DFGAbstractState.cpp
- Timestamp:
- Dec 19, 2011, 12:22:31 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/dfg/DFGAbstractState.cpp
r103250 r103255 494 494 case PutByVal: 495 495 case PutByValAlias: { 496 NodeIndex child1 = m_graph.m_varArgChildren[node.firstChild()]; 497 NodeIndex child2 = m_graph.m_varArgChildren[node.firstChild() + 1]; 498 NodeIndex child3 = m_graph.m_varArgChildren[node.firstChild() + 2]; 499 PredictedType indexPrediction = m_graph[child2].prediction(); 496 PredictedType indexPrediction = m_graph[node.child2()].prediction(); 500 497 if (!(indexPrediction & PredictInt32) && indexPrediction) { 501 498 clobberStructures(nodeIndex); … … 503 500 break; 504 501 } 505 if (m_graph[ child1].shouldSpeculateByteArray()) {506 forNode( child1).filter(PredictByteArray);507 forNode( child2).filter(PredictInt32);508 forNode( child3).filter(PredictNumber);509 break; 510 } 511 512 if (m_graph[ child1].shouldSpeculateInt8Array()) {513 forNode( child1).filter(PredictInt8Array);514 forNode( child2).filter(PredictInt32);515 forNode( child3).filter(PredictNumber);516 break; 517 } 518 if (m_graph[ child1].shouldSpeculateInt16Array()) {519 forNode( child1).filter(PredictInt16Array);520 forNode( child2).filter(PredictInt32);521 forNode( child3).filter(PredictNumber);522 break; 523 } 524 if (m_graph[ child1].shouldSpeculateInt32Array()) {525 forNode( child1).filter(PredictInt32Array);526 forNode( child2).filter(PredictInt32);527 forNode( child3).filter(PredictNumber);528 break; 529 } 530 if (m_graph[ child1].shouldSpeculateUint8Array()) {531 forNode( child1).filter(PredictUint8Array);532 forNode( child2).filter(PredictInt32);533 forNode( child3).filter(PredictNumber);534 break; 535 } 536 if (m_graph[ child1].shouldSpeculateUint16Array()) {537 forNode( child1).filter(PredictUint16Array);538 forNode( child2).filter(PredictInt32);539 forNode( child3).filter(PredictNumber);540 break; 541 } 542 if (m_graph[ child1].shouldSpeculateUint32Array()) {543 forNode( child1).filter(PredictUint32Array);544 forNode( child2).filter(PredictInt32);545 forNode( child3).filter(PredictNumber);546 break; 547 } 548 if (m_graph[ child1].shouldSpeculateFloat32Array()) {549 forNode( child1).filter(PredictFloat32Array);550 forNode( child2).filter(PredictInt32);551 forNode( child3).filter(PredictNumber);552 break; 553 } 554 if (m_graph[ child1].shouldSpeculateFloat64Array()) {555 forNode( child1).filter(PredictFloat64Array);556 forNode( child2).filter(PredictInt32);557 forNode( child3).filter(PredictNumber);558 break; 559 } 560 561 forNode( child1).filter(PredictArray);562 forNode( child2).filter(PredictInt32);502 if (m_graph[node.child1()].shouldSpeculateByteArray()) { 503 forNode(node.child1()).filter(PredictByteArray); 504 forNode(node.child2()).filter(PredictInt32); 505 forNode(node.child3()).filter(PredictNumber); 506 break; 507 } 508 509 if (m_graph[node.child1()].shouldSpeculateInt8Array()) { 510 forNode(node.child1()).filter(PredictInt8Array); 511 forNode(node.child2()).filter(PredictInt32); 512 forNode(node.child3()).filter(PredictNumber); 513 break; 514 } 515 if (m_graph[node.child1()].shouldSpeculateInt16Array()) { 516 forNode(node.child1()).filter(PredictInt16Array); 517 forNode(node.child2()).filter(PredictInt32); 518 forNode(node.child3()).filter(PredictNumber); 519 break; 520 } 521 if (m_graph[node.child1()].shouldSpeculateInt32Array()) { 522 forNode(node.child1()).filter(PredictInt32Array); 523 forNode(node.child2()).filter(PredictInt32); 524 forNode(node.child3()).filter(PredictNumber); 525 break; 526 } 527 if (m_graph[node.child1()].shouldSpeculateUint8Array()) { 528 forNode(node.child1()).filter(PredictUint8Array); 529 forNode(node.child2()).filter(PredictInt32); 530 forNode(node.child3()).filter(PredictNumber); 531 break; 532 } 533 if (m_graph[node.child1()].shouldSpeculateUint16Array()) { 534 forNode(node.child1()).filter(PredictUint16Array); 535 forNode(node.child2()).filter(PredictInt32); 536 forNode(node.child3()).filter(PredictNumber); 537 break; 538 } 539 if (m_graph[node.child1()].shouldSpeculateUint32Array()) { 540 forNode(node.child1()).filter(PredictUint32Array); 541 forNode(node.child2()).filter(PredictInt32); 542 forNode(node.child3()).filter(PredictNumber); 543 break; 544 } 545 if (m_graph[node.child1()].shouldSpeculateFloat32Array()) { 546 forNode(node.child1()).filter(PredictFloat32Array); 547 forNode(node.child2()).filter(PredictInt32); 548 forNode(node.child3()).filter(PredictNumber); 549 break; 550 } 551 if (m_graph[node.child1()].shouldSpeculateFloat64Array()) { 552 forNode(node.child1()).filter(PredictFloat64Array); 553 forNode(node.child2()).filter(PredictInt32); 554 forNode(node.child3()).filter(PredictNumber); 555 break; 556 } 557 558 forNode(node.child1()).filter(PredictArray); 559 forNode(node.child2()).filter(PredictInt32); 563 560 break; 564 561 }
Note:
See TracChangeset
for help on using the changeset viewer.