Bug 145015

Summary: Insert store barriers late so that IR transformations don't have to worry about them
Product: WebKit Reporter: Filip Pizlo <fpizlo>
Component: JavaScriptCoreAssignee: Filip Pizlo <fpizlo>
Status: RESOLVED FIXED    
Severity: Normal CC: barraclough, basile_clement, benjamin, commit-queue, ggaren, mark.lam, mhahnenb, mmirman, msaboff, nrotem, oliver, saam, sam, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: All   
OS: All   
Bug Depends on: 145036, 145096    
Bug Blocks:    
Attachments:
Description Flags
WIP
none
it's getting interesting
none
it is written
none
almost done
none
the patch ggaren: review+

Description Filip Pizlo 2015-05-14 12:30:19 PDT
Patch forthcoming.
Comment 1 Filip Pizlo 2015-05-14 12:30:49 PDT
Created attachment 253135 [details]
WIP
Comment 2 Filip Pizlo 2015-05-14 20:08:51 PDT
Created attachment 253170 [details]
it's getting interesting
Comment 3 Filip Pizlo 2015-05-14 21:17:01 PDT
Created attachment 253174 [details]
it is written
Comment 4 Filip Pizlo 2015-05-14 22:53:45 PDT
Created attachment 253176 [details]
almost done

Just need to run perf tests.
Comment 5 WebKit Commit Bot 2015-05-14 22:55:15 PDT
Attachment 253176 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGStoreBarrierInsertionPhase.cpp:197:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGStoreBarrierInsertionPhase.cpp:321:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 6 Filip Pizlo 2015-05-15 12:24:10 PDT
Created attachment 253214 [details]
the patch
Comment 7 Radar WebKit Bug Importer 2015-05-15 12:24:39 PDT
<rdar://problem/20979071>
Comment 8 WebKit Commit Bot 2015-05-15 12:26:38 PDT
Attachment 253214 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGStoreBarrierInsertionPhase.cpp:211:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGStoreBarrierInsertionPhase.cpp:335:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 12 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 9 Geoffrey Garen 2015-05-15 13:57:33 PDT
Comment on attachment 253214 [details]
the patch

r=me
Comment 10 Filip Pizlo 2015-05-15 14:13:42 PDT
Landed in http://trac.webkit.org/changeset/184415
Comment 11 WebKit Commit Bot 2015-05-16 14:00:15 PDT
Re-opened since this is blocked by bug 145096
Comment 12 Benjamin Poulain 2015-05-16 17:09:31 PDT
It looks like this was the cause of the ~1% regression on Kraken. The revert put us back to the original speed.
Comment 13 Filip Pizlo 2015-05-17 16:23:25 PDT
According to rniwa, this is what went wrong:


https://build.webkit.org/builders/Apple%20Yosemite%20Debug%20JSC%20%28Tests%29?numbuilds=25

It looks like there's a new JSC crash introduced in the last 12 hours or so:
** The following JSC stress test failures have been introduced:
	stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate
	stress/load-varargs-then-inlined-call-inlined.js.ftl-no-cjit-validate
	stress/load-varargs-then-inlined-call.js.ftl-no-cjit-validate
The stack trace looks like this:
Running stress/load-varargs-then-inlined-call.js.ftl-eager
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: ASSERTION FAILED: canAccessIndexQuickly(i)
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: /Volumes/Data/slave/yosemite-debug/build/Source/JavaScriptCore/runtime/DirectArguments.h(87) : void JSC::DirectArguments::setIndexQuickly(JSC::VM &, uint32_t, JSC::JSValue)
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: 1   0x10f8d9e50 WTFCrashWithSecurityImplication
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: 2   0x10f1d83d6 JSC::DirectArguments::setIndexQuickly(JSC::VM&, unsigned int, JSC::JSValue)
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: 3   0x10f7a0abc operationMaterializeObjectInOSR
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: 4   0x39f8020104de
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: 5   0x39f80200b6e1
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: 6   0x10f675c79 vmEntryToJavaScript
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: 7   0x10f4db9fc JSC::JITCode::execute(JSC::VM*, JSC::ProtoCallFrame*)
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: 8   0x10f4bf57e JSC::Interpreter::execute(JSC::ProgramExecutable*, JSC::ExecState*, JSC::JSObject*)
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: 9   0x10efe7240 JSC::evaluate(JSC::ExecState*, JSC::SourceCode const&, JSC::JSValue, JSC::JSValue*)
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: 10  0x10ee568f4 runWithScripts(GlobalObject*, WTF::Vector<Script, 0ul, WTF::CrashOnOverflow, 16ul> const&, bool)
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: 11  0x10ee55eb6 jscmain(int, char**)
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: 12  0x10ee559db main
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: 13  0x7fff980755c9 start
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: 14  0x9
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: test_script_10434: line 2: 55860 Segmentation fault: 11  "$@" ../../.vm/JavaScriptCore.framework/Resources/jsc --useFTLJIT\=false --enableFunctionDotArguments\=true --validateGraph\=true --useFTLJIT\=true --ftlCrashesIfCantInitializeLLVM\=true --enableConcurrentJIT\=false --thresholdForJITAfterWarmUp\=100 load-varargs-then-inlined-call-exit-in-foo.js
stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate: ERROR: Unexpected exit code: 139
FAIL: stress/load-varargs-then-inlined-call-exit-in-foo.js.ftl-no-cjit-validate
Running stress/load-varargs-then-inlined-call.js.ftl-eager-no-cjit
Comment 14 Filip Pizlo 2015-05-17 20:40:13 PDT
Landed in http://trac.webkit.org/changeset/184445
Comment 15 Filip Pizlo 2015-05-17 20:49:37 PDT
By the way, here's the performance of this.  Note that I accidentally used "FastHole" to describe this patch during this benchmark run.


Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on dethklok (MacBookPro9,1).

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc (r184438)
"FastHole" at /Volumes/Data/pizlo/primary/OpenSource/WebKitBuild/Release/jsc (r184438)

Collected 6 samples per benchmark/VM, with 6 VM invocations per benchmark. Emitted a call to gc() between sample measurements.
Used 1 benchmark iteration per VM invocation for warm-up. Used the jsc-specific preciseTime() function to get microsecond-level
timing. Reporting benchmark execution times with 95% confidence intervals in milliseconds.

                                                        TipOfTree                  FastHole                                     
