Ignore:
Timestamp:
Jun 5, 2009, 3:58:16 AM (16 years ago)
Author:
[email protected]
Message:

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

Reviewed by Oliver Hunt.

Remove DoubleNotEqual floating point comparison condition for now -
it is not used, and it is unclear the semantics are correct (I think
this comparison would actually give you not-equal-or-unordered, which
might be what is wanted... we can revisit this interface & get it
right when required).

Also, fix asserts in branchArith32 ops. All adds & subs can check
for Signed, multiply only sets OF so can only check for overflow.

  • assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::): (JSC::MacroAssemblerX86Common::branchAdd32): (JSC::MacroAssemblerX86Common::branchMul32): (JSC::MacroAssemblerX86Common::branchSub32):
File:
1 edited

Legend:

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

    r43789 r44461  
    5858    enum DoubleCondition {
    5959        DoubleEqual = X86Assembler::ConditionE,
    60         DoubleNotEqual = X86Assembler::ConditionNE,
    6160        DoubleGreaterThan = X86Assembler::ConditionA,
    6261        DoubleGreaterThanOrEqual = X86Assembler::ConditionAE,
     
    602601    Jump branchAdd32(Condition cond, Imm32 imm, RegisterID dest)
    603602    {
    604         ASSERT((cond == Overflow) || (cond == Zero) || (cond == NonZero));
     603        ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
    605604        add32(imm, dest);
    606605        return Jump(m_assembler.jCC(x86Condition(cond)));
     
    609608    Jump branchMul32(Condition cond, RegisterID src, RegisterID dest)
    610609    {
    611         ASSERT((cond == Overflow) || (cond == Zero) || (cond == NonZero));
     610        ASSERT(cond == Overflow);
    612611        mul32(src, dest);
    613612        return Jump(m_assembler.jCC(x86Condition(cond)));
     
    616615    Jump branchMul32(Condition cond, Imm32 imm, RegisterID src, RegisterID dest)
    617616    {
    618         ASSERT((cond == Overflow) || (cond == Zero) || (cond == NonZero));
     617        ASSERT(cond == Overflow);
    619618        mul32(imm, src, dest);
    620619        return Jump(m_assembler.jCC(x86Condition(cond)));
     
    623622    Jump branchSub32(Condition cond, RegisterID src, RegisterID dest)
    624623    {
    625         ASSERT((cond == Overflow) || (cond == Zero) || (cond == NonZero));
     624        ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
    626625        sub32(src, dest);
    627626        return Jump(m_assembler.jCC(x86Condition(cond)));
     
    630629    Jump branchSub32(Condition cond, Imm32 imm, RegisterID dest)
    631630    {
    632         ASSERT((cond == Overflow) || (cond == Zero) || (cond == NonZero));
     631        ASSERT((cond == Overflow) || (cond == Signed) || (cond == Zero) || (cond == NonZero));
    633632        sub32(imm, dest);
    634633        return Jump(m_assembler.jCC(x86Condition(cond)));
Note: See TracChangeset for help on using the changeset viewer.