Ignore:
Timestamp:
Mar 5, 2009, 11:02:10 PM (16 years ago)
Author:
[email protected]
Message:

2009-03-05 Gavin Barraclough <[email protected]>

Reviewed by Oliver Hunt.

Writes of constant values to SF registers should be made with direct memory
writes where possible, rather than moving the value via a hardware register.

~3% win on SunSpider tests on x86, ~1.5% win on v8 tests on x86-64.

  • assembler/MacroAssemblerX86_64.h: (JSC::MacroAssemblerX86_64::storePtr):
  • assembler/X86Assembler.h: (JSC::X86Assembler::movq_i32m):
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/assembler/X86Assembler.h

    r41089 r41474  
    928928    }
    929929
     930    void movq_i32m(int imm, int offset, RegisterID base)
     931    {
     932        m_formatter.oneByteOp64(OP_GROUP11_EvIz, GROUP11_MOV, base, offset);
     933        m_formatter.immediate32(imm);
     934    }
     935
    930936    void movq_i64r(int64_t imm, RegisterID dst)
    931937    {
Note: See TracChangeset for help on using the changeset viewer.