Ignore:
Timestamp:
May 2, 2012, 7:15:49 PM (13 years ago)
Author:
[email protected]
Message:

ARM_TRADITIONAL build fix
https://bugs.webkit.org/show_bug.cgi?id=85358

Patch by Hojong Han <[email protected]> on 2012-05-02
Reviewed by Gavin Barraclough.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::lshift32):
(MacroAssemblerARM):
(JSC::MacroAssemblerARM::or32):
(JSC::MacroAssemblerARM::urshift32):
(JSC::MacroAssemblerARM::xor32):
(JSC::MacroAssemblerARM::branchSub32):

File:
1 edited

Legend:

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

    r113955 r115929  
    151151    }
    152152
     153    void lshift32(RegisterID src, TrustedImm32 imm, RegisterID dest)
     154    {
     155        m_assembler.movs_r(dest, m_assembler.lsl(src, imm.m_value & 0x1f));
     156    }
     157
    153158    void mul32(RegisterID src, RegisterID dest)
    154159    {
     
    181186    }
    182187
     188    void or32(TrustedImm32 imm, RegisterID src, RegisterID dest)
     189    {
     190        m_assembler.orrs_r(dest, src, m_assembler.getImm(imm.m_value, ARMRegisters::S0));
     191    }
     192
    183193    void or32(RegisterID op1, RegisterID op2, RegisterID dest)
    184194    {
     
    218228        m_assembler.movs_r(dest, m_assembler.lsr(dest, imm.m_value & 0x1f));
    219229    }
     230   
     231    void urshift32(RegisterID src, TrustedImm32 imm, RegisterID dest)
     232    {
     233        m_assembler.movs_r(dest, m_assembler.lsr(src, imm.m_value & 0x1f));
     234    }
    220235
    221236    void sub32(RegisterID src, RegisterID dest)
     
    258273        else
    259274            m_assembler.eors_r(dest, dest, m_assembler.getImm(imm.m_value, ARMRegisters::S0));
     275    }
     276
     277    void xor32(TrustedImm32 imm, RegisterID src, RegisterID dest)
     278    {
     279        if (imm.m_value == -1)
     280            m_assembler.mvns_r(dest, src);
     281        else   
     282            m_assembler.eors_r(dest, src, m_assembler.getImm(imm.m_value, ARMRegisters::S0));
    260283    }
    261284
     
    625648        ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
    626649        sub32(src, imm, dest);
     650        return Jump(m_assembler.jmp(ARMCondition(cond)));
     651    }
     652
     653    Jump branchSub32(ResultCondition cond, RegisterID op1, RegisterID op2, RegisterID dest)
     654    {
     655        ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
     656        m_assembler.subs_r(dest, op1, op2);
    627657        return Jump(m_assembler.jmp(ARMCondition(cond)));
    628658    }
Note: See TracChangeset for help on using the changeset viewer.