Ignore:
Timestamp:
Jun 30, 2008, 6:56:16 PM (17 years ago)
Author:
[email protected]
Message:

2008-06-30 Cameron Zwarich <[email protected]>

Reviewed by Oliver.

Bug 19830: REGRESSION (r34883): Google Reader doesn't show up feed list on sidebar
<https://bugs.webkit.org/show_bug.cgi?id=19830>

Ensure that we do not eliminate a write to a local register when doing
peephole optimizations.

JavaScriptCore:

  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::emitJumpIfTrue): (KJS::CodeGenerator::emitJumpIfFalse):

LayoutTests:

  • fast/js/codegen-peephole-locals-expected.txt: Added.
  • fast/js/codegen-peephole-locals.html: Added.
  • fast/js/resources/codegen-peephole-locals.js: Added.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/VM/CodeGenerator.cpp

    r34883 r34903  
    452452        retrieveLastBinaryOp(dstIndex, src1Index, src2Index);
    453453       
    454         if (cond->index() == dstIndex && !cond->refCount()) {
     454        if (cond->index() == dstIndex && cond->isTemporary() && !cond->refCount()) {
    455455            rewindBinaryOp();
    456456            emitOpcode(target->isForwardLabel() ? op_jless : op_loop_if_less);
     
    479479        retrieveLastBinaryOp(dstIndex, src1Index, src2Index);
    480480       
    481         if (cond->index() == dstIndex && !cond->refCount()) {
     481        if (cond->index() == dstIndex && cond->isTemporary() && !cond->refCount()) {
    482482            rewindBinaryOp();
    483483            emitOpcode(op_jnless);
Note: See TracChangeset for help on using the changeset viewer.