Changeset 37789 in webkit for trunk/JavaScriptCore/VM/CodeGenerator.cpp
- Timestamp:
- Oct 22, 2008, 2:06:30 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/VM/CodeGenerator.cpp
r37755 r37789 547 547 return target; 548 548 } 549 } else if (m_lastOpcodeID == op_eq_null && target->isForwardLabel()) { 550 int dstIndex; 551 int srcIndex; 552 553 retrieveLastUnaryOp(dstIndex, srcIndex); 554 555 if (cond->index() == dstIndex && cond->isTemporary() && !cond->refCount()) { 556 rewindUnaryOp(); 557 emitOpcode(op_jeq_null); 558 instructions().append(srcIndex); 559 instructions().append(target->offsetFrom(instructions().size())); 560 return target; 561 } 562 } else if (m_lastOpcodeID == op_neq_null && target->isForwardLabel()) { 563 int dstIndex; 564 int srcIndex; 565 566 retrieveLastUnaryOp(dstIndex, srcIndex); 567 568 if (cond->index() == dstIndex && cond->isTemporary() && !cond->refCount()) { 569 rewindUnaryOp(); 570 emitOpcode(op_jneq_null); 571 instructions().append(srcIndex); 572 instructions().append(target->offsetFrom(instructions().size())); 573 return target; 574 } 549 575 } 550 576 … … 586 612 instructions().append(target->offsetFrom(instructions().size())); 587 613 return target; 588 } 614 } 615 } else if (m_lastOpcodeID == op_eq_null) { 616 int dstIndex; 617 int srcIndex; 618 619 retrieveLastUnaryOp(dstIndex, srcIndex); 620 621 if (cond->index() == dstIndex && cond->isTemporary() && !cond->refCount()) { 622 rewindUnaryOp(); 623 emitOpcode(op_jneq_null); 624 instructions().append(srcIndex); 625 instructions().append(target->offsetFrom(instructions().size())); 626 return target; 627 } 628 } else if (m_lastOpcodeID == op_neq_null) { 629 int dstIndex; 630 int srcIndex; 631 632 retrieveLastUnaryOp(dstIndex, srcIndex); 633 634 if (cond->index() == dstIndex && cond->isTemporary() && !cond->refCount()) { 635 rewindUnaryOp(); 636 emitOpcode(op_jeq_null); 637 instructions().append(srcIndex); 638 instructions().append(target->offsetFrom(instructions().size())); 639 return target; 640 } 589 641 } 590 642
Note:
See TracChangeset
for help on using the changeset viewer.