SunSpider:
   3d-cube                                            5.3470+-0.4446     ?      5.3684+-0.1713        ?
   3d-morph                                           6.0433+-0.5222            5.8549+-0.2754          might be 1.0322x faster
   3d-raytrace                                        6.6297+-0.1317     ?      6.7015+-0.1929        ? might be 1.0108x slower
   access-binary-trees                                2.4023+-0.1551            2.3330+-0.1356          might be 1.0297x faster
   access-fannkuch                                    6.1812+-0.3363            5.9853+-0.1225          might be 1.0327x faster
   access-nbody                                       2.9367+-0.1217     ?      3.1342+-0.2963        ? might be 1.0673x slower
   access-nsieve                                      3.3381+-0.1886            3.2914+-0.2066          might be 1.0142x faster
   bitops-3bit-bits-in-byte                           1.6083+-0.0934            1.5974+-0.0669        
   bitops-bits-in-byte                                3.4977+-0.1511            3.4056+-0.0424          might be 1.0271x faster
   bitops-bitwise-and                                 2.2893+-0.2557            2.2240+-0.2655          might be 1.0294x faster
   bitops-nsieve-bits                                 3.2665+-0.2354     ?      3.3668+-0.0375        ? might be 1.0307x slower
   controlflow-recursive                              2.3969+-0.1030            2.3659+-0.1283          might be 1.0131x faster
   crypto-aes                                         4.4760+-0.1809     ?      4.5051+-0.1576        ?
   crypto-md5                                         2.8840+-0.1775     ?      3.0172+-0.0668        ? might be 1.0462x slower
   crypto-sha1                                        3.0122+-0.4733            2.6849+-0.1576          might be 1.1219x faster
   date-format-tofte                                  9.4690+-0.2389     ?      9.6351+-0.1570        ? might be 1.0175x slower
   date-format-xparb                                  5.8908+-0.2302            5.8842+-0.1464        
   math-cordic                                        3.2318+-0.1133            3.1347+-0.0783          might be 1.0310x faster
   math-partial-sums                                  5.5450+-0.4658            5.4633+-0.4089          might be 1.0150x faster
   math-spectral-norm                                 2.0689+-0.2483            2.0670+-0.1047        
   regexp-dna                                         8.1557+-1.6086            7.6639+-1.2450          might be 1.0642x faster
   string-base64                                      5.0625+-0.7732            4.9091+-0.3422          might be 1.0312x faster
   string-fasta                                       6.9500+-0.8539            6.7537+-0.2325          might be 1.0291x faster
   string-tagcloud                                    9.4698+-0.7675     ?      9.7358+-0.5939        ? might be 1.0281x slower
   string-unpack-code                                20.4442+-1.1706     ?     20.4832+-0.9088        ?
   string-validate-input                              5.0529+-0.2896            4.9443+-0.0749          might be 1.0220x faster

   <arithmetic>                                       5.2942+-0.0824            5.2504+-0.0559          might be 1.0084x faster

                                                        TipOfTree                  FastHole                                     
LongSpider:
   3d-cube                                          892.7395+-5.0607          886.5526+-15.2226       
   3d-morph                                        1529.7404+-4.7518         1525.8464+-3.1764        
   3d-raytrace                                      729.4768+-3.1872     ^    715.0158+-3.2136        ^ definitely 1.0202x faster
   access-binary-trees                              974.9606+-7.7585     ?    975.9218+-5.3775        ?
   access-fannkuch                                  333.8483+-8.0728          331.0494+-12.1326       
   access-nbody                                     614.1430+-1.0155     !    618.8892+-1.7579        ! definitely 1.0077x slower
   access-nsieve                                    480.0809+-5.7234          475.8310+-4.0371        
   bitops-3bit-bits-in-byte                          45.6847+-2.2265           45.4667+-1.8717        
   bitops-bits-in-byte                              100.4565+-0.9026     ?    102.3882+-2.3170        ? might be 1.0192x slower
   bitops-nsieve-bits                               421.7202+-5.4206     ?    421.7530+-3.3044        ?
   controlflow-recursive                            488.0481+-10.0574    ?    496.8451+-15.5431       ? might be 1.0180x slower
   crypto-aes                                       700.6156+-7.0114          698.9133+-8.1526        
   crypto-md5                                       527.3289+-11.0259         523.3079+-3.5765        
   crypto-sha1                                      592.8263+-5.2765     ?    598.2193+-3.7905        ?
   date-format-tofte                                752.5677+-16.5976    ?    760.6800+-21.7656       ? might be 1.0108x slower
   date-format-xparb                                806.0216+-20.8986         787.0651+-13.6619         might be 1.0241x faster
   hash-map                                         167.9965+-3.6497     ?    174.0634+-3.2294        ? might be 1.0361x slower
   math-cordic                                      587.8615+-4.7104          587.1063+-1.4179        
   math-partial-sums                                505.8996+-1.9968          504.5141+-2.1837        
   math-spectral-norm                               566.9205+-8.4671          566.6189+-3.8914        
   string-base64                                    375.1388+-6.6206     ?    378.3469+-5.1091        ?
   string-fasta                                     449.1850+-15.0440         443.0114+-10.8297         might be 1.0139x faster
   string-tagcloud                                  198.3151+-3.4244          197.0706+-3.2526        

   <geometric>                                      451.3582+-2.3537          451.3430+-1.4113          might be 1.0000x faster

                                                        TipOfTree                  FastHole                                     
V8Spider:
   crypto                                            56.2931+-1.0759           55.6403+-1.9447          might be 1.0117x faster
   deltablue                                        100.3507+-3.8185     ?    101.1292+-1.9157        ?
   earley-boyer                                      48.7974+-2.4067     ?     49.3992+-3.1538        ? might be 1.0123x slower
   raytrace                                          40.1763+-2.5039           38.1790+-3.1524          might be 1.0523x faster
   regexp                                            82.3140+-2.9329     ?     82.7694+-2.2387        ?
   richards                                          79.6377+-3.2902     ?     80.6523+-2.1626        ? might be 1.0127x slower
   splay                                             41.2985+-1.3384           40.6113+-1.6315          might be 1.0169x faster

   <geometric>                                       60.5595+-1.1425           60.1976+-1.4025          might be 1.0060x faster

                                                        TipOfTree                  FastHole                                     
Octane:
   encrypt                                           0.20393+-0.00064          0.20372+-0.00243       
   decrypt                                           3.54202+-0.02313    !     3.63317+-0.02578       ! definitely 1.0257x slower
   deltablue                                x2       0.19760+-0.00112    ?     0.19967+-0.00446       ? might be 1.0104x slower
   earley                                            0.39615+-0.00472          0.39555+-0.00423       
   boyer                                             5.11032+-0.03546    ?     5.11622+-0.01127       ?
   navier-stokes                            x2       5.19224+-0.02467    ?     5.19434+-0.03277       ?
   raytrace                                 x2       1.27016+-0.03817          1.23838+-0.04053         might be 1.0257x faster
   richards                                 x2       0.12180+-0.00103    ?     0.12350+-0.00218       ? might be 1.0140x slower
   splay                                    x2       0.40254+-0.00173    ?     0.40664+-0.00260       ? might be 1.0102x slower
   regexp                                   x2      31.75408+-0.35118         31.62559+-0.25046       
   pdfjs                                    x2      42.84257+-0.45133         42.40059+-0.30219         might be 1.0104x faster
   mandreel                                 x2      49.77939+-0.61049    ?    49.82737+-0.48997       ?
   gbemu                                    x2      41.53544+-0.55081    ?    42.05594+-0.35791       ? might be 1.0125x slower
   closure                                           0.56080+-0.00441          0.55928+-0.00202       
   jquery                                            7.11636+-0.05922    ?     7.18761+-0.05595       ? might be 1.0100x slower
   box2d                                    x2      12.37004+-0.11364    !    12.58227+-0.07457       ! definitely 1.0172x slower
   zlib                                     x2     405.55355+-41.70108       390.33203+-13.20247        might be 1.0390x faster
   typescript                               x2     814.58020+-12.88266   ?   823.32235+-7.25419       ? might be 1.0107x slower

   <geometric>                                       6.55360+-0.05527    ?     6.56072+-0.01417       ? might be 1.0011x slower

                                                        TipOfTree                  FastHole                                     
