Ignore:
Timestamp:
Jun 29, 2008, 11:17:01 PM (17 years ago)
Author:
[email protected]
Message:

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

Reviewed by Oliver.

Bug 19821: Merge the instruction pair (less, jfalse)
<https://bugs.webkit.org/show_bug.cgi?id=19821>

This is a 2.4% win on SunSpider. I needed to add an ALWAYS_INLINE
intrinisc to CodeGenerator::rewindBinaryOp() to avoid a massive
regression in regexp-dna.

  • VM/CodeBlock.cpp: (KJS::CodeBlock::dump):
  • VM/CodeGenerator.cpp: (KJS::CodeGenerator::rewindBinaryOp): (KJS::CodeGenerator::emitJumpIfFalse):
  • VM/Machine.cpp: (KJS::Machine::privateExecute):
  • VM/Opcode.cpp: (KJS::):
  • VM/Opcode.h:
File:
1 edited

Legend:

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

    r34851 r34883  
    489489            break;
    490490        }
     491        case op_jnless: {
     492            int r0 = (++it)->u.operand;
     493            int r1 = (++it)->u.operand;
     494            int offset = (++it)->u.operand;
     495            printf("[%4d] jnless\t\t %s, %s, %d(->%d)\n", location, registerName(r0).c_str(), registerName(r1).c_str(), offset, jumpTarget(begin, it, offset));
     496            break;
     497        }
    491498        case op_loop_if_less: {
    492499            int r0 = (++it)->u.operand;
Note: See TracChangeset for help on using the changeset viewer.