Ignore:
Timestamp:
Aug 20, 2013, 6:38:14 AM (12 years ago)
Author:
[email protected]
Message:

<https://webkit.org/b/120062> Missing ensureSpace call in sh4 baseline JIT.

Patch by Julien Brianceau <[email protected]> on 2013-08-20
Reviewed by Allan Sandfeld Jensen.

branchPtrWithPatch() of baseline JIT must ensure that space is available for its
instructions and two constants now DFG is enabled for sh4 architecture.
These missing ensureSpace calls lead to random crashes.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::branchPtrWithPatch):

File:
1 edited

Legend:

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

    r154052 r154324  
    23352335        RegisterID dataTempRegister = claimScratch();
    23362336
     2337        m_assembler.ensureSpace(m_assembler.maxInstructionSize + 10, 2 * sizeof(uint32_t));
    23372338        dataLabel = moveWithPatch(initialRightValue, dataTempRegister);
    23382339        m_assembler.cmplRegReg(dataTempRegister, left, SH4Condition(cond));
     
    23522353        m_assembler.movlMemReg(scr, scr);
    23532354        RegisterID scr1 = claimScratch();
     2355        m_assembler.ensureSpace(m_assembler.maxInstructionSize + 10, 2 * sizeof(uint32_t));
    23542356        dataLabel = moveWithPatch(initialRightValue, scr1);
    23552357        m_assembler.cmplRegReg(scr1, scr, SH4Condition(cond));
Note: See TracChangeset for help on using the changeset viewer.