Changeset 167906 in webkit


Ignore:
Timestamp:
Apr 28, 2014 2:14:48 PM (10 years ago)
Author:
fpizlo@apple.com
Message:

Source/JavaScriptCore: The LLInt is awesome and it should get more of the action.

Rubber stamped by Geoffrey Garen.

5% speed-up on JSBench and no meaningful regressions. Should be a PLT/DYE speed-up also.

  • runtime/Options.h:

Tools: Make sure that the coverage of our tests doesn't change much if we change the thresholds now and in the future, but making
"no-cjit" runs force the old-school threshold.

Rubber stamped by Mark Hahnenberg.

  • Scripts/run-jsc-stress-tests:
Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r167897 r167906  
     12014-04-28  Filip Pizlo  <fpizlo@apple.com>
     2
     3        The LLInt is awesome and it should get more of the action.
     4
     5        Rubber stamped by Geoffrey Garen.
     6       
     7        5% speed-up on JSBench and no meaningful regressions.  Should be a PLT/DYE speed-up also.
     8
     9        * runtime/Options.h:
     10
    1112014-04-27  Filip Pizlo  <fpizlo@apple.com>
    212
  • trunk/Source/JavaScriptCore/runtime/Options.h

    r167772 r167906  
    205205    v(unsigned, maximumBinaryStringSwitchTotalLength, 2000) \
    206206    \
    207     v(int32, thresholdForJITAfterWarmUp, 100) \
     207    v(int32, thresholdForJITAfterWarmUp, 500) \
    208208    v(int32, thresholdForJITSoon, 100) \
    209209    \
  • trunk/Tools/ChangeLog

    r167902 r167906  
     12014-04-28  Filip Pizlo  <fpizlo@apple.com>
     2
     3        Make sure that the coverage of our tests doesn't change much if we change the thresholds now and in the future, but making
     4        "no-cjit" runs force the old-school threshold.
     5
     6        Rubber stamped by Mark Hahnenberg.
     7
     8        * Scripts/run-jsc-stress-tests:
     9
    1102014-04-28  Carlos Alberto Lopez Perez  <clopez@igalia.com>
    211
  • trunk/Tools/Scripts/run-jsc-stress-tests

    r167613 r167906  
    180180
    181181EAGER_OPTIONS = ["--thresholdForJITAfterWarmUp=10", "--thresholdForJITSoon=10", "--thresholdForOptimizeAfterWarmUp=20", "--thresholdForOptimizeAfterLongWarmUp=20", "--thresholdForOptimizeSoon=20", "--thresholdForFTLOptimizeAfterWarmUp=20", "--thresholdForFTLOptimizeSoon=20"]
    182 
     182NO_CJIT_OPTIONS = ["--enableConcurrentJIT=false", "--thresholdForJITAfterWarmUp=100"]
    183183NO_FTL_OPTIONS = ["--useFTLJIT=false"]
    184 
    185184FTL_OPTIONS = ["--useFTLJIT=true", "--enableExperimentalFTLCoverage=true"]
    186185
     
    533532
    534533def runNoCJITValidate
    535     run("no-cjit", "--enableConcurrentJIT=false", "--validateBytecode=true", "--validateGraph=true")
     534    run("no-cjit", "--validateBytecode=true", "--validateGraph=true", *NO_CJIT_OPTIONS)
    536535end
    537536
    538537def runNoCJITValidatePhases
    539     run("no-cjit-validate-phases", "--enableConcurrentJIT=false", "--validateBytecode=true", "--validateGraphAtEachPhase=true")
     538    run("no-cjit-validate-phases", "--validateBytecode=true", "--validateGraphAtEachPhase=true", *NO_CJIT_OPTIONS)
    540539end
    541540
     
    545544
    546545def runFTLNoCJIT
    547     run("ftl-no-cjit", "--enableConcurrentJIT=false", *FTL_OPTIONS) if $enableFTL
     546    run("ftl-no-cjit", *(FTL_OPTIONS + NO_CJIT_OPTIONS)) if $enableFTL
    548547end
    549548
    550549def runFTLNoCJITValidate
    551     run("ftl-no-cjit-validate", "--enableConcurrentJIT=false", "--validateGraph=true", *FTL_OPTIONS) if $enableFTL
     550    run("ftl-no-cjit-validate", "--validateGraph=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS)) if $enableFTL
    552551end
    553552
    554553def runFTLNoCJITNoInlineValidate
    555     run("ftl-no-cjit-no-inline-validate", "--enableConcurrentJIT=false", "--validateGraph=true", "--maximumInliningDepth=1", "--maximumInliningDepthForMustInline=1", *FTL_OPTIONS) if $enableFTL
     554    run("ftl-no-cjit-no-inline-validate", "--validateGraph=true", "--maximumInliningDepth=1", "--maximumInliningDepthForMustInline=1", *(FTL_OPTIONS + NO_CJIT_OPTIONS)) if $enableFTL
    556555end
    557556
    558557def runFTLNoCJITOSRValidation
    559     run("ftl-no-cjit-osr-validation", "--enableConcurrentJIT=false", "--validateFTLOSRExitLiveness=true", *FTL_OPTIONS) if $enableFTL
     558    run("ftl-no-cjit-osr-validation", "--validateFTLOSRExitLiveness=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS)) if $enableFTL
    560559end
    561560
     
    565564
    566565def runDFGEagerNoCJITValidate
    567     run("dfg-eager-no-cjit-validate", "--enableConcurrentJIT=false", "--validateGraph=true", *EAGER_OPTIONS)
     566    run("dfg-eager-no-cjit-validate", "--validateGraph=true", *(EAGER_OPTIONS + NO_CJIT_OPTIONS))
    568567end
    569568
     
    573572
    574573def runFTLEagerNoCJITValidate
    575     run("ftl-eager-no-cjit", "--enableConcurrentJIT=false", "--validateGraph=true", *(FTL_OPTIONS + EAGER_OPTIONS)) if $enableFTL
     574    run("ftl-eager-no-cjit", "--validateGraph=true", *(FTL_OPTIONS + EAGER_OPTIONS + NO_CJIT_OPTIONS)) if $enableFTL
    576575end
    577576
    578577def runFTLEagerNoCJITOSRValidation
    579     run("ftl-eager-no-cjit-osr-validation", "--enableConcurrentJIT=false", "--validateFTLOSRExitLiveness=true", *(FTL_OPTIONS + EAGER_OPTIONS)) if $enableFTL
     578    run("ftl-eager-no-cjit-osr-validation", "--validateFTLOSRExitLiveness=true", *(FTL_OPTIONS + EAGER_OPTIONS + NO_CJIT_OPTIONS)) if $enableFTL
    580579end
    581580
     
    585584
    586585def runNoCJITNoASO
    587     run("no-cjit-no-aso", "--enableConcurrentJIT=false", "--enableArchitectureSpecificOptimizations=false")
     586    run("no-cjit-no-aso", "--enableArchitectureSpecificOptimizations=false", *NO_CJIT_OPTIONS)
    588587end
    589588
    590589def runFTLNoCJITNoSimpleOpt
    591     run("ftl-no-cjit-no-simple-opt", "--enableConcurrentJIT=false", "--llvmSimpleOpt=false", *FTL_OPTIONS) if $enableFTL
     590    run("ftl-no-cjit-no-simple-opt", "--llvmSimpleOpt=false", *(FTL_OPTIONS + NO_CJIT_OPTIONS)) if $enableFTL
    592591end
    593592
    594593def runNoCJITNoAccessInlining
    595     run("no-cjit-no-access-inlining", "--enableConcurrentJIT=false", "--enableAccessInlining=false")
     594    run("no-cjit-no-access-inlining", "--enableAccessInlining=false", *NO_CJIT_OPTIONS)
    596595end
    597596
    598597def runFTLNoCJITNoAccessInlining
    599     run("ftl-no-cjit-no-access-inlining", "--enableConcurrentJIT=false", "--enableAccessInlining=false", *FTL_OPTIONS) if $enableFTL
     598    run("ftl-no-cjit-no-access-inlining", "--enableAccessInlining=false", *(FTL_OPTIONS + NO_CJIT_OPTIONS)) if $enableFTL
    600599end
    601600
     
    683682
    684683def runLayoutTestNoCJIT
    685     runLayoutTest("no-cjit", "--enableConcurrentJIT=false")
     684    runLayoutTest("no-cjit", *NO_CJIT_OPTIONS)
    686685end
    687686
    688687def runLayoutTestDFGEagerNoCJIT
    689     runLayoutTest("dfg-eager-no-cjit", "--enableConcurrentJIT=false", *EAGER_OPTIONS)
     688    runLayoutTest("dfg-eager-no-cjit", *(EAGER_OPTIONS + NO_CJIT_OPTIONS))
    690689end
    691690
     
    695694
    696695def runLayoutTestFTLNoCJIT
    697     runLayoutTest("ftl-no-cjit", "--testTheFTL=true", "--enableConcurrentJIT=false", *FTL_OPTIONS) if $enableFTL
     696    runLayoutTest("ftl-no-cjit", "--testTheFTL=true", *(FTL_OPTIONS + NO_CJIT_OPTIONS)) if $enableFTL
    698697end
    699698
    700699def runLayoutTestFTLEagerNoCJIT
    701     runLayoutTest("ftl-eager-no-cjit", "--testTheFTL=true", "--enableConcurrentJIT=false", *(FTL_OPTIONS + EAGER_OPTIONS)) if $enableFTL
     700    runLayoutTest("ftl-eager-no-cjit", "--testTheFTL=true", *(FTL_OPTIONS + EAGER_OPTIONS + NO_CJIT_OPTIONS)) if $enableFTL
    702701end
    703702
     
    782781
    783782def runMozillaTestDFGEagerNoCJITValidatePhases(mode, *extraFiles)
    784     runMozillaTest("dfg-eager-no-cjit-validate-phases", mode, extraFiles, "--enableConcurrentJIT=false", "--validateBytecode=true", "--validateGraphAtEachPhase=true", *EAGER_OPTIONS)
     783    runMozillaTest("dfg-eager-no-cjit-validate-phases", mode, extraFiles, "--validateBytecode=true", "--validateGraphAtEachPhase=true", *(EAGER_OPTIONS + NO_CJIT_OPTIONS))
    785784end
    786785
    787786def runMozillaTestFTLEagerNoCJITValidatePhases(mode, *extraFiles)
    788     runMozillaTest("ftl-eager-no-cjit-validate-phases", mode, extraFiles, "--enableConcurrentJIT=false", "--validateBytecode=true", "--validateGraphAtEachPhase=true", *(FTL_OPTIONS + EAGER_OPTIONS)) if $enableFTL
     787    runMozillaTest("ftl-eager-no-cjit-validate-phases", mode, extraFiles, "--validateBytecode=true", "--validateGraphAtEachPhase=true", *(FTL_OPTIONS + EAGER_OPTIONS + NO_CJIT_OPTIONS)) if $enableFTL
    789788end
    790789
Note: See TracChangeset for help on using the changeset viewer.