Changeset 39998 in webkit for trunk/JavaScriptCore/assembler


Ignore:
Timestamp:
Jan 16, 2009, 4:39:01 PM (16 years ago)
Author:
[email protected]
Message:

2009-01-16 Gavin Barraclough <[email protected]>

Reviewed by Oliver Hunt.

Add support to x86-64 JIT for inline double precision arithmetic ops.
+5/6% on x86-64, JIT enabled, sunspider.

  • assembler/MacroAssembler.h: (JSC::MacroAssembler::addPtr):
  • assembler/X86Assembler.h: (JSC::X86Assembler::movq_rr):
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::compileFastArith_op_pre_inc): (JSC::JIT::compileBinaryArithOp): (JSC::JIT::compileBinaryArithOpSlowCase): (JSC::JIT::compileFastArith_op_add): (JSC::JIT::compileFastArithSlow_op_add): (JSC::JIT::compileFastArith_op_mul): (JSC::JIT::compileFastArithSlow_op_mul): (JSC::JIT::compileFastArith_op_sub): (JSC::JIT::compileFastArithSlow_op_sub):
  • parser/ResultType.h: (JSC::ResultType::isReusable): (JSC::ResultType::isInt32): (JSC::ResultType::definitelyIsNumber): (JSC::ResultType::mightBeNumber): (JSC::ResultType::isNotNumber): (JSC::ResultType::unknownType):
Location:
trunk/JavaScriptCore/assembler
Files:
2 edited

Legend:

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

    r39993 r39998  
    466466    }
    467467
     468    void addPtr(ImmPtr imm, RegisterID dest)
     469    {
     470#if PLATFORM(X86_64)
     471        move(imm, scratchRegister);
     472        m_assembler.addq_rr(scratchRegister, dest);
     473#else
     474        add32(Imm32(imm), dest);
     475#endif
     476    }
     477
    468478    void addPtr(Imm32 imm, RegisterID src, RegisterID dest)
    469479    {
  • trunk/JavaScriptCore/assembler/X86Assembler.h

    r39958 r39998  
    10961096
    10971097#if PLATFORM(X86_64)
     1098    void movq_rr(XMMRegisterID src, RegisterID dst)
     1099    {
     1100        m_formatter.prefix(PRE_SSE_66);
     1101        m_formatter.twoByteOp64(OP2_MOVD_EdVd, (RegisterID)src, dst);
     1102    }
     1103
    10981104    void movq_rr(RegisterID src, XMMRegisterID dst)
    10991105    {
Note: See TracChangeset for help on using the changeset viewer.