Skip to content
  • fpizlo@apple.com's avatar
    All of JSC's heuristics should be in one place for easier tuning · 7125f98c
    fpizlo@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=69201
    
    Reviewed by Oliver Hunt.
            
    This makes it possible to change tiered compilation heuristics in
    one place (Heuristics.cpp) without recompiling the whole project.
            
    It also makes it possible to enable setting heuristics using
    environment variables. This is off by default. When turned on, it
    makes tuning the system much easier.
    
    * CMakeLists.txt:
    * GNUmakefile.list.am:
    * JavaScriptCore.pro:
    * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
    * JavaScriptCore.xcodeproj/project.pbxproj:
    * bytecode/CodeBlock.cpp:
    (JSC::CodeBlock::shouldOptimizeNow):
    * bytecode/CodeBlock.h:
    * dfg/DFGJITCompiler.cpp:
    (JSC::DFG::JITCompiler::exitSpeculativeWithOSR):
    * jit/JIT.cpp:
    (JSC::JIT::emitOptimizationCheck):
    * runtime/Heuristics.cpp: Added.
    (JSC::Heuristics::parse):
    (JSC::Heuristics::setHeuristic):
    (JSC::Heuristics::initializeHeuristics):
    * runtime/Heuristics.h: Added.
    * runtime/InitializeThreading.cpp:
    (JSC::initializeThreadingOnce):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    7125f98c