Kraken:
   ai-astar                                          277.574+-2.429      ?     277.996+-2.575         ?
   audio-beat-detection                              106.992+-0.609      ^     105.841+-0.528         ^ definitely 1.0109x faster
   audio-dft                                         118.961+-2.016      ?     118.965+-1.713         ?
   audio-fft                                          83.906+-4.905             81.357+-3.870           might be 1.0313x faster
   audio-oscillator                                   77.849+-1.719             77.373+-1.633         
   imaging-darkroom                                  106.174+-2.110            105.493+-1.942         
   imaging-desaturate                                 63.805+-2.649      ?      63.996+-2.089         ?
   imaging-gaussian-blur                             110.208+-1.575            109.934+-0.321         
   json-parse-financial                               46.279+-1.912             45.451+-1.220           might be 1.0182x faster
   json-stringify-tinderbox                           29.591+-1.629             28.389+-1.454           might be 1.0423x faster
   stanford-crypto-aes                                58.612+-2.024             58.601+-0.768         
   stanford-crypto-ccm                                50.099+-1.470      ?      51.194+-2.848         ? might be 1.0219x slower
   stanford-crypto-pbkdf2                            118.041+-1.377      ?     118.620+-1.869         ?
   stanford-crypto-sha256-iterative                   50.074+-1.875             48.756+-0.697           might be 1.0270x faster

   <arithmetic>                                       92.726+-0.276             92.283+-0.288           might be 1.0048x faster

                                                        TipOfTree                  FastHole                                     
