Ignore:
Timestamp:
Aug 15, 2013, 7:35:31 PM (12 years ago)
Author:
[email protected]
Message:

[JSC] x86: Use inc and dec when possible
https://bugs.webkit.org/show_bug.cgi?id=119831

Reviewed by Geoffrey Garen.

When incrementing or decrementing by an immediate of 1, use the insctructions
inc and dec instead of add and sub.
The instructions have good timing and their encoding is smaller.

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86_64::add32):
(JSC::MacroAssemblerX86_64::sub32):

  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::add64):
(JSC::MacroAssemblerX86_64::sub64):

  • assembler/X86Assembler.h:

(JSC::X86Assembler::dec_r):
(JSC::X86Assembler::decq_r):
(JSC::X86Assembler::inc_r):
(JSC::X86Assembler::incq_r):

File:
1 edited

Legend:

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

    r153197 r154158  
    501501#endif
    502502
     503    void dec_r(RegisterID dst)
     504    {
     505        m_formatter.oneByteOp(OP_GROUP5_Ev, GROUP1_OP_OR, dst);
     506    }
     507
     508    void decq_r(RegisterID dst)
     509    {
     510        m_formatter.oneByteOp64(OP_GROUP5_Ev, GROUP1_OP_OR, dst);
     511    }
     512
     513    void inc_r(RegisterID dst)
     514    {
     515        m_formatter.oneByteOp(OP_GROUP5_Ev, GROUP1_OP_ADD, dst);
     516    }
     517
     518    void incq_r(RegisterID dst)
     519    {
     520        m_formatter.oneByteOp64(OP_GROUP5_Ev, GROUP1_OP_ADD, dst);
     521    }
     522
    503523    void negl_r(RegisterID dst)
    504524    {
Note: See TracChangeset for help on using the changeset viewer.