Ignore:
Timestamp:
Apr 22, 2013, 10:37:29 AM (12 years ago)
Author:
[email protected]
Message:

Change baseline JIT watchdog timer check to use the proper fast slow path
infrastructure.
https://bugs.webkit.org/show_bug.cgi?id=114963.

Reviewed by Oliver Hunt.

SH4 parts contributed by Julien Brianceau.

  • assembler/ARMAssembler.h:
  • assembler/MacroAssemblerARM.h:
  • assembler/MacroAssemblerARMv7.h:
  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::branchAdd32):

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::branchAdd32):

  • assembler/MacroAssemblerX86Common.h:
  • assembler/SH4Assembler.h:
  • jit/JIT.cpp:

(JSC::JIT::emitEnterOptimizationCheck):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:

(JSC::JIT::emitEnterOptimizationCheck):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_loop_hint):
(JSC::JIT::emitSlow_op_loop_hint):
(JSC::JIT::emit_op_enter):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_enter):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/jit/JIT.h

    r148696 r148893  
    781781        void emitSlow_op_jngreatereq(Instruction*, Vector<SlowCaseEntry>::iterator&);
    782782        void emitSlow_op_jtrue(Instruction*, Vector<SlowCaseEntry>::iterator&);
     783        void emitSlow_op_loop_hint(Instruction*, Vector<SlowCaseEntry>::iterator&);
    783784        void emitSlow_op_lshift(Instruction*, Vector<SlowCaseEntry>::iterator&);
    784785        void emitSlow_op_mod(Instruction*, Vector<SlowCaseEntry>::iterator&);
     
    853854        void emitLoadCharacterString(RegisterID src, RegisterID dst, JumpList& failures);
    854855       
    855         enum OptimizationCheckKind { LoopOptimizationCheck, EnterOptimizationCheck };
    856856#if ENABLE(DFG_JIT)
    857         void emitOptimizationCheck(OptimizationCheckKind);
    858 #else
    859         void emitOptimizationCheck(OptimizationCheckKind) { }
    860 #endif
    861         void emitWatchdogTimerCheck();
     857        void emitEnterOptimizationCheck();
     858#else
     859        void emitEnterOptimizationCheck() { }
     860#endif
    862861
    863862#ifndef NDEBUG
     
    945944    } JIT_CLASS_ALIGNMENT;
    946945
    947     inline void JIT::emit_op_loop_hint(Instruction*)
    948     {
    949         emitWatchdogTimerCheck();
    950         emitOptimizationCheck(LoopOptimizationCheck);
    951     }
    952 
    953946} // namespace JSC
    954947
Note: See TracChangeset for help on using the changeset viewer.