Bug 144945 - The liveness pruning done by ObjectAllocationSinkingPhase ignores the possibility of an object's bytecode liveness being longer than its DFG liveness
Summary: The liveness pruning done by ObjectAllocationSinkingPhase ignores the possibi...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Filip Pizlo
URL:
Keywords:
Depends on: 144853
Blocks:
  Show dependency treegraph
 
Reported: 2015-05-12 21:57 PDT by Filip Pizlo
Modified: 2015-05-13 15:18 PDT (History)
13 users (show)

See Also:


Attachments
the patch (23.61 KB, patch)
2015-05-13 12:54 PDT, Filip Pizlo
msaboff: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Filip Pizlo 2015-05-12 21:57:30 PDT
This fails every time, because in the continuation after the ternary expression in foo(), we have materialized the activation if p was true but we haven't done so if p was false.  We think that we don't need to place a materialization point on the false path (or to avoid sinking entirely) because we don't realize that the activation is still live after the ternary.  We don't know that it's live because we're using DFG liveness instead of both DFG and bytecode liveness.

function foo(p) {
    var result = 0;
    var o = {valueOf: function() { result = 1; }};
    var q = {f: p ? o : 42};
    var tmp = q.f + 1;
    return result;
}

noInline(foo);

for (var i = 0; i < 10000; ++i) {
    var result = foo(false);
    if (result !== 0)
        throw "Error: bad result: " + result;
}

var result = foo(true);
if (result !== 1)
    throw "Error: bad result at end: " + result;