JSRegress:
   abs-boolean                                        2.7532+-0.1226            2.6822+-0.0447          might be 1.0265x faster
   adapt-to-double-divide                            16.7602+-0.3065     ?     16.8164+-0.1620        ?
   aliased-arguments-getbyval                         1.3123+-0.0565     ?      1.3558+-0.2315        ? might be 1.0331x slower
   allocate-big-object                                3.1018+-0.2623            2.8799+-0.1190          might be 1.0770x faster
   arguments-named-and-reflective                    13.3793+-1.2908           12.1983+-0.3079          might be 1.0968x faster
   arguments-out-of-bounds                           15.1466+-0.4829           14.8324+-0.1925          might be 1.0212x faster
   arguments-strict-mode                             10.6374+-0.2417     !     11.2365+-0.2303        ! definitely 1.0563x slower
   arguments                                          9.9647+-1.1852     ?     10.6742+-1.0197        ? might be 1.0712x slower
   arity-mismatch-inlining                            0.8797+-0.0515     ?      0.9046+-0.0532        ? might be 1.0284x slower
   array-access-polymorphic-structure                 7.1742+-0.8698     ?      7.2951+-0.9391        ? might be 1.0169x slower
   array-nonarray-polymorhpic-access                 34.6558+-0.3792           34.2131+-1.5672          might be 1.0129x faster
   array-prototype-every                             85.8643+-1.0936     ?     86.5895+-3.3742        ?
   array-prototype-forEach                           85.9356+-2.1910           84.1624+-2.2132          might be 1.0211x faster
   array-prototype-map                               93.1617+-2.0635           93.0924+-3.2971        
   array-prototype-some                              85.6510+-2.0896     ?     87.7655+-1.9476        ? might be 1.0247x slower
   array-splice-contiguous                           41.9705+-1.8326     ?     42.5025+-3.4543        ? might be 1.0127x slower
   array-with-double-add                              4.3222+-0.3541            4.1173+-0.0561          might be 1.0498x faster
   array-with-double-increment                        3.2572+-0.0531     ?      3.3234+-0.1441        ? might be 1.0203x slower
   array-with-double-mul-add                          5.1880+-0.3121            5.1033+-0.1942          might be 1.0166x faster
   array-with-double-sum                              3.4298+-0.1321            3.3486+-0.0754          might be 1.0243x faster
   array-with-int32-add-sub                           6.8062+-0.0984            6.7708+-0.0742        
   array-with-int32-or-double-sum                     3.3754+-0.1077     ?      3.3766+-0.0702        ?
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     32.9788+-1.6299     ?     34.1332+-1.8897        ? might be 1.0350x slower
   ArrayBuffer-DataView-alloc-long-lived             15.3683+-1.6830           14.9323+-1.8128          might be 1.0292x faster
   ArrayBuffer-Int32Array-byteOffset                  4.2412+-0.4725            3.8230+-0.1165          might be 1.1094x faster
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     32.8265+-1.4592     ?     33.0315+-1.5497        ?
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     23.6857+-1.6616           23.5081+-1.5620        
   ArrayBuffer-Int8Array-alloc-long-lived            13.5882+-1.4660           12.7449+-0.3232          might be 1.0662x faster
   ArrayBuffer-Int8Array-alloc                       11.6309+-1.6985     ?     12.1529+-1.7447        ? might be 1.0449x slower
   asmjs_bool_bug                                     7.7201+-0.0938            7.5226+-0.1426          might be 1.0263x faster
   assign-custom-setter-polymorphic                   3.1180+-0.1597     ?      3.2072+-0.3120        ? might be 1.0286x slower
   assign-custom-setter                               4.4517+-0.5072            4.3600+-0.5568          might be 1.0210x faster
   basic-set                                          8.5223+-0.1712     ?      8.7297+-0.6797        ? might be 1.0243x slower
   big-int-mul                                        4.2895+-0.3275            4.0208+-0.0707          might be 1.0668x faster
   boolean-test                                       3.3339+-0.3522            3.1490+-0.0908          might be 1.0587x faster
   branch-fold                                        3.7489+-0.0412            3.7217+-0.0268        
   branch-on-string-as-boolean                       19.4921+-1.3142     ?     19.8202+-1.1386        ? might be 1.0168x slower
   by-val-generic                                     8.0744+-0.1993     ?      8.0760+-0.2470        ?
   call-spread-apply                                 31.1986+-2.2385           30.0142+-1.7576          might be 1.0395x faster
   call-spread-call                                  26.6027+-1.4833           26.1649+-0.9349          might be 1.0167x faster
   captured-assignments                               0.4912+-0.0446            0.4549+-0.0176          might be 1.0799x faster
   cast-int-to-double                                 5.2154+-0.0142     !      5.3350+-0.0496        ! definitely 1.0229x slower
   cell-argument                                      8.7261+-0.2537     ?      8.9520+-0.6726        ? might be 1.0259x slower
   cfg-simplify                                       2.8438+-0.0738     ?      2.8967+-0.1228        ? might be 1.0186x slower
   chain-getter-access                                9.2469+-0.0601     ?      9.2648+-0.4874        ?
   cmpeq-obj-to-obj-other                            11.9070+-1.1135           11.7075+-0.6106          might be 1.0170x faster
   constant-test                                      4.9798+-0.1244     ?      5.0483+-0.1070        ? might be 1.0138x slower
   create-lots-of-functions                          11.5019+-0.1218     !     11.9838+-0.1602        ! definitely 1.0419x slower
   DataView-custom-properties                        40.0389+-1.5703     ?     40.0884+-0.4524        ?
   deconstructing-parameters-overridden-by-function   
                                                      0.5689+-0.0667     ?      0.5791+-0.0487        ? might be 1.0180x slower
   delay-tear-off-arguments-strictmode               14.6777+-1.2311           14.5643+-1.0776        
   deltablue-varargs                                206.2666+-1.7586          204.1346+-1.6704          might be 1.0104x faster
   destructuring-arguments                           17.1987+-0.7583     ?     18.1956+-0.4938        ? might be 1.0580x slower
   destructuring-swap                                 5.1007+-0.1719     ?      5.1239+-0.0500        ?
   direct-arguments-getbyval                          1.3391+-0.1292            1.2787+-0.0825          might be 1.0472x faster
   div-boolean-double                                 5.2763+-0.1338            5.2185+-0.0226          might be 1.0111x faster
   div-boolean                                        7.8447+-0.1236     ?      7.8741+-0.1809        ?
   double-get-by-val-out-of-bounds                    4.5095+-0.0658     ?      4.5680+-0.0444        ? might be 1.0130x slower
   double-pollution-getbyval                          8.8343+-0.0289     ?      8.8768+-0.0582        ?
   double-pollution-putbyoffset                       4.4592+-0.4890            4.3936+-0.1345          might be 1.0149x faster
   double-to-int32-typed-array-no-inline              2.4831+-0.2805            2.2885+-0.1190          might be 1.0850x faster
   double-to-int32-typed-array                        1.9725+-0.0693     ?      1.9828+-0.0589        ?
   double-to-uint32-typed-array-no-inline             2.4096+-0.1397     ?      2.6020+-0.2838        ? might be 1.0798x slower
   double-to-uint32-typed-array                       2.1901+-0.2388            2.0848+-0.0906          might be 1.0506x faster
   elidable-new-object-dag                           43.7726+-2.3400           43.2656+-2.6146          might be 1.0117x faster
   elidable-new-object-roflcopter                    44.8644+-1.6481     ?     44.8721+-1.7076        ?
   elidable-new-object-then-call                     39.6154+-1.2959     ?     40.6639+-2.0208        ? might be 1.0265x slower
   elidable-new-object-tree                          45.6764+-1.6180     ?     48.1781+-5.0095        ? might be 1.0548x slower
   empty-string-plus-int                              5.4823+-0.0813     ?      5.6117+-0.1704        ? might be 1.0236x slower
   emscripten-cube2hash                              38.4152+-0.9917     ?     39.3128+-1.4302        ? might be 1.0234x slower
   exit-length-on-plain-object                       14.5974+-1.0945     ?     14.9695+-0.9230        ? might be 1.0255x slower
   external-arguments-getbyval                        1.2633+-0.0586     ?      1.4100+-0.2859        ? might be 1.1161x slower
   external-arguments-putbyval                        2.4462+-0.2640     ?      2.5067+-0.4012        ? might be 1.0247x slower
   fixed-typed-array-storage-var-index                1.2365+-0.0276     ?      1.4034+-0.1800        ? might be 1.1351x slower
   fixed-typed-array-storage                          0.9119+-0.0758     ?      0.9370+-0.1210        ? might be 1.0275x slower
   Float32Array-matrix-mult                           4.4140+-0.2438     ?      4.4681+-0.1746        ? might be 1.0123x slower
   Float32Array-to-Float64Array-set                  53.4098+-1.3310     ?     53.5365+-1.6320        ?
   Float64Array-alloc-long-lived                     70.2089+-2.1324           69.3087+-1.9136          might be 1.0130x faster
   Float64Array-to-Int16Array-set                    69.9657+-1.7950     ?     71.2334+-0.5078        ? might be 1.0181x slower
   fold-double-to-int                                13.4878+-0.1615     ?     13.5925+-0.2113        ?
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     11.0238+-1.4685           10.4232+-0.9300          might be 1.0576x faster
   fold-get-by-id-to-multi-get-by-offset              9.8671+-0.6999            9.6388+-0.7581          might be 1.0237x faster
   fold-multi-get-by-offset-to-get-by-offset   
                                                      9.1658+-0.8829     ?      9.8534+-0.9439        ? might be 1.0750x slower
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      8.7574+-0.9605     ?      9.1619+-0.7989        ? might be 1.0462x slower
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                     10.0358+-1.3576            9.4102+-1.8792          might be 1.0665x faster
   fold-multi-put-by-offset-to-put-by-offset   
                                                      7.5671+-1.2866     ^      4.9739+-0.0980        ^ definitely 1.5214x faster
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                     10.0032+-0.2235            9.9586+-0.5436        
   fold-put-by-id-to-multi-put-by-offset              9.9122+-2.5524            9.8647+-1.1002        
   fold-put-structure                                 7.0853+-0.5792     ^      4.8705+-1.3845        ^ definitely 1.4547x faster
   for-of-iterate-array-entries                       4.9911+-0.5470            4.8713+-0.3256          might be 1.0246x faster
   for-of-iterate-array-keys                          3.8397+-0.0688     ?      3.8467+-0.0866        ?
   for-of-iterate-array-values                        3.9582+-0.4334            3.8820+-0.4223          might be 1.0196x faster
   fround                                            21.0610+-0.6844     ?     21.9207+-0.7915        ? might be 1.0408x slower
   ftl-library-inlining-dataview                     67.2558+-2.2035     ?     67.9521+-6.8935        ? might be 1.0104x slower
   ftl-library-inlining                              86.6639+-20.0015          83.8100+-23.3541         might be 1.0341x faster
   function-dot-apply                                 2.0448+-0.1657     ?      2.1538+-0.0640        ? might be 1.0533x slower
   function-test                                      2.9510+-0.1390     ?      3.0173+-0.3004        ? might be 1.0224x slower
   function-with-eval                               104.5238+-3.8663     ?    105.9336+-1.7329        ? might be 1.0135x slower
   gcse-poly-get-less-obvious                        19.9670+-1.6552           19.6600+-2.4307          might be 1.0156x faster
   gcse-poly-get                                     20.5197+-1.4651     ?     22.3352+-0.9932        ? might be 1.0885x slower
   gcse                                               4.5307+-0.3538            4.3643+-0.0428          might be 1.0381x faster
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      2.7925+-0.0579     ?      2.8971+-0.3978        ? might be 1.0374x slower
   get-by-id-bimorphic-check-structure-elimination   
                                                      6.2017+-0.2506            6.0368+-0.0476          might be 1.0273x faster
   get-by-id-chain-from-try-block                     7.2304+-1.1680     ?      7.5351+-1.4511        ? might be 1.0421x slower
   get-by-id-check-structure-elimination              5.1735+-0.2396     ?      5.4458+-0.6250        ? might be 1.0526x slower
   get-by-id-proto-or-self                           19.6309+-1.3705           19.3066+-1.7192          might be 1.0168x faster
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      3.3237+-0.2520     ?      3.3386+-0.4052        ?
   get-by-id-self-or-proto                           20.0668+-2.2549           19.1155+-1.1659          might be 1.0498x faster
   get-by-val-out-of-bounds                           4.4224+-0.1081     ?      4.4447+-0.1460        ?
   get_callee_monomorphic                             3.0877+-0.2939            3.0533+-0.3164          might be 1.0113x faster
   get_callee_polymorphic                             3.7845+-0.1378     ?      3.8949+-0.4718        ? might be 1.0292x slower
   getter-no-activation                               5.0045+-0.2196     ?      5.1218+-0.2954        ? might be 1.0234x slower
   getter-richards                                  132.3422+-5.9764          127.7405+-8.9968          might be 1.0360x faster
   getter                                             5.5705+-0.5837     ?      5.7893+-0.5768        ? might be 1.0393x slower
   global-var-const-infer-fire-from-opt               0.9301+-0.0616     ?      1.0359+-0.0724        ? might be 1.1137x slower
   global-var-const-infer                             0.8162+-0.0694            0.8134+-0.0970        
   HashMap-put-get-iterate-keys                      29.3995+-2.2225     ?     30.7815+-2.3955        ? might be 1.0470x slower
   HashMap-put-get-iterate                           30.2174+-1.6758     ?     31.3273+-1.2434        ? might be 1.0367x slower
   HashMap-string-put-get-iterate                    29.2984+-1.3795           29.1042+-1.6400        
   hoist-make-rope                                   12.6120+-0.9007           12.4354+-0.9378          might be 1.0142x faster
   hoist-poly-check-structure-effectful-loop   
                                                      5.1591+-0.1869            5.0565+-0.0757          might be 1.0203x faster
   hoist-poly-check-structure                         3.7585+-0.2164            3.6551+-0.0313          might be 1.0283x faster
   imul-double-only                                   9.3947+-1.4142            8.9861+-0.2886          might be 1.0455x faster
   imul-int-only                                      9.9058+-0.2022     ?     10.3780+-0.8776        ? might be 1.0477x slower
   imul-mixed                                         8.6485+-0.3752            8.2566+-0.1241          might be 1.0475x faster
   in-four-cases                                     21.2710+-0.1192     ?     21.5165+-0.3949        ? might be 1.0115x slower
   in-one-case-false                                 10.4661+-0.2797     ?     10.5320+-0.4698        ?
   in-one-case-true                                  10.5143+-0.3686           10.2107+-0.2776          might be 1.0297x faster
   in-two-cases                                      10.9021+-0.2259           10.7159+-0.0764          might be 1.0174x faster
   indexed-properties-in-objects                      2.9082+-0.0317     !      3.1908+-0.2397        ! definitely 1.0972x slower
   infer-closure-const-then-mov-no-inline             4.6511+-0.2993            4.1287+-0.2807          might be 1.1265x faster
   infer-closure-const-then-mov                      19.7455+-0.2373     ?     19.8764+-0.3088        ?
   infer-closure-const-then-put-to-scope-no-inline   
                                                     11.0695+-0.2133     !     12.3250+-0.3184        ! definitely 1.1134x slower
   infer-closure-const-then-put-to-scope             22.8407+-1.5087           21.2736+-0.2475          might be 1.0737x faster
   infer-closure-const-then-reenter-no-inline   
                                                     48.5367+-0.4131     !     56.6325+-0.2839        ! definitely 1.1668x slower
   infer-closure-const-then-reenter                  22.2543+-0.8768     ?     23.7629+-1.6222        ? might be 1.0678x slower
   infer-constant-global-property                     3.6980+-0.3701            3.6217+-0.0563          might be 1.0211x faster
   infer-constant-property                            2.7542+-0.0183     ?      2.8875+-0.3217        ? might be 1.0484x slower
   infer-one-time-closure-ten-vars                   13.0158+-0.9243           12.7892+-0.7409          might be 1.0177x faster
   infer-one-time-closure-two-vars                   12.3258+-0.5327     ?     13.2041+-1.5572        ? might be 1.0713x slower
   infer-one-time-closure                            12.1458+-0.5998           11.9220+-0.2567          might be 1.0188x faster
   infer-one-time-deep-closure                       21.6327+-1.4596     ?     22.8326+-3.3305        ? might be 1.0555x slower
   inline-arguments-access                            4.4167+-0.0600     ?      4.4895+-0.0379        ? might be 1.0165x slower
   inline-arguments-aliased-access                    4.5279+-0.0695     ?      4.5349+-0.0464        ?
   inline-arguments-local-escape                      4.8139+-0.3182            4.5735+-0.1636          might be 1.0526x faster
   inline-get-scoped-var                              4.9814+-0.2156            4.9492+-0.2384        
   inlined-put-by-id-transition                      11.7334+-0.3834     ?     12.1590+-0.9570        ? might be 1.0363x slower
   int-or-other-abs-then-get-by-val                   4.8986+-0.1513     ?      5.0158+-0.1084        ? might be 1.0239x slower
   int-or-other-abs-zero-then-get-by-val             17.1860+-1.1808     ?     17.8922+-1.7051        ? might be 1.0411x slower
   int-or-other-add-then-get-by-val                   3.9452+-0.0618     !      4.3035+-0.0389        ! definitely 1.0908x slower
   int-or-other-add                                   5.3582+-0.1389     ?      5.5051+-0.3781        ? might be 1.0274x slower
   int-or-other-div-then-get-by-val                   4.1365+-0.0809     ?      4.2682+-0.1905        ? might be 1.0318x slower
   int-or-other-max-then-get-by-val                   4.2050+-0.0453     ?      4.4362+-0.3190        ? might be 1.0550x slower
   int-or-other-min-then-get-by-val                   4.1747+-0.0928     !      4.4762+-0.1656        ! definitely 1.0722x slower
   int-or-other-mod-then-get-by-val                   3.8597+-0.1153     ?      4.0179+-0.0770        ? might be 1.0410x slower
   int-or-other-mul-then-get-by-val                   3.6847+-0.0347     !      4.0903+-0.3481        ! definitely 1.1101x slower
   int-or-other-neg-then-get-by-val                   4.6638+-0.0435     ?      4.8249+-0.1291        ? might be 1.0345x slower
   int-or-other-neg-zero-then-get-by-val             17.4321+-1.5118           17.2334+-0.1836          might be 1.0115x faster
   int-or-other-sub-then-get-by-val                   4.1999+-0.0627     ?      4.4313+-0.2100        ? might be 1.0551x slower
   int-or-other-sub                                   3.4349+-0.0384     !      3.5880+-0.0679        ! definitely 1.0446x slower
   int-overflow-local                                 4.5199+-0.2762     ?      4.5499+-0.1786        ?
   Int16Array-alloc-long-lived                       49.5992+-1.1897     ?     51.0700+-2.0280        ? might be 1.0297x slower
   Int16Array-bubble-sort-with-byteLength            19.7369+-0.1903     ?     20.6267+-1.8158        ? might be 1.0451x slower
   Int16Array-bubble-sort                            21.3682+-2.1120           19.2547+-0.2896          might be 1.1098x faster
   Int16Array-load-int-mul                            1.5187+-0.0134     ?      1.5507+-0.0581        ? might be 1.0210x slower
   Int16Array-to-Int32Array-set                      55.1597+-0.3118     ?     56.3465+-7.5857        ? might be 1.0215x slower
   Int32Array-alloc-large                            24.7251+-1.1450           23.4812+-0.6627          might be 1.0530x faster
   Int32Array-alloc-long-lived                       54.3275+-1.7386     ?     55.1981+-1.1455        ? might be 1.0160x slower
   Int32Array-alloc                                   3.4666+-0.5794     ?      3.5268+-0.3756        ? might be 1.0173x slower
   Int32Array-Int8Array-view-alloc                    8.1036+-1.1456            7.5210+-1.0222          might be 1.0775x faster
   int52-spill                                        6.1989+-0.0754     ?      6.4242+-0.2725        ? might be 1.0363x slower
   Int8Array-alloc-long-lived                        46.3938+-1.0910           45.2448+-2.0804          might be 1.0254x faster
   Int8Array-load-with-byteLength                     3.4001+-0.0713            3.3899+-0.1402        
   Int8Array-load                                     3.5197+-0.4476            3.3868+-0.0480          might be 1.0393x faster
   integer-divide                                    10.9728+-0.1616     ?     11.1503+-0.0779        ? might be 1.0162x slower
   integer-modulo                                     2.1750+-0.2693            2.1335+-0.1834          might be 1.0195x faster
   is-boolean-fold-tricky                             4.4436+-0.0642     ?      4.4532+-0.1255        ?
   is-boolean-fold                                    2.9101+-0.0645     ?      3.0365+-0.3238        ? might be 1.0434x slower
   is-function-fold-tricky-internal-function   
                                                     12.2345+-0.1123           12.1001+-0.1667          might be 1.0111x faster
   is-function-fold-tricky                            4.8394+-0.3249            4.5409+-0.0508          might be 1.0657x faster
   is-function-fold                                   2.9251+-0.1019            2.8945+-0.0420          might be 1.0106x faster
   is-number-fold-tricky                              4.4663+-0.0899     ?      4.7208+-0.3071        ? might be 1.0570x slower
   is-number-fold                                     2.9815+-0.2366     ?      3.0632+-0.4344        ? might be 1.0274x slower
   is-object-or-null-fold-functions                   2.9404+-0.0888     ?      2.9926+-0.0865        ? might be 1.0177x slower
   is-object-or-null-fold-less-tricky                 4.6798+-0.2088     ?      4.8193+-0.5546        ? might be 1.0298x slower
   is-object-or-null-fold-tricky                      6.6441+-0.0911     ?      6.7177+-0.2941        ? might be 1.0111x slower
   is-object-or-null-fold                             3.0332+-0.3592            2.9317+-0.0560          might be 1.0346x faster
   is-object-or-null-trickier-function                4.8288+-0.2581     ?      4.9682+-0.5829        ? might be 1.0289x slower
   is-object-or-null-trickier-internal-function   
                                                     12.6811+-0.1353           12.6036+-0.1500        
   is-object-or-null-tricky-function                  4.6794+-0.1851     ?      4.6798+-0.1793        ?
   is-object-or-null-tricky-internal-function   
                                                      9.3841+-0.0969     ^      9.2282+-0.0251        ^ definitely 1.0169x faster
   is-string-fold-tricky                              4.5362+-0.2298            4.5097+-0.1066        
   is-string-fold                                     2.9335+-0.1165     ?      2.9517+-0.1484        ?
   is-undefined-fold-tricky                           3.9155+-0.2980            3.7580+-0.0501          might be 1.0419x faster
   is-undefined-fold                                  2.9304+-0.2756            2.9117+-0.0663        
   large-int-captured                                 4.6771+-0.1071     ?      4.7965+-0.2385        ? might be 1.0255x slower
   large-int-neg                                     16.8267+-0.7082           16.1510+-0.0990          might be 1.0418x faster
   large-int                                         15.4010+-0.7602           14.8806+-0.7673          might be 1.0350x faster
   load-varargs-elimination                          23.5296+-1.3805     ?     23.8137+-1.0368        ? might be 1.0121x slower
   logical-not                                        4.6103+-0.2167     ?      4.6665+-0.0509        ? might be 1.0122x slower
   lots-of-fields                                    13.9744+-1.5435           12.2718+-0.3816          might be 1.1387x faster
   make-indexed-storage                               3.4128+-0.5321            3.1217+-0.1355          might be 1.0932x faster
   make-rope-cse                                      5.0898+-0.4059            4.9217+-0.4185          might be 1.0342x faster
   marsaglia-larger-ints                             35.7555+-0.4441     ?     36.5179+-0.9231        ? might be 1.0213x slower
   marsaglia-osr-entry                               24.6088+-1.6043           23.1935+-0.5289          might be 1.0610x faster
   max-boolean                                        2.5132+-0.0244            2.5070+-0.1019        
   method-on-number                                  19.2559+-0.9812           18.8338+-0.5838          might be 1.0224x faster
   min-boolean                                        2.7620+-0.3547            2.7012+-0.3364          might be 1.0225x faster
   minus-boolean-double                               3.3093+-0.1667            3.1975+-0.1014          might be 1.0350x faster
   minus-boolean                                      2.3786+-0.1176     ?      2.4984+-0.2840        ? might be 1.0504x slower
   misc-strict-eq                                    39.4812+-0.4297     ?     40.3440+-1.5598        ? might be 1.0219x slower
   mod-boolean-double                                11.1617+-0.5560           10.9268+-0.0485          might be 1.0215x faster
   mod-boolean                                        7.8326+-0.0313     ?      7.8566+-0.0339        ?
   mul-boolean-double                                 3.8139+-0.1585            3.7475+-0.0703          might be 1.0177x faster
   mul-boolean                                        2.9316+-0.1336     ?      3.0559+-0.3111        ? might be 1.0424x slower
   neg-boolean                                        3.2533+-0.1524     ?      3.3332+-0.2245        ? might be 1.0246x slower
   negative-zero-divide                               0.3845+-0.0514     ?      0.4095+-0.0337        ? might be 1.0652x slower
   negative-zero-modulo                               0.3833+-0.0456            0.3688+-0.0182          might be 1.0392x faster
   negative-zero-negate                               0.3423+-0.0268     ?      0.3428+-0.0119        ?
   nested-function-parsing                           37.9911+-0.3852     ?     38.8340+-1.4505        ? might be 1.0222x slower
   new-array-buffer-dead                            114.2654+-1.0655          112.7857+-3.0483          might be 1.0131x faster
   new-array-buffer-push                              7.3062+-0.8730     ?      7.6602+-0.9165        ? might be 1.0485x slower
   new-array-dead                                    19.3016+-0.4448     ?     19.5947+-1.1574        ? might be 1.0152x slower
   new-array-push                                     4.0258+-0.2701            3.9507+-0.0962          might be 1.0190x faster
   no-inline-constructor                             41.2367+-1.6571     ?     41.7948+-1.3401        ? might be 1.0135x slower
   number-test                                        3.0797+-0.1737     ?      3.1178+-0.0689        ? might be 1.0124x slower
   object-closure-call                                5.4931+-0.2011     ?      5.6128+-0.1224        ? might be 1.0218x slower
   object-test                                        2.8870+-0.1628     ?      2.9048+-0.1077        ?
   obvious-sink-pathology-taken                     139.8866+-3.4406     ?    140.1260+-1.6541        ?
   obvious-sink-pathology                           133.5171+-1.4272          131.8524+-2.6609          might be 1.0126x faster
   obviously-elidable-new-object                     36.0374+-2.0312           35.4239+-1.7111          might be 1.0173x faster
   plus-boolean-arith                                 2.5742+-0.1385     ?      2.6361+-0.2770        ? might be 1.0240x slower
   plus-boolean-double                                3.1866+-0.0334     ?      3.5384+-0.3908        ? might be 1.1104x slower
   plus-boolean                                       2.4882+-0.3201            2.4080+-0.1047          might be 1.0333x faster
   poly-chain-access-different-prototypes-simple   
                                                      3.4304+-0.1352     ?      3.4701+-0.2341        ? might be 1.0116x slower
   poly-chain-access-different-prototypes             2.7847+-0.3294            2.7135+-0.2026          might be 1.0262x faster
   poly-chain-access-simpler                          3.2732+-0.0565     ?      3.4551+-0.2835        ? might be 1.0556x slower
   poly-chain-access                                  2.6644+-0.0990     ?      2.6671+-0.1451        ?
   poly-stricteq                                     58.6113+-1.6353     ?     59.3873+-1.9009        ? might be 1.0132x slower
   polymorphic-array-call                             1.4585+-0.1828            1.4289+-0.1600          might be 1.0207x faster
   polymorphic-get-by-id                              3.1873+-0.0685     ?      3.2148+-0.1632        ?
   polymorphic-put-by-id                             29.8597+-0.7649     !     34.8102+-2.0426        ! definitely 1.1658x slower
   polymorphic-structure                             13.8747+-0.4026     !     15.0889+-0.1290        ! definitely 1.0875x slower
   polyvariant-monomorphic-get-by-id                  8.5847+-0.1396     ?      8.8850+-0.3018        ? might be 1.0350x slower
   proto-getter-access                                9.0212+-0.1822     ?      9.2098+-0.1617        ? might be 1.0209x slower
   put-by-id-replace-and-transition                   9.2366+-0.3043     ?      9.9343+-1.0743        ? might be 1.0755x slower
   put-by-id-slightly-polymorphic                     2.9110+-0.1465            2.8256+-0.0358          might be 1.0302x faster
   put-by-id                                         12.9597+-0.2712     ?     12.9619+-0.5041        ?
   put-by-val-direct                                  0.3768+-0.0329            0.3720+-0.0543          might be 1.0129x faster
   put-by-val-large-index-blank-indexing-type   
                                                      6.0432+-0.2655     ?      6.1808+-0.9409        ? might be 1.0228x slower
   put-by-val-machine-int                             2.8333+-0.1961            2.7920+-0.2210          might be 1.0148x faster
   rare-osr-exit-on-local                            15.5742+-1.2625           15.2198+-0.5280          might be 1.0233x faster
   register-pressure-from-osr                        21.5911+-0.5151           21.4654+-0.2311        
   setter                                             5.7939+-0.7335     ?      6.2482+-0.9093        ? might be 1.0784x slower
   simple-activation-demo                            24.9401+-0.5866     ?     25.1520+-0.3509        ?
   simple-getter-access                              11.8351+-0.1574     ?     11.9477+-0.2708        ?
   simple-poly-call-nested                            8.1709+-0.1889     ?      8.5159+-0.4287        ? might be 1.0422x slower
   simple-poly-call                                   1.3607+-0.0892            1.2997+-0.0539          might be 1.0469x faster
   sin-boolean                                       23.5075+-1.9057     ?     23.7808+-1.8508        ? might be 1.0116x slower
   singleton-scope                                   61.9665+-1.2413           61.9054+-0.5382        
   sink-function                                     12.3845+-0.4000     ?     12.5642+-0.3602        ? might be 1.0145x slower
   sink-huge-activation                              19.9483+-1.3435           19.6485+-1.9231          might be 1.0153x faster
   sinkable-new-object-dag                           68.8302+-0.4797     !     70.2915+-0.9497        ! definitely 1.0212x slower
   sinkable-new-object-taken                         52.5215+-3.2376           50.5579+-3.4221          might be 1.0388x faster
   sinkable-new-object                               39.4856+-1.6844           38.9836+-1.1977          might be 1.0129x faster
   slow-array-profile-convergence                     2.8122+-0.0550     ?      2.8645+-0.0559        ? might be 1.0186x slower
   slow-convergence                                   2.8490+-0.3254     ?      2.8583+-0.3314        ?
   sorting-benchmark                                 20.4970+-1.3861     ?     20.5786+-1.5470        ?
   sparse-conditional                                 1.2153+-0.1880     ?      1.2227+-0.1494        ?
   splice-to-remove                                  16.7114+-0.4091           16.6602+-0.2607        
   string-char-code-at                               15.7960+-0.1340     ?     15.8749+-0.2088        ?
   string-concat-object                               2.5909+-0.1023            2.5536+-0.0705          might be 1.0146x faster
   string-concat-pair-object                          2.9628+-0.3227            2.7216+-0.2670          might be 1.0886x faster
   string-concat-pair-simple                         11.8533+-0.4858           11.7986+-0.6479        
   string-concat-simple                              12.0878+-0.3372     ?     12.7690+-1.1283        ? might be 1.0564x slower
   string-cons-repeat                                 8.1872+-0.2136     ?      8.4681+-0.8128        ? might be 1.0343x slower
   string-cons-tower                                  8.3201+-0.5081            8.0856+-0.1143          might be 1.0290x faster
   string-equality                                   18.7624+-1.4714     ?     19.2659+-0.8007        ? might be 1.0268x slower
   string-get-by-val-big-char                         7.1884+-0.0843     ?      7.2417+-0.0870        ?
   string-get-by-val-out-of-bounds-insane             3.7664+-0.1938            3.7201+-0.1891          might be 1.0124x faster
   string-get-by-val-out-of-bounds                    5.2885+-0.1272     ?      5.5498+-0.5361        ? might be 1.0494x slower
   string-get-by-val                                  3.3658+-0.1200     ?      3.3811+-0.1525        ?
   string-hash                                        2.1176+-0.1171     ?      2.1634+-0.2375        ? might be 1.0216x slower
   string-long-ident-equality                        14.8856+-0.1478     ?     15.7933+-0.7882        ? might be 1.0610x slower
   string-out-of-bounds                              14.9790+-0.2110     ?     15.1267+-0.2544        ?
   string-repeat-arith                               32.5868+-3.5121           32.3968+-1.7799        
   string-sub                                        64.0807+-2.6853     ?     65.2621+-3.1201        ? might be 1.0184x slower
   string-test                                        2.8726+-0.0398     ?      3.0066+-0.1343        ? might be 1.0467x slower
   string-var-equality                               32.2379+-0.7266     ?     33.2608+-1.3668        ? might be 1.0317x slower
   structure-hoist-over-transitions                   2.8510+-0.1530            2.7248+-0.0544          might be 1.0463x faster
   substring-concat-weird                            40.5408+-1.7205           39.1424+-0.0739          might be 1.0357x faster
   substring-concat                                  44.5048+-1.9053           43.4543+-1.7927          might be 1.0242x faster
   substring                                         46.3014+-2.2047           45.0967+-0.7698          might be 1.0267x faster
   switch-char-constant                               2.7583+-0.0604     ?      2.8072+-0.1109        ? might be 1.0177x slower
   switch-char                                        6.3413+-0.5754     ?      6.4421+-0.7172        ? might be 1.0159x slower
   switch-constant                                    8.6927+-0.3780            8.5945+-0.3122          might be 1.0114x faster
   switch-string-basic-big-var                       18.6696+-1.1455           18.2483+-0.4355          might be 1.0231x faster
   switch-string-basic-big                           14.2734+-0.1405     !     15.0522+-0.4210        ! definitely 1.0546x slower
   switch-string-basic-var                           15.6101+-1.1304           15.2380+-0.1710          might be 1.0244x faster
   switch-string-basic                               13.3378+-0.4533     ?     13.4602+-0.2129        ?
   switch-string-big-length-tower-var                19.9422+-0.4724     ?     20.1412+-0.1833        ?
   switch-string-length-tower-var                    14.7386+-0.1114     ?     15.9446+-1.2237        ? might be 1.0818x slower
   switch-string-length-tower                        12.6075+-0.1204     !     13.1790+-0.4202        ! definitely 1.0453x slower
   switch-string-short                               12.6415+-0.2399     ?     13.3735+-0.9124        ? might be 1.0579x slower
   switch                                            12.7563+-0.2831     ?     12.7643+-0.1898        ?
   tear-off-arguments-simple                          3.4653+-0.0560     ?      3.5398+-0.0682        ? might be 1.0215x slower
   tear-off-arguments                                 4.8747+-0.1590     ?      4.9128+-0.2106        ?
   temporal-structure                                12.0183+-0.2195     ?     12.3038+-0.4327        ? might be 1.0238x slower
   to-int32-boolean                                  14.2053+-1.6050           13.7545+-0.1496          might be 1.0328x faster
   try-catch-get-by-val-cloned-arguments             14.8095+-1.0013     ?     15.2445+-1.3081        ? might be 1.0294x slower
   try-catch-get-by-val-direct-arguments              7.1615+-0.7726            6.8652+-0.4167          might be 1.0432x faster
   try-catch-get-by-val-scoped-arguments              7.9865+-0.9835     ?      8.3562+-1.3528        ? might be 1.0463x slower
   typed-array-get-set-by-val-profiling              33.7243+-2.2643           32.0440+-0.6307          might be 1.0524x faster
   undefined-property-access                        341.2421+-5.2448     ?    343.5424+-2.6354        ?
   undefined-test                                     3.0197+-0.0453     ?      3.2909+-0.2974        ? might be 1.0898x slower
   unprofiled-licm                                   23.9994+-1.1989           23.0131+-0.7784          might be 1.0429x faster
   varargs-call                                      14.3577+-0.7193     ?     15.0235+-0.8286        ? might be 1.0464x slower
   varargs-construct-inline                          28.4197+-0.7694           28.4078+-0.5811        
   varargs-construct                                 23.4635+-1.3672           23.3517+-1.0445        
   varargs-inline                                     9.4035+-0.7153     ?      9.5824+-0.6030        ? might be 1.0190x slower
   varargs-strict-mode                                9.7402+-0.2479     !     10.2469+-0.1348        ! definitely 1.0520x slower
   varargs                                           10.0437+-0.4592     ?     10.3990+-0.2930        ? might be 1.0354x slower
   weird-inlining-const-prop                          2.4199+-0.1948     ?      2.4281+-0.1005        ?

   <geometric>                                        8.5574+-0.0315     ?      8.5882+-0.0284        ? might be 1.0036x slower

                                                        TipOfTree                  FastHole                                     
