Ignore:
Timestamp:
Jul 24, 2013, 9:04:29 PM (12 years ago)
Author:
[email protected]
Message:

fourthTier: FTL should better report its compile-times and it should be able to run in a mode where it doesn't spend time generating OSR exits
https://bugs.webkit.org/show_bug.cgi?id=118401

Reviewed by Sam Weinig.

Add two new OSR exit modes, which are useful only for playing with compile times:

  • All OSR exits are llvm.trap().
  • OSR exits don't take arguments and have no exit value marshaling.
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThread):
(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPlan.h:

(Plan):

  • ftl/FTLIntrinsicRepository.h:

(FTL):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::emitOSRExitCall):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::trap):

  • runtime/Options.h:

(JSC):

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/Options.h

    r153263 r153268  
    121121    v(bool, enableLLVMFastISel, false) \
    122122    v(bool, useLLVMSmallCodeModel, false) \
     123    v(bool, ftlTrapsOnOSRExit, false) \
     124    v(bool, ftlOSRExitOmitsMarshalling, false) \
    123125    v(unsigned, llvmBackendOptimizationLevel, 2) \
    124126    v(unsigned, llvmOptimizationLevel, 2) \
Note: See TracChangeset for help on using the changeset viewer.