Ignore:
Timestamp:
Dec 17, 2008, 11:02:29 PM (16 years ago)
Author:
[email protected]
Message:

2008-12-17 Gavin Barraclough <[email protected]>

Reviewed by Cameron Zwarich.

Fixes for Sunspider failures with the JIT enabled on x86-64.

  • assembler/MacroAssembler.h:

Switch the order of the RegisterID & Address form of je32, to keep it consistent with jne32.

  • jit/JIT.cpp:
  • jit/JIT.h:
  • jit/JITInlineMethods.h:

Port the m_ctiVirtualCall tramopline generation to use the MacroAssembler interface.

  • jit/JITCall.cpp:

Fix bug in the non-optimizing code path, vptr check should have been to the memory address pointer
to by the register, not to the register itself.

  • wrec/WRECGenerator.cpp:

See assembler/MacroAssembler.h, above.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/wrec/WRECGenerator.cpp

    r39250 r39371  
    146146
    147147    load32(Address(output, (2 * subpatternId) * sizeof(int)), character);
    148     Jump skipIfEmpty = je32(character, Address(output, ((2 * subpatternId) + 1) * sizeof(int)));
     148    Jump skipIfEmpty = je32(Address(output, ((2 * subpatternId) + 1) * sizeof(int)), character);
    149149
    150150    ASSERT(quantifierType == Quantifier::Greedy || quantifierType == Quantifier::NonGreedy);
     
    626626
    627627    // check if we're at the end of backref (if we are, success!)
    628     Jump endOfBackRef = je32(repeatCount, Address(output, ((2 * subpatternId) + 1) * sizeof(int)));
    629    
     628    Jump endOfBackRef = je32(Address(output, ((2 * subpatternId) + 1) * sizeof(int)), repeatCount);
     629
    630630    load16(BaseIndex(input, repeatCount, MacroAssembler::TimesTwo), character);
    631    
     631
    632632    // check if we've run out of input (this would be a can o'fail)
    633633    Jump endOfInput = je32(length, index);
    634634
    635635    je16(character, BaseIndex(input, index, TimesTwo), topOfLoop);
    636    
     636
    637637    endOfInput.link(this);
    638638
     
    641641    pop(index);
    642642    failures.append(jump());
    643    
     643
    644644    // Success
    645645    endOfBackRef.link(this);
Note: See TracChangeset for help on using the changeset viewer.