AsmBench:
   bigfib.cpp                                       496.1484+-3.4991     ?    497.3757+-4.3408        ?
   cray.c                                           426.8403+-1.3148          426.6688+-2.2466        
   dry.c                                            480.5705+-12.1374    ?    488.3330+-4.9998        ? might be 1.0162x slower
   FloatMM.c                                        725.7048+-4.1186          723.6414+-1.0030        
   gcc-loops.cpp                                   4279.9865+-17.1891    ?   4280.8363+-31.9058       ?
   n-body.c                                         977.9814+-3.0799          977.3317+-1.1155        
   Quicksort.c                                      422.5365+-1.8670          421.9398+-7.2656        
   stepanov_container.cpp                          3606.1089+-7.0305     ?   3623.3012+-19.1945       ?
   Towers.c                                         262.6681+-3.7182          260.3554+-0.9014        

   <geometric>                                      792.7713+-2.4106     ?    793.6000+-1.6973        ? might be 1.0010x slower

                                                        TipOfTree                  FastHole                                     
CompressionBench:
   huffman                                          358.5178+-6.1610     !    374.2176+-2.6382        ! definitely 1.0438x slower
   arithmetic-simple                                397.5747+-13.0176    ?    398.3707+-6.0150        ?
   arithmetic-precise                               298.7368+-2.8317          298.2974+-3.2636        
   arithmetic-complex-precise                       298.5862+-5.0330     ?    300.5111+-4.9433        ?
   arithmetic-precise-order-0                       430.1584+-4.5701          427.6608+-6.7332        
   arithmetic-precise-order-1                       329.2172+-4.5584          326.5033+-5.8756        
   arithmetic-precise-order-2                       360.7586+-3.6275          356.9733+-4.1383          might be 1.0106x faster
   arithmetic-simple-order-1                        423.1031+-5.2067     ?    423.6603+-4.4452        ?
   arithmetic-simple-order-2                        466.1451+-3.8909     ?    467.8839+-2.7574        ?
   lz-string                                        322.2347+-3.4978     ?    323.2435+-2.8805        ?

   <geometric>                                      364.3665+-1.5659     ?    365.5926+-0.7096        ? might be 1.0034x slower

                                                        TipOfTree                  FastHole                                     
Geomean of preferred means:
   <scaled-result>                                   61.9639+-0.2135           61.8863+-0.2132          might be 1.0013x faster