Comment 1 Filip Pizlo 2015-05-12 21:58:51 PDT
Bugs like this make me question why we even make it possible to ask for DFG liveness without that answer also telling us the bytecode liveness.
Comment 2 Filip Pizlo 2015-05-12 21:59:37 PDT
(In reply to comment #1)
> Bugs like this make me question why we even make it possible to ask for DFG
> liveness without that answer also telling us the bytecode liveness.

Never mind, that's a dumb observation. The most important client of DFG liveness is AI, which uses it for pruning and doesn't care about bytecode liveness at all.
Comment 3 Filip Pizlo 2015-05-13 11:01:35 PDT
Another test:

var global = null;

function foo(p, q) {
    var o = {f:42};
    if (p)
        global = o;
    var tmp = q + 1;
    return o.f + tmp;
}

noInline(foo);

var lastObject = null;

function validateEscape(when) {
    if (global === lastObject)
        throw "Error: bad value in global " + when + ", identical to lastObject.";
    if (global === null || !(typeof global == "object"))
        throw "Error: bad value in global " + when + ": it's not an object.";
    if (global.f != 42)
        throw "Error: bad value in global " + when + ": f isn't 42, it's: " + global.f;
    lastObject = global;
    global = null;
}

for (var i = 0; i < 10000; ++i) {
    var escape = !!(i & 1);
    var result = foo(escape, 42);
    if (result != 42 + 42 + 1)
        throw "Error: bad result: " + result;
    if (escape)
        validateEscape("in loop");
    else if (global !== null)
        throw "Error: bad value in global: " + global;
}

var result = foo(true, 2147483647);
if (result != 42 + 2147483647 + 1)
    throw "Error: bad result at end: " + result;
validateEscape("at end");
Comment 4 Filip Pizlo 2015-05-13 12:54:59 PDT
Created attachment 253051 [details]
the patch
Comment 5 Filip Pizlo 2015-05-13 12:55:19 PDT
Comment on attachment 253051 [details]
the patch

Clearing r? because I should probably perf test this very carefully.
Comment 6 WebKit Commit Bot 2015-05-13 12:57:06 PDT
Attachment 253051 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGCombinedLiveness.cpp:47:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGCombinedLiveness.h:37:  The parameter name "graph" adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/dfg/DFGCombinedLiveness.h:37:  The parameter name "block" adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 3 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 7 Filip Pizlo 2015-05-13 13:29:38 PDT
Looks like I didn't break anything too badly.


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

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/tertiary/OpenSource/WebKitBuild/Release/jsc (r184288)
"FixThingies" at /Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/jsc (r184288)

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                FixThingies                                    
SunSpider:
   3d-cube                                            5.2002+-0.1954            5.1626+-0.0588        
   3d-morph                                           6.0260+-0.6010     ?      6.0988+-0.5010        ? might be 1.0121x slower
   3d-raytrace                                        6.5802+-0.1433            6.5634+-0.1327        
   access-binary-trees                                2.3208+-0.1105     ?      2.4371+-0.1192        ? might be 1.0501x slower
   access-fannkuch                                    5.9623+-0.1081            5.9535+-0.1777        
   access-nbody                                       3.0112+-0.1184     ?      3.1295+-0.3601        ? might be 1.0393x slower
   access-nsieve                                      3.2177+-0.1013            3.1611+-0.1231          might be 1.0179x faster
   bitops-3bit-bits-in-byte                           1.6567+-0.1326            1.5861+-0.0234          might be 1.0445x faster
   bitops-bits-in-byte                                3.5299+-0.3339            3.4894+-0.2189          might be 1.0116x faster
   bitops-bitwise-and                                 2.2087+-0.2250     ?      2.5187+-0.4311        ? might be 1.1403x slower
   bitops-nsieve-bits                                 3.5922+-0.2361            3.4156+-0.0677          might be 1.0517x faster
   controlflow-recursive                              2.2665+-0.0443     ?      2.3359+-0.1300        ? might be 1.0306x slower
   crypto-aes                                         4.6857+-0.3360            4.4684+-0.1605          might be 1.0486x faster
   crypto-md5                                         3.2595+-1.0262            2.8897+-0.2822          might be 1.1280x faster
   crypto-sha1                                        2.6503+-0.1438     ?      2.7703+-0.2007        ? might be 1.0453x slower
   date-format-tofte                                  9.4430+-0.2850     ?      9.8151+-0.3539        ? might be 1.0394x slower
   date-format-xparb                                  5.8045+-0.1707     ?      5.9838+-0.4443        ? might be 1.0309x slower
   math-cordic                                        3.1745+-0.1156            3.1473+-0.1715        
   math-partial-sums                                  5.5549+-0.3351            5.4035+-0.3497          might be 1.0280x faster
   math-spectral-norm                                 2.0540+-0.1288            2.0213+-0.0896          might be 1.0161x faster
   regexp-dna                                         7.4607+-0.7127     ?      8.0748+-1.3540        ? might be 1.0823x slower
   string-base64                                      4.9790+-0.7554     ?      5.4877+-1.2846        ? might be 1.1022x slower
   string-fasta                                       6.7468+-0.1580     ?      7.0565+-1.0705        ? might be 1.0459x slower
   string-tagcloud                                    9.4782+-1.0057     ?      9.7760+-1.4646        ? might be 1.0314x slower
   string-unpack-code                                19.7032+-0.4643     ?     20.1433+-1.1827        ? might be 1.0223x slower
   string-validate-input                              5.1042+-0.2611     ?      5.2923+-0.4773        ? might be 1.0369x slower

   <arithmetic>                                       5.2181+-0.0739     ?      5.3147+-0.0931        ? might be 1.0185x slower

                                                        TipOfTree                FixThingies                                    
LongSpider:
   3d-cube                                          877.7155+-7.7725     ?    879.3256+-9.8567        ?
   3d-morph                                        1528.7699+-3.5887     ?   1532.7155+-15.4735       ?
   3d-raytrace                                      729.0023+-3.0880          727.5542+-7.0702        
   access-binary-trees                             1012.6830+-8.9830         1011.6504+-12.0866       
   access-fannkuch                                  327.4650+-9.8020          325.8355+-12.3228       
   access-nbody                                     619.5641+-7.6030          617.2178+-2.4351        
   access-nsieve                                    481.8691+-5.8999     ?    482.7452+-7.1025        ?
   bitops-3bit-bits-in-byte                          46.4827+-2.3200           45.3466+-1.6033          might be 1.0251x faster
   bitops-bits-in-byte                              105.3243+-5.1140          102.3203+-3.7074          might be 1.0294x faster
   bitops-nsieve-bits                               423.1814+-4.9988          419.5937+-2.3497        
   controlflow-recursive                            501.8440+-9.6259     ^    483.7972+-0.9081        ^ definitely 1.0373x faster
   crypto-aes                                       703.2701+-8.8848     ?    706.6485+-6.8640        ?
   crypto-md5                                       526.7107+-11.6543         520.2538+-18.7438         might be 1.0124x faster
   crypto-sha1                                      594.2837+-4.4859     ?    595.4454+-6.3655        ?
   date-format-tofte                                734.2985+-11.5387    !    761.7472+-14.6160       ! definitely 1.0374x slower
   date-format-xparb                                792.1957+-19.2447    ?    797.9488+-35.6311       ?
   hash-map                                         190.6460+-36.7466         169.8418+-2.8360          might be 1.1225x faster
   math-cordic                                      590.9899+-4.2658          588.1420+-3.7914        
   math-partial-sums                                503.8551+-1.9292     ?    506.0948+-3.2050        ?
   math-spectral-norm                               565.5621+-2.5219          563.8293+-0.8849        
   string-base64                                    376.2363+-5.5440     ?    377.7590+-5.9596        ?
   string-fasta                                     438.1228+-2.9249          437.2507+-7.1759        
   string-tagcloud                                  200.5420+-3.1439          195.5924+-2.5285          might be 1.0253x faster

   <geometric>                                      454.7923+-3.0971          450.9237+-0.9704          might be 1.0086x faster

                                                        TipOfTree                FixThingies                                    
V8Spider:
   crypto                                            56.6870+-2.4499           55.6864+-2.4727          might be 1.0180x faster
   deltablue                                         93.5605+-2.2655     ?     96.5793+-3.4195        ? might be 1.0323x slower
   earley-boyer                                      44.6254+-0.9218     ?     44.7498+-1.0889        ?
   raytrace                                          44.0024+-3.6785           40.0538+-2.1708          might be 1.0986x faster
   regexp                                            83.1465+-1.6861           82.3719+-2.7861        
   richards                                          81.0850+-1.1314           80.4755+-0.9369        
   splay                                             40.5419+-1.6954           40.4784+-1.6453        

   <geometric>                                       60.1088+-0.7768           59.2981+-0.6953          might be 1.0137x faster

                                                        TipOfTree                FixThingies                                    
Octane:
   encrypt                                           0.20451+-0.00286    ?     0.20530+-0.00175       ?
   decrypt                                           3.56218+-0.03050    ?     3.57375+-0.02496       ?
   deltablue                                x2       0.20558+-0.00170    ?     0.20604+-0.00080       ?
   earley                                            0.47618+-0.00437          0.47079+-0.00261         might be 1.0115x faster
   boyer                                             6.65188+-0.06330          6.61516+-0.04011       
   navier-stokes                            x2       5.21015+-0.04564          5.17201+-0.00209       
   raytrace                                 x2       1.28292+-0.06000    ?     1.29614+-0.04974       ? might be 1.0103x slower
   richards                                 x2       0.12293+-0.00155          0.12277+-0.00193       
   splay                                    x2       0.40118+-0.00394    ^     0.39235+-0.00370       ^ definitely 1.0225x faster
   regexp                                   x2      32.09727+-0.36852         31.69224+-0.20697         might be 1.0128x faster
   pdfjs                                    x2      42.60035+-0.22205    ?    42.75205+-0.29456       ?
   mandreel                                 x2      50.02782+-0.57827    ?    50.18157+-0.53272       ?
   gbemu                                    x2      41.80266+-0.35636         41.47489+-0.48345       
   closure                                           0.56185+-0.00518          0.55754+-0.00435       
   jquery                                            7.09941+-0.03806    ?     7.12974+-0.14307       ?
   box2d                                    x2      12.42189+-0.09692    ?    12.46614+-0.13084       ?
   zlib                                     x2     391.42505+-13.83073       380.86030+-20.05847        might be 1.0277x faster
   typescript                               x2     818.06340+-14.28048   ?   824.65267+-10.25028      ?

   <geometric>                                       6.67644+-0.02880          6.65202+-0.03107         might be 1.0037x faster

                                                        TipOfTree                FixThingies                                    
Kraken:
   ai-astar                                          278.905+-2.087            278.518+-2.541         
   audio-beat-detection                              106.425+-0.828      ?     107.735+-3.089         ? might be 1.0123x slower
   audio-dft                                         118.818+-2.199      ?     120.898+-1.913         ? might be 1.0175x slower
   audio-fft                                          82.237+-3.705      ?      83.776+-7.106         ? might be 1.0187x slower
   audio-oscillator                                   78.821+-1.964      ?      79.478+-3.156         ?
   imaging-darkroom                                  105.346+-2.840      ?     105.895+-2.901         ?
   imaging-desaturate                                 63.197+-0.645      ?      63.481+-1.585         ?
   imaging-gaussian-blur                             112.037+-1.811      ?     113.156+-6.922         ?
   json-parse-financial                               45.324+-1.601      ?      47.564+-2.160         ? might be 1.0494x slower
   json-stringify-tinderbox                           28.953+-1.076             28.893+-1.469         
   stanford-crypto-aes                                57.029+-0.665      ?      57.366+-0.963         ?
   stanford-crypto-ccm                                51.792+-1.926      ?      52.014+-1.157         ?
   stanford-crypto-pbkdf2                            120.829+-1.686            119.795+-2.178         
   stanford-crypto-sha256-iterative                   49.056+-1.068      ?      49.234+-1.831         ?

   <arithmetic>                                       92.769+-0.607      ?      93.415+-0.957         ? might be 1.0070x slower

                                                        TipOfTree                FixThingies                                    
JSRegress:
   abs-boolean                                        2.7096+-0.0921     ?      2.8042+-0.2264        ? might be 1.0349x slower
   adapt-to-double-divide                            16.7837+-0.5438     ?     16.9374+-0.3467        ?
   aliased-arguments-getbyval                         1.2898+-0.0764     ?      1.3322+-0.0778        ? might be 1.0329x slower
   allocate-big-object                                2.8427+-0.0768     !      3.0319+-0.1038        ! definitely 1.0666x slower
   arguments-named-and-reflective                    12.9092+-1.2149           12.1196+-0.4253          might be 1.0651x faster
   arguments-out-of-bounds                           14.9361+-0.2582     ?     15.0345+-0.3947        ?
   arguments-strict-mode                             11.3559+-1.1414           10.4328+-0.3548          might be 1.0885x faster
   arguments                                          9.2830+-0.2959     ?      9.4711+-0.8595        ? might be 1.0203x slower
   arity-mismatch-inlining                            0.9838+-0.1567            0.9397+-0.1039          might be 1.0470x faster
   array-access-polymorphic-structure                 7.1007+-0.5847     ?      7.1732+-0.9522        ? might be 1.0102x slower
   array-nonarray-polymorhpic-access                 34.0080+-1.1068     ?     35.9552+-2.3922        ? might be 1.0573x slower
   array-prototype-every                             87.2562+-1.5596           86.0218+-2.6685          might be 1.0144x faster
   array-prototype-forEach                           83.9061+-2.4206     ?     84.9458+-4.4847        ? might be 1.0124x slower
   array-prototype-map                               92.7231+-2.8649           92.3887+-4.1060        
   array-prototype-some                              85.6057+-2.7703           84.2609+-1.0447          might be 1.0160x faster
   array-splice-contiguous                           40.8750+-0.5267     ?     42.5443+-2.6687        ? might be 1.0408x slower
   array-with-double-add                              4.2040+-0.3369            4.1770+-0.1603        
   array-with-double-increment                        3.2557+-0.0708     ?      3.4231+-0.3083        ? might be 1.0514x slower
   array-with-double-mul-add                          4.9997+-0.0505            4.9869+-0.0421        
   array-with-double-sum                              3.4373+-0.3984            3.3103+-0.1026          might be 1.0384x faster
   array-with-int32-add-sub                           7.2574+-1.0439            6.7214+-0.0242          might be 1.0798x faster
   array-with-int32-or-double-sum                     3.3897+-0.1306     ?      3.6208+-0.3566        ? might be 1.0682x slower
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     34.3132+-2.3851           34.1184+-1.4965        
   ArrayBuffer-DataView-alloc-long-lived             14.8111+-1.5721     ?     16.6681+-1.7111        ? might be 1.1254x slower
   ArrayBuffer-Int32Array-byteOffset                  3.8852+-0.1721            3.8393+-0.0877          might be 1.0119x faster
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     34.4714+-1.4434           32.7334+-1.3703          might be 1.0531x faster
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     25.5635+-2.2876     ?     25.6277+-1.5657        ?
   ArrayBuffer-Int8Array-alloc-long-lived            14.4342+-1.5188           14.0090+-1.5547          might be 1.0304x faster
   ArrayBuffer-Int8Array-alloc                       11.7201+-1.8594           11.0768+-0.7907          might be 1.0581x faster
   asmjs_bool_bug                                     7.7161+-0.1361     ?      8.0187+-0.3511        ? might be 1.0392x slower
   assign-custom-setter-polymorphic                   3.1903+-0.0696     ?      3.3884+-0.1917        ? might be 1.0621x slower
   assign-custom-setter                               4.5389+-0.1772     ?      4.5686+-0.2409        ?
   basic-set                                          8.6403+-0.5726     ?      8.8457+-0.6135        ? might be 1.0238x slower
   big-int-mul                                        4.0225+-0.0907     ?      4.1574+-0.5099        ? might be 1.0335x slower
   boolean-test                                       3.2513+-0.2935            3.0396+-0.0221          might be 1.0697x faster
   branch-fold                                        3.7662+-0.0947     ?      3.7743+-0.0374        ?
   branch-on-string-as-boolean                       19.6534+-1.2638           19.1562+-0.6239          might be 1.0260x faster
   by-val-generic                                     8.5334+-0.3845            8.3252+-0.2105          might be 1.0250x faster
   call-spread-apply                                 29.9347+-1.3392     ?     30.3003+-1.7595        ? might be 1.0122x slower
   call-spread-call                                  25.0193+-0.5557     ?     25.7920+-2.2825        ? might be 1.0309x slower
   captured-assignments                               0.4434+-0.0186            0.4411+-0.0251        
   cast-int-to-double                                 5.2435+-0.0345     ?      5.2999+-0.1066        ? might be 1.0108x slower
   cell-argument                                      8.6821+-0.2872            8.5294+-0.1990          might be 1.0179x faster
   cfg-simplify                                       2.9832+-0.3516            2.8936+-0.2327          might be 1.0310x faster
   chain-getter-access                                9.1381+-0.1679     ?      9.2170+-0.1734        ?
   cmpeq-obj-to-obj-other                            11.6123+-0.6601     ?     11.7586+-1.1263        ? might be 1.0126x slower
   constant-test                                      5.1036+-0.4346            4.9788+-0.1448          might be 1.0251x faster
   create-lots-of-functions                          11.7119+-0.4564     ?     12.3462+-1.2897        ? might be 1.0542x slower
   DataView-custom-properties                        40.3694+-1.3201           38.1027+-1.7055          might be 1.0595x faster
   deconstructing-parameters-overridden-by-function   
                                                      0.5385+-0.0385     ?      0.5739+-0.0634        ? might be 1.0657x slower
   delay-tear-off-arguments-strictmode               14.3512+-0.5061           14.1577+-0.3646          might be 1.0137x faster
   deltablue-varargs                                203.8500+-3.0923          203.2452+-2.1955        
   destructuring-arguments                           17.4195+-0.8704     ?     17.8844+-0.9739        ? might be 1.0267x slower
   destructuring-swap                                 5.0193+-0.0799            5.0167+-0.0688        
   direct-arguments-getbyval                          1.3413+-0.1559     ?      1.4492+-0.3503        ? might be 1.0805x slower
   div-boolean-double                                 5.2252+-0.0264     ?      5.4052+-0.2918        ? might be 1.0345x slower
   div-boolean                                        7.8058+-0.0310            7.7855+-0.0280        
   double-get-by-val-out-of-bounds                    4.8037+-0.4936            4.6004+-0.1056          might be 1.0442x faster
   double-pollution-getbyval                          9.0015+-0.1665            8.9053+-0.0896          might be 1.0108x faster
   double-pollution-putbyoffset                       4.3126+-0.1390     ?      4.3324+-0.0792        ?
   double-to-int32-typed-array-no-inline              2.3341+-0.0779            2.3092+-0.0563          might be 1.0108x faster
   double-to-int32-typed-array                        2.0549+-0.2512            2.0537+-0.1402        
   double-to-uint32-typed-array-no-inline             2.3894+-0.1298     ?      2.3966+-0.1326        ?
   double-to-uint32-typed-array                       2.0929+-0.0592     ?      2.1495+-0.2429        ? might be 1.0271x slower
   elidable-new-object-dag                           45.0874+-2.3001           43.0749+-1.5545          might be 1.0467x faster
   elidable-new-object-roflcopter                    44.4360+-1.0343     ?     45.0785+-1.5143        ? might be 1.0145x slower
   elidable-new-object-then-call                     39.4447+-1.4320           38.9660+-1.1205          might be 1.0123x faster
   elidable-new-object-tree                          46.9416+-2.3451           46.2319+-1.6173          might be 1.0154x faster
   empty-string-plus-int                              5.5490+-0.1459            5.4898+-0.1299          might be 1.0108x faster
   emscripten-cube2hash                              39.0153+-1.9658           38.2844+-1.4932          might be 1.0191x faster
   exit-length-on-plain-object                       14.7779+-2.0146     ?     15.4621+-1.7696        ? might be 1.0463x slower
   external-arguments-getbyval                        1.2557+-0.0656     ?      1.2998+-0.1204        ? might be 1.0351x slower
   external-arguments-putbyval                        2.3207+-0.0789     ?      2.3293+-0.0455        ?
   fixed-typed-array-storage-var-index                1.2436+-0.0608            1.2380+-0.0410        
   fixed-typed-array-storage                          0.9327+-0.1312     ?      0.9654+-0.1201        ? might be 1.0351x slower
   Float32Array-matrix-mult                           4.7683+-0.5870            4.6217+-0.4980          might be 1.0317x faster
   Float32Array-to-Float64Array-set                  53.4274+-1.1000           53.2842+-0.8842        
   Float64Array-alloc-long-lived                     69.8285+-0.8786     ?     69.9957+-2.7974        ?
   Float64Array-to-Int16Array-set                    71.4953+-0.7615           71.1650+-0.5572        
   fold-double-to-int                                15.2241+-0.8217           14.6495+-0.2386          might be 1.0392x faster
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     11.0651+-1.8670     ?     11.0787+-0.8949        ?
   fold-get-by-id-to-multi-get-by-offset              9.7816+-0.6196            9.6176+-0.7667          might be 1.0171x faster
   fold-multi-get-by-offset-to-get-by-offset   
                                                     10.0097+-1.5695            8.9050+-0.5932          might be 1.1241x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      9.5769+-1.7042            9.0180+-0.7634          might be 1.0620x faster
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                      9.7798+-1.4422            8.8219+-0.9421          might be 1.1086x faster
   fold-multi-put-by-offset-to-put-by-offset   
                                                      5.6980+-1.2535     ?      6.0759+-1.1212        ? might be 1.0663x slower
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                     10.1307+-0.4033            9.7143+-0.3504          might be 1.0429x faster
   fold-put-by-id-to-multi-put-by-offset             10.7280+-1.7582           10.3071+-0.9325          might be 1.0408x faster
   fold-put-structure                                 4.5717+-0.5936     ?      7.0169+-1.8976        ? might be 1.5348x slower
   for-of-iterate-array-entries                       4.9305+-0.3457            4.9153+-0.2616        
   for-of-iterate-array-keys                          3.8199+-0.0876     ?      3.8544+-0.2335        ?
   for-of-iterate-array-values                        3.9135+-0.3063            3.6631+-0.0346          might be 1.0684x faster
   fround                                            21.1193+-0.4045           20.9652+-0.5630        
   ftl-library-inlining-dataview                     63.8012+-0.4122     ?     65.8792+-4.1671        ? might be 1.0326x slower
   ftl-library-inlining                              88.6995+-30.7658          85.6090+-22.6925         might be 1.0361x faster
   function-dot-apply                                 2.0058+-0.0952            1.9510+-0.0198          might be 1.0281x faster
   function-test                                      3.0759+-0.1941            2.9670+-0.1097          might be 1.0367x faster
   function-with-eval                               105.7041+-2.4907          105.3704+-2.3111        
   gcse-poly-get-less-obvious                        18.3164+-1.3022     ?     19.5500+-1.3315        ? might be 1.0674x slower
   gcse-poly-get                                     20.8781+-1.5973           19.8683+-1.0693          might be 1.0508x faster
   gcse                                               4.4803+-0.1864            4.3312+-0.0684          might be 1.0344x faster
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      3.0177+-0.3044            3.0052+-0.3384        
   get-by-id-bimorphic-check-structure-elimination   
                                                      6.1653+-0.2388            6.0600+-0.1138          might be 1.0174x faster
   get-by-id-chain-from-try-block                     7.8825+-1.5753            6.6751+-0.2693          might be 1.1809x faster
   get-by-id-check-structure-elimination              5.1842+-0.1153     ?      5.2090+-0.0852        ?
   get-by-id-proto-or-self                           20.8125+-2.1444           19.8535+-2.4017          might be 1.0483x faster
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      3.2250+-0.0663     ?      3.2417+-0.1107        ?
   get-by-id-self-or-proto                           19.2903+-1.7224           18.7735+-2.2376          might be 1.0275x faster
   get-by-val-out-of-bounds                           4.4634+-0.1407            4.4378+-0.0960        
   get_callee_monomorphic                             2.9116+-0.0886            2.8500+-0.0679          might be 1.0216x faster
   get_callee_polymorphic                             3.6838+-0.0922     ?      3.8419+-0.2644        ? might be 1.0429x slower
   getter-no-activation                               5.1432+-0.3113            5.1414+-0.3670        
   getter-richards                                  123.0626+-7.8790     ?    125.6263+-9.7132        ? might be 1.0208x slower
   getter                                             6.2517+-1.0268            5.9772+-0.7168          might be 1.0459x faster
   global-var-const-infer-fire-from-opt               1.0567+-0.1995     ?      1.1014+-0.2864        ? might be 1.0422x slower
   global-var-const-infer                             0.8145+-0.0845     ?      0.9057+-0.1705        ? might be 1.1119x slower
   HashMap-put-get-iterate-keys                      30.0799+-2.2486           29.3101+-1.8062          might be 1.0263x faster
   HashMap-put-get-iterate                           31.6191+-1.4078           31.0134+-2.3315          might be 1.0195x faster
   HashMap-string-put-get-iterate                    29.1099+-1.6051     ?     29.8998+-2.6990        ? might be 1.0271x slower
   hoist-make-rope                                   12.7408+-0.5222           12.4715+-1.1249          might be 1.0216x faster
   hoist-poly-check-structure-effectful-loop   
                                                      5.0495+-0.2680     ?      5.8531+-1.0909        ? might be 1.1591x slower
   hoist-poly-check-structure                         3.6109+-0.0323     ?      3.6587+-0.0688        ? might be 1.0132x slower
   imul-double-only                                   8.6145+-0.2234     ?      8.7050+-0.1434        ? might be 1.0105x slower
   imul-int-only                                     10.1133+-1.1096           10.0686+-0.6927        
   imul-mixed                                         8.5352+-0.0929            8.3557+-0.2494          might be 1.0215x faster
   in-four-cases                                     21.5441+-0.2742     ?     21.6818+-0.2344        ?
   in-one-case-false                                 10.5025+-0.4557     ?     10.7230+-0.6901        ? might be 1.0210x slower
   in-one-case-true                                  10.7112+-0.7501     ?     10.7629+-0.8133        ?
   in-two-cases                                      11.6860+-1.7088     ?     11.7684+-2.3183        ?
   indexed-properties-in-objects                      3.2550+-0.3756            3.0996+-0.0398          might be 1.0501x faster
   infer-closure-const-then-mov-no-inline             4.2757+-0.4312     ?      4.8860+-0.5488        ? might be 1.1427x slower
   infer-closure-const-then-mov                      20.0610+-0.5248           20.0321+-0.3632        
   infer-closure-const-then-put-to-scope-no-inline   
                                                     11.0998+-0.1168     ?     11.1322+-0.0971        ?
   infer-closure-const-then-put-to-scope             23.4729+-1.4526           22.4580+-1.4721          might be 1.0452x faster
   infer-closure-const-then-reenter-no-inline   
                                                     49.8625+-1.5666           48.2687+-0.4265          might be 1.0330x faster
   infer-closure-const-then-reenter                  22.8731+-1.6263     ?     23.3676+-1.1336        ? might be 1.0216x slower
   infer-constant-global-property                     3.6016+-0.0467     ?      3.7928+-0.2557        ? might be 1.0531x slower
   infer-constant-property                            2.7472+-0.0406     ?      2.7668+-0.0814        ?
   infer-one-time-closure-ten-vars                   12.5192+-0.3307     ?     13.4365+-1.4543        ? might be 1.0733x slower
   infer-one-time-closure-two-vars                   12.7519+-0.9189     ?     12.7698+-0.9478        ?
   infer-one-time-closure                            12.4278+-0.8935     ?     12.4939+-1.4325        ?
   infer-one-time-deep-closure                       21.7373+-1.4895           21.4160+-1.0938          might be 1.0150x faster
   inline-arguments-access                            4.7552+-0.4986            4.5232+-0.1346          might be 1.0513x faster
   inline-arguments-aliased-access                    4.5222+-0.2276     ?      4.7197+-0.3916        ? might be 1.0437x slower
   inline-arguments-local-escape                      4.6453+-0.3231            4.5836+-0.1700          might be 1.0135x faster
   inline-get-scoped-var                              5.0977+-0.3568            4.8334+-0.2340          might be 1.0547x faster
   inlined-put-by-id-transition                      11.1767+-0.5912     ?     11.9476+-0.4915        ? might be 1.0690x slower
   int-or-other-abs-then-get-by-val                   4.9757+-0.1765            4.8644+-0.1099          might be 1.0229x faster
   int-or-other-abs-zero-then-get-by-val             16.9299+-0.8448     ?     17.4402+-1.0610        ? might be 1.0301x slower
   int-or-other-add-then-get-by-val                   4.0545+-0.2774            4.0205+-0.1934        
   int-or-other-add                                   5.2563+-0.0374     ?      5.2611+-0.0339        ?
   int-or-other-div-then-get-by-val                   4.1248+-0.0780     ?      4.2673+-0.1617        ? might be 1.0346x slower
   int-or-other-max-then-get-by-val                   4.1438+-0.0506     ?      4.3809+-0.2456        ? might be 1.0572x slower
   int-or-other-min-then-get-by-val                   4.2046+-0.1929     ?      4.2258+-0.0841        ?
   int-or-other-mod-then-get-by-val                   3.8257+-0.0646     ?      3.8770+-0.1329        ? might be 1.0134x slower
   int-or-other-mul-then-get-by-val                   3.8090+-0.2983            3.7965+-0.2816        
   int-or-other-neg-then-get-by-val                   4.6095+-0.0510     ?      4.6185+-0.0101        ?
   int-or-other-neg-zero-then-get-by-val             17.0020+-0.3526     ?     18.3696+-1.2756        ? might be 1.0804x slower
   int-or-other-sub-then-get-by-val                   4.1319+-0.0372     ?      4.3598+-0.2714        ? might be 1.0552x slower
   int-or-other-sub                                   3.6232+-0.3130            3.3817+-0.0243          might be 1.0714x faster
   int-overflow-local                                 4.2629+-0.0545     ?      4.5451+-0.3755        ? might be 1.0662x slower
   Int16Array-alloc-long-lived                       48.9345+-0.8902     ?     49.2513+-1.6821        ?
   Int16Array-bubble-sort-with-byteLength            20.1413+-0.7182           20.1410+-0.3321        
   Int16Array-bubble-sort                            20.7095+-2.0798           19.8621+-0.2822          might be 1.0427x faster
   Int16Array-load-int-mul                            1.6052+-0.2241            1.5661+-0.0913          might be 1.0250x faster
   Int16Array-to-Int32Array-set                      57.2637+-1.3965     ?     59.1253+-0.5377        ? might be 1.0325x slower
   Int32Array-alloc-large                            25.3105+-1.2248           24.2050+-0.5615          might be 1.0457x faster
   Int32Array-alloc-long-lived                       55.1809+-1.1315           54.0943+-0.8598          might be 1.0201x faster
   Int32Array-alloc                                   3.2967+-0.1587     ?      3.4594+-0.5696        ? might be 1.0493x slower
   Int32Array-Int8Array-view-alloc                    7.9551+-1.0869            7.2735+-0.8806          might be 1.0937x faster
   int52-spill                                        6.4666+-0.1300     ?      6.4778+-0.4525        ?
   Int8Array-alloc-long-lived                        44.1276+-1.5149     ?     45.4674+-0.8409        ? might be 1.0304x slower
   Int8Array-load-with-byteLength                     3.3378+-0.0394     ?      3.4910+-0.2812        ? might be 1.0459x slower
   Int8Array-load                                     3.3319+-0.0342     ?      3.3809+-0.0621        ? might be 1.0147x slower
   integer-divide                                    11.0284+-0.3350           10.9671+-0.3544        
   integer-modulo                                     2.1196+-0.2500     ?      2.2662+-0.3401        ? might be 1.0692x slower
   is-boolean-fold-tricky                             4.9363+-0.7524            4.5920+-0.2270          might be 1.0750x faster
   is-boolean-fold                                    2.8568+-0.0172     !      2.9478+-0.0532        ! definitely 1.0318x slower
   is-function-fold-tricky-internal-function   
                                                     12.1975+-0.2744           12.1068+-0.1163        
   is-function-fold-tricky                            4.6042+-0.1314            4.5521+-0.0664          might be 1.0114x faster
   is-function-fold                                   2.9241+-0.1406            2.9112+-0.0618        
   is-number-fold-tricky                              4.4529+-0.1001     ?      4.9353+-0.9051        ? might be 1.1083x slower
   is-number-fold                                     2.8732+-0.0595     ?      2.9955+-0.2816        ? might be 1.0426x slower
   is-object-or-null-fold-functions                   3.0298+-0.2412            2.9436+-0.0602          might be 1.0293x faster
   is-object-or-null-fold-less-tricky                 4.6013+-0.1053     ?      4.6166+-0.2112        ?
   is-object-or-null-fold-tricky                      6.6275+-0.0572     ?      6.6316+-0.0952        ?
   is-object-or-null-fold                             3.1627+-0.3721            2.9406+-0.0549          might be 1.0755x faster
   is-object-or-null-trickier-function                4.6489+-0.0660     ?      4.9896+-0.5786        ? might be 1.0733x slower
   is-object-or-null-trickier-internal-function   
                                                     12.6346+-0.1446           12.5809+-0.2112        
   is-object-or-null-tricky-function                  4.7240+-0.2250     ?      4.8016+-0.3403        ? might be 1.0164x slower
   is-object-or-null-tricky-internal-function   
                                                      9.4391+-0.3087            9.3428+-0.2861          might be 1.0103x faster
   is-string-fold-tricky                              4.4744+-0.0557     ?      4.4910+-0.0998        ?
   is-string-fold                                     2.9192+-0.1737            2.9137+-0.1164        
   is-undefined-fold-tricky                           3.8257+-0.1564     ?      3.8485+-0.3007        ?
   is-undefined-fold                                  2.8762+-0.0444     ?      2.8768+-0.0592        ?
   large-int-captured                                 4.7499+-0.1825     ?      5.0615+-0.8249        ? might be 1.0656x slower
   large-int-neg                                     16.2874+-0.7664     ?     16.9997+-0.9397        ? might be 1.0437x slower
   large-int                                         15.5330+-1.6982           14.8267+-0.4544          might be 1.0476x faster
   load-varargs-elimination                          23.2519+-0.4875           22.8294+-0.5915          might be 1.0185x faster
   logical-not                                        4.4892+-0.0606     ?      4.6304+-0.2050        ? might be 1.0315x slower
   lots-of-fields                                    14.5129+-1.5097           13.3713+-0.4236          might be 1.0854x faster
   make-indexed-storage                               3.2351+-0.1465     ?      3.2632+-0.1413        ?
   make-rope-cse                                      4.8064+-0.2331     ?      5.0915+-0.6784        ? might be 1.0593x slower
   marsaglia-larger-ints                             36.4963+-1.2110     ?     36.6995+-1.1830        ?
   marsaglia-osr-entry                               23.0561+-0.4780     ?     23.2073+-0.1530        ?
   max-boolean                                        2.5196+-0.0924     ?      2.6487+-0.3246        ? might be 1.0513x slower
   method-on-number                                  16.9267+-0.3250           16.8029+-0.1452        
   min-boolean                                        2.7888+-0.3365            2.6565+-0.2972          might be 1.0498x faster
   minus-boolean-double                               3.4752+-0.3440            3.2357+-0.0640          might be 1.0740x faster
   minus-boolean                                      2.4080+-0.1017     ?      2.4707+-0.3161        ? might be 1.0260x slower
   misc-strict-eq                                    39.5769+-0.3653           38.8828+-0.8557          might be 1.0179x faster
   mod-boolean-double                                10.9644+-0.1964     ?     11.1031+-0.3077        ? might be 1.0127x slower
   mod-boolean                                        7.8765+-0.0998     ?      7.9131+-0.0737        ?
   mul-boolean-double                                 3.8053+-0.0995     ?      4.0181+-0.3399        ? might be 1.0559x slower
   mul-boolean                                        3.0400+-0.2313            2.9345+-0.1519          might be 1.0360x faster
   neg-boolean                                        3.3599+-0.3966     ?      3.4288+-0.3718        ? might be 1.0205x slower
   negative-zero-divide                               0.3874+-0.0486            0.3771+-0.0157          might be 1.0273x faster
   negative-zero-modulo                               0.3759+-0.0294            0.3692+-0.0382          might be 1.0182x faster
   negative-zero-negate                               0.3431+-0.0206     ?      0.3543+-0.0414        ? might be 1.0326x slower
   nested-function-parsing                           38.7250+-1.5337     ?     39.1254+-1.9338        ? might be 1.0103x slower
   new-array-buffer-dead                            117.8438+-9.3873          112.8209+-0.7398          might be 1.0445x faster
   new-array-buffer-push                              6.9592+-0.2553     ?      7.7637+-1.0849        ? might be 1.1156x slower
   new-array-dead                                    19.4302+-0.4179     ?     19.9215+-1.4172        ? might be 1.0253x slower
   new-array-push                                     3.9349+-0.1796     ?      3.9625+-0.1334        ?
   no-inline-constructor                            125.1900+-2.1697          123.8940+-2.4325          might be 1.0105x faster
   number-test                                        3.0565+-0.0584     ?      3.0770+-0.0582        ?
   object-closure-call                                5.6307+-0.3711            5.5433+-0.1754          might be 1.0158x faster
   object-test                                        2.9187+-0.2761            2.8227+-0.0397          might be 1.0340x faster
   obvious-sink-pathology-taken                     140.3638+-1.7287          140.0334+-1.6931        
   obvious-sink-pathology                           131.7812+-3.0751          131.5667+-0.9398        
   obviously-elidable-new-object                     36.0180+-1.8146           35.8641+-0.9861        
   plus-boolean-arith                                 2.7532+-0.3765            2.5478+-0.0641          might be 1.0806x faster
   plus-boolean-double                                3.4214+-0.2614            3.1856+-0.0406          might be 1.0740x faster
   plus-boolean                                       2.4132+-0.0481     ?      2.4427+-0.1663        ? might be 1.0122x slower
   poly-chain-access-different-prototypes-simple   
                                                      3.4126+-0.2013            3.3353+-0.0865          might be 1.0232x faster
   poly-chain-access-different-prototypes             2.7577+-0.3094            2.6257+-0.0471          might be 1.0503x faster
   poly-chain-access-simpler                          3.6092+-0.6921            3.4103+-0.2748          might be 1.0583x faster
   poly-chain-access                                  2.7076+-0.2113            2.6372+-0.0917          might be 1.0267x faster
   poly-stricteq                                     60.3188+-2.5230           59.7644+-1.9277        
   polymorphic-array-call                             1.3350+-0.2008            1.2475+-0.0222          might be 1.0702x faster
   polymorphic-get-by-id                              3.3638+-0.3581            3.1694+-0.0981          might be 1.0614x faster
   polymorphic-put-by-id                             31.3641+-1.9708           31.3074+-1.6670        
   polymorphic-structure                             13.5887+-0.2336     ?     13.7297+-0.2135        ? might be 1.0104x slower
   polyvariant-monomorphic-get-by-id                  8.5825+-0.1760     ?      8.6020+-0.1577        ?
   proto-getter-access                                9.1803+-0.1309            9.1042+-0.2291        
   put-by-id-replace-and-transition                   9.1884+-0.3403            9.0384+-0.0646          might be 1.0166x faster
   put-by-id-slightly-polymorphic                     2.8983+-0.1247     ?      3.2255+-0.3703        ? might be 1.1129x slower
   put-by-id                                         13.8239+-0.8476           13.1672+-0.7067          might be 1.0499x faster
   put-by-val-direct                                  0.3875+-0.0499     ?      0.3890+-0.0458        ?
   put-by-val-large-index-blank-indexing-type   
                                                      5.9199+-0.1112     ?      6.4197+-0.6873        ? might be 1.0844x slower
   put-by-val-machine-int                             2.8182+-0.1142     ?      2.8562+-0.1994        ? might be 1.0135x slower
   rare-osr-exit-on-local                            15.0916+-0.3537           14.9360+-0.1624          might be 1.0104x faster
   register-pressure-from-osr                        21.2586+-0.2775     ?     22.0350+-0.9645        ? might be 1.0365x slower
   setter                                             5.9708+-0.8119            5.6859+-0.6050          might be 1.0501x faster
   simple-activation-demo                            25.5411+-0.8979           25.3350+-1.3286        
   simple-getter-access                              12.0438+-0.4669           11.8875+-0.2466          might be 1.0132x faster
   simple-poly-call-nested                            8.3221+-0.2817            8.2585+-0.2911        
   simple-poly-call                                   1.3142+-0.0146     ?      1.3413+-0.0791        ? might be 1.0207x slower
   sin-boolean                                       24.0199+-1.2357           23.4409+-0.3800          might be 1.0247x faster
   singleton-scope                                   62.1459+-1.3984     ?     62.3223+-1.0298        ?
   sink-function                                     12.3903+-0.2874     ?     12.5122+-0.6255        ?
   sink-huge-activation                              19.1270+-0.2916     ?     19.9437+-1.2830        ? might be 1.0427x slower
   sinkable-new-object-dag                           70.5348+-1.4886     ?     70.9808+-1.2832        ?
   sinkable-new-object-taken                         51.3298+-2.8362     ?     52.8319+-2.2940        ? might be 1.0293x slower
   sinkable-new-object                               39.8567+-1.9276     ?     40.0804+-1.1618        ?
   slow-array-profile-convergence                     3.0973+-0.3547            2.8924+-0.1421          might be 1.0708x faster
   slow-convergence                                   2.8606+-0.3310            2.8507+-0.2235        
   sorting-benchmark                                 20.1239+-0.5998           19.9557+-0.7341        
   sparse-conditional                                 1.1944+-0.0905     ?      1.2402+-0.0795        ? might be 1.0383x slower
   splice-to-remove                                  16.8464+-0.4208     ?     17.2271+-1.3323        ? might be 1.0226x slower
   string-char-code-at                               15.7448+-0.1452     ?     16.0398+-0.4209        ? might be 1.0187x slower
   string-concat-object                               2.5967+-0.0400     ?      2.6514+-0.1204        ? might be 1.0210x slower
   string-concat-pair-object                          2.6040+-0.1004            2.5489+-0.0175          might be 1.0216x faster
   string-concat-pair-simple                         12.8121+-1.4117           11.7393+-0.5004          might be 1.0914x faster
   string-concat-simple                              12.6921+-1.0562           12.2146+-0.6913          might be 1.0391x faster
   string-cons-repeat                                 8.6666+-0.9003     ?      9.1121+-0.9951        ? might be 1.0514x slower
   string-cons-tower                                  8.7117+-0.7892     ?      8.8789+-1.0317        ? might be 1.0192x slower
   string-equality                                   18.7093+-0.6965     ?     18.7583+-0.7157        ?
   string-get-by-val-big-char                         7.2598+-0.1732            7.1322+-0.0636          might be 1.0179x faster
   string-get-by-val-out-of-bounds-insane             3.7918+-0.4699     ?      3.8192+-0.4446        ?
   string-get-by-val-out-of-bounds                    5.2196+-0.0502     ?      5.4255+-0.3742        ? might be 1.0394x slower
   string-get-by-val                                  3.3748+-0.1138     ?      3.3807+-0.1491        ?
   string-hash                                        2.1388+-0.1825            2.0735+-0.1049          might be 1.0315x faster
   string-long-ident-equality                        14.8970+-0.2732           14.7631+-0.3471        
   string-out-of-bounds                              15.9705+-2.9785           14.7850+-0.1520          might be 1.0802x faster
   string-repeat-arith                               32.7494+-1.4133     ?     33.4873+-3.1763        ? might be 1.0225x slower
   string-sub                                        63.5078+-4.3203     ?     65.9730+-1.6891        ? might be 1.0388x slower
   string-test                                        2.9906+-0.1017     ?      2.9940+-0.1524        ?
   string-var-equality                               32.6294+-1.1539           32.6071+-1.0574        
   structure-hoist-over-transitions                   2.7347+-0.1225     ?      2.9179+-0.4578        ? might be 1.0670x slower
   substring-concat-weird                            40.4580+-1.5119     ?     41.5056+-3.3996        ? might be 1.0259x slower
   substring-concat                                  43.0233+-1.4630     ?     43.3078+-1.7450        ?
   substring                                         46.9935+-1.9363     ?     48.3389+-2.4829        ? might be 1.0286x slower
   switch-char-constant                               2.7478+-0.0527     ?      2.8045+-0.1037        ? might be 1.0206x slower
   switch-char                                        6.9785+-0.9710            6.6175+-0.8895          might be 1.0546x faster
   switch-constant                                    8.5750+-0.1178     ?      8.6388+-0.2194        ?
   switch-string-basic-big-var                       18.1136+-0.6568     ?     18.3727+-0.8344        ? might be 1.0143x slower
   switch-string-basic-big                           14.5489+-0.5066     ?     14.6757+-0.8044        ?
   switch-string-basic-var                           15.0861+-0.5997           14.9443+-0.2954        
   switch-string-basic                               13.0924+-0.1829     ?     13.1738+-0.1289        ?
   switch-string-big-length-tower-var                20.0834+-0.4041     ?     20.7172+-1.6382        ? might be 1.0316x slower
   switch-string-length-tower-var                    14.8763+-0.1085     ?     15.4438+-1.3157        ? might be 1.0381x slower
   switch-string-length-tower                        12.8211+-0.2496           12.6375+-0.3306          might be 1.0145x faster
   switch-string-short                               12.5228+-0.1101     ?     12.9848+-0.6176        ? might be 1.0369x slower
   switch                                            12.7225+-0.2120     ?     12.9670+-0.6133        ? might be 1.0192x slower
   tear-off-arguments-simple                          3.4519+-0.0483            3.4406+-0.0741        
   tear-off-arguments                                 4.7764+-0.0628     ?      4.8722+-0.1820        ? might be 1.0200x slower
   temporal-structure                                12.4750+-1.3358           12.0270+-0.1921          might be 1.0372x faster
   to-int32-boolean                                  13.5747+-0.2741           13.5245+-0.1986        
   try-catch-get-by-val-cloned-arguments             14.4663+-0.7088     ?     14.5232+-0.7002        ?
   try-catch-get-by-val-direct-arguments              6.5536+-0.0899     ?      6.8715+-0.2785        ? might be 1.0485x slower
   try-catch-get-by-val-scoped-arguments              7.9830+-0.3712     ?      8.2121+-0.9757        ? might be 1.0287x slower
   typed-array-get-set-by-val-profiling              33.4101+-2.2858           32.1319+-0.6056          might be 1.0398x faster
   undefined-property-access                        342.6272+-7.2367          340.9213+-1.6572        
   undefined-test                                     3.0460+-0.0831     ?      3.2170+-0.4548        ? might be 1.0561x slower
   unprofiled-licm                                   22.5445+-0.4225     ?     23.6062+-1.4269        ? might be 1.0471x slower
   varargs-call                                      14.6009+-0.7960           14.3101+-0.3752          might be 1.0203x faster
   varargs-construct-inline                          61.3050+-2.1588     ?     63.2991+-2.1170        ? might be 1.0325x slower
   varargs-construct                                 30.9337+-0.6965     ?     34.5073+-7.5838        ? might be 1.1155x slower
   varargs-inline                                     9.3240+-0.4838     ?      9.4890+-0.6632        ? might be 1.0177x slower
   varargs-strict-mode                                9.6895+-0.0919     ?      9.8188+-0.2254        ? might be 1.0133x slower
   varargs                                            9.8756+-0.1616            9.7156+-0.0982          might be 1.0165x faster
   weird-inlining-const-prop                          2.4315+-0.1457            2.4045+-0.2801          might be 1.0112x faster

   <geometric>                                        8.6100+-0.0323     ?      8.6317+-0.0285        ? might be 1.0025x slower

                                                        TipOfTree                FixThingies                                    
AsmBench:
   bigfib.cpp                                       499.3941+-6.9257          496.1350+-3.3585        
   cray.c                                           426.9661+-5.1516          425.7356+-7.1094        
   dry.c                                            483.9690+-10.5377    ?    487.5743+-8.1270        ?
   FloatMM.c                                        725.1027+-4.0403          723.9647+-2.1561        
   gcc-loops.cpp                                   4271.4594+-13.2848        4263.1775+-7.0867        
   n-body.c                                        1056.2605+-175.1967        981.2413+-5.3244          might be 1.0765x faster
   Quicksort.c                                      422.0153+-3.9550     ?    424.4740+-5.8388        ?
   stepanov_container.cpp                          3616.0418+-28.2046        3609.5909+-12.3843       
   Towers.c                                         259.5054+-1.6641     ?    259.5632+-0.5848        ?

   <geometric>                                      798.9202+-14.7610         792.9944+-2.1469          might be 1.0075x faster

                                                        TipOfTree                FixThingies                                    
CompressionBench:
   huffman                                          361.1306+-0.9819     ?    369.6755+-11.7435       ? might be 1.0237x slower
   arithmetic-simple                                396.4341+-1.9892     ?    398.0345+-3.3513        ?
   arithmetic-precise                               300.9525+-2.3045          298.6882+-2.6891        
   arithmetic-complex-precise                       296.8240+-2.7751     ?    297.1861+-3.5179        ?
   arithmetic-precise-order-0                       426.8225+-7.9286          423.8863+-6.1627        
   arithmetic-precise-order-1                       330.0705+-3.9236          328.0158+-2.0221        
   arithmetic-precise-order-2                       360.8777+-6.2132     ?    362.2769+-5.0437        ?
   arithmetic-simple-order-1                        463.2390+-98.6608         426.9357+-6.1454          might be 1.0850x faster
   arithmetic-simple-order-2                        465.3241+-5.0675          463.9509+-6.1766        
   lz-string                                        329.7726+-6.8006          326.7632+-14.3573       

   <geometric>                                      368.0271+-6.1015          365.4814+-2.2613          might be 1.0070x faster

                                                        TipOfTree                FixThingies                                    
Geomean of preferred means:
   <scaled-result>                                   62.1846+-0.3457           62.0891+-0.1366          might be 1.0015x faster
Comment 8 Michael Saboff 2015-05-13 14:50:59 PDT
Comment on attachment 253051 [details]
the patch

r=me
Comment 9 Filip Pizlo 2015-05-13 15:18:23 PDT
Landed in http://trac.webkit.org/changeset/184311