<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>143851</bug_id>
          
          <creation_ts>2015-04-16 15:43:06 -0700</creation_ts>
          <short_desc>Inline JSFunction allocation in FTL</short_desc>
          <delta_ts>2015-04-17 11:13:04 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Basile Clement">basile_clement</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>msaboff</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1086103</commentid>
    <comment_count>0</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-04-16 15:43:06 -0700</bug_when>
    <thetext>Patch forthcoming</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086107</commentid>
    <comment_count>1</comment_count>
      <attachid>250959</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-04-16 15:46:26 -0700</bug_when>
    <thetext>Created attachment 250959
Tentative patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086122</commentid>
    <comment_count>2</comment_count>
      <attachid>250959</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-16 15:58:03 -0700</bug_when>
    <thetext>Comment on attachment 250959
Tentative patch

View in context: https://bugs.webkit.org/attachment.cgi?id=250959&amp;action=review

Looks good!

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2943
&gt; +        // We don&apos;t need memory barriers since we just fast-created the activation, so the
&gt; +        // activation must be young.

probably don&apos;t need this comment, or you can replace &quot;activation&quot; with &quot;function&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086125</commentid>
    <comment_count>3</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-04-16 16:01:31 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; Comment on attachment 250959 [details]
&gt; Tentative patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=250959&amp;action=review
&gt; 
&gt; Looks good!
&gt; 
&gt; &gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:2943
&gt; &gt; +        // We don&apos;t need memory barriers since we just fast-created the activation, so the
&gt; &gt; +        // activation must be young.
&gt; 
&gt; probably don&apos;t need this comment, or you can replace &quot;activation&quot; with
&gt; &quot;function&quot;

It was there in the createCompileActivation() inlining, so I supposed it would make sense to have here as well. Good catch on &quot;activation&quot;/&quot;function&quot;, fixing that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086142</commentid>
    <comment_count>4</comment_count>
      <attachid>250969</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-04-16 16:11:12 -0700</bug_when>
    <thetext>Created attachment 250969
Define JSFunction::allocationSize() instead of using sizeof(JSFunction)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086164</commentid>
    <comment_count>5</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-04-16 16:37:59 -0700</bug_when>
    <thetext>Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on Basiles-MacBook-Pro (MacBookPro11,3).

VMs tested:
&quot;Conf#1&quot; at /Volumes/Data/Baseline/OpenSource/WebKitBuild/Release/jsc (r182899)
&quot;Conf#2&quot; at /Volumes/Data/WIP/OpenSource/WebKitBuild/Release/jsc (r182899)

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.

                                                          Conf#1                    Conf#2                                      
SunSpider:
   3d-cube                                            4.5990+-0.4221            4.5580+-0.4000        
   3d-morph                                           5.3000+-0.2380     ?      5.7707+-0.5599        ? might be 1.0888x slower
   3d-raytrace                                        5.2030+-0.1255            5.1391+-0.1589          might be 1.0124x faster
   access-binary-trees                                2.0130+-0.1379     ?      2.1147+-0.2031        ? might be 1.0505x slower
   access-fannkuch                                    5.2538+-0.2003            5.1330+-0.0866          might be 1.0235x faster
   access-nbody                                       2.4436+-0.0668     ?      2.5848+-0.1917        ? might be 1.0578x slower
   access-nsieve                                      3.0695+-0.0978            3.0288+-0.0482          might be 1.0134x faster
   bitops-3bit-bits-in-byte                           1.4302+-0.0547     ?      1.4372+-0.0600        ?
   bitops-bits-in-byte                                3.1510+-0.0900     ?      3.1742+-0.0953        ?
   bitops-bitwise-and                                 1.9744+-0.0459     ?      2.0336+-0.0831        ? might be 1.0300x slower
   bitops-nsieve-bits                                 3.3628+-0.2180            3.3339+-0.1496        
   controlflow-recursive                              2.1097+-0.5539            1.9800+-0.1972          might be 1.0655x faster
   crypto-aes                                         3.6970+-0.3664            3.6661+-0.3406        
   crypto-md5                                         2.1835+-0.1504     ?      2.1943+-0.1653        ?
   crypto-sha1                                        2.3311+-0.2203     ?      2.4919+-0.2643        ? might be 1.0690x slower
   date-format-tofte                                  7.1383+-0.8088            6.8739+-0.4691          might be 1.0385x faster
   date-format-xparb                                  4.5496+-0.4182     ?      4.9247+-0.3355        ? might be 1.0824x slower
   math-cordic                                        2.8370+-0.1048     ?      2.9555+-0.2449        ? might be 1.0418x slower
   math-partial-sums                                  4.6330+-0.3963            4.4578+-0.0867          might be 1.0393x faster
   math-spectral-norm                                 1.9716+-0.2931            1.7439+-0.0396          might be 1.1306x faster
   regexp-dna                                         6.2935+-0.2762     ?      6.4294+-0.3350        ? might be 1.0216x slower
   string-base64                                      4.4842+-0.4132            4.1725+-0.0447          might be 1.0747x faster
   string-fasta                                       5.9849+-0.1679     ?      6.0536+-0.2466        ? might be 1.0115x slower
   string-tagcloud                                    9.1351+-0.3214            8.9260+-0.3835          might be 1.0234x faster
   string-unpack-code                                19.3884+-1.0826     ?     19.4414+-0.8618        ?
   string-validate-input                              4.6764+-0.1425     ^      4.4034+-0.0963        ^ definitely 1.0620x faster

   &lt;arithmetic&gt;                                       4.5851+-0.0275            4.5778+-0.0672          might be 1.0016x faster

                                                          Conf#1                    Conf#2                                      
LongSpider:
   3d-cube                                          803.0699+-19.4063    ?    809.0305+-22.9386       ?
   3d-morph                                        1564.8647+-9.0996     ?   1592.0244+-36.2075       ? might be 1.0174x slower
   3d-raytrace                                      683.3388+-7.9320     ?    689.4224+-19.0132       ?
   access-binary-trees                              875.1529+-11.8724         875.0818+-10.3352       
   access-fannkuch                                  272.9062+-2.2378     ?    276.8879+-9.3927        ? might be 1.0146x slower
   access-nbody                                     570.1220+-7.6976     ?    572.7385+-5.7348        ?
   access-nsieve                                    671.2916+-11.8369         663.4910+-11.6132         might be 1.0118x faster
   bitops-3bit-bits-in-byte                          42.5070+-1.2714     ?     42.7292+-0.9330        ?
   bitops-bits-in-byte                               90.3566+-5.8304     ?     92.7364+-10.6011       ? might be 1.0263x slower
   bitops-nsieve-bits                               702.1930+-15.8141         701.4176+-27.2682       
   controlflow-recursive                            477.7046+-9.0323          469.2044+-4.1564          might be 1.0181x faster
   crypto-aes                                       579.1833+-13.0341         578.3113+-9.3444        
   crypto-md5                                       549.2771+-7.2576     ?    549.8418+-12.2125       ?
   crypto-sha1                                      589.8635+-5.6536     ?    598.7798+-19.0848       ? might be 1.0151x slower
   date-format-tofte                                526.1929+-8.1329     ?    532.0518+-11.3256       ? might be 1.0111x slower
   date-format-xparb                                681.3737+-32.6099         650.3320+-6.2473          might be 1.0477x faster
   math-cordic                                      520.5151+-2.9877     ?    523.9935+-4.3744        ?
   math-partial-sums                                441.5575+-17.0293         440.5492+-8.6003        
   math-spectral-norm                               585.5274+-13.4977         574.2784+-3.4286          might be 1.0196x faster
   string-base64                                    334.0148+-3.9755     ?    336.6573+-9.9106        ?
   string-fasta                                     385.5599+-4.3994     ?    392.4106+-17.3611       ? might be 1.0178x slower
   string-tagcloud                                  205.2707+-4.4528     ?    207.0415+-3.9943        ?

   &lt;geometric&gt;                                      450.5265+-2.6040     ?    451.4909+-2.5574        ? might be 1.0021x slower

                                                          Conf#1                    Conf#2                                      
V8Spider:
   crypto                                            54.0365+-1.3280           52.2855+-3.1355          might be 1.0335x faster
   deltablue                                         83.9845+-5.3576     ?     88.6670+-8.8956        ? might be 1.0558x slower
   earley-boyer                                      43.1970+-2.9738           40.6932+-1.0516          might be 1.0615x faster
   raytrace                                          33.5772+-1.7996           32.2699+-1.9154          might be 1.0405x faster
   regexp                                            59.2108+-2.3339     ?     61.2446+-2.4999        ? might be 1.0343x slower
   richards                                          73.3956+-2.4970           72.6655+-2.8048          might be 1.0100x faster
   splay                                             35.4069+-1.8101     ?     38.1630+-2.1307        ? might be 1.0778x slower

   &lt;geometric&gt;                                       51.8508+-1.2358     ?     51.9804+-0.7505        ? might be 1.0025x slower

                                                          Conf#1                    Conf#2                                      
Octane:
   encrypt                                           0.20654+-0.00216          0.20399+-0.00331         might be 1.0125x faster
   decrypt                                           3.68884+-0.13734          3.63728+-0.11008         might be 1.0142x faster
   deltablue                                x2       0.16711+-0.00213    ?     0.16839+-0.00228       ?
   earley                                            0.48790+-0.00581    ^     0.45680+-0.00475       ^ definitely 1.0681x faster
   boyer                                             5.94139+-0.14081    ?     5.96870+-0.22438       ?
   navier-stokes                            x2       5.29282+-0.07064          5.28472+-0.05824       
   raytrace                                 x2       1.01948+-0.01012    ?     1.08758+-0.07561       ? might be 1.0668x slower
   richards                                 x2       0.09749+-0.00287    ?     0.09881+-0.00126       ? might be 1.0136x slower
   splay                                    x2       0.36818+-0.00904    ?     0.36949+-0.00561       ?
   regexp                                   x2      29.75310+-0.29887    ?    33.22591+-9.28795       ? might be 1.1167x slower
   pdfjs                                    x2      40.68228+-0.48934         40.56041+-0.44654       
   mandreel                                 x2      47.57093+-0.91062    ?    47.79446+-0.59973       ?
   gbemu                                    x2      32.51786+-0.42407    ?    34.14483+-2.56798       ? might be 1.0500x slower
   closure                                           0.51076+-0.00803    ?     0.51717+-0.01498       ? might be 1.0125x slower
   jquery                                            6.33312+-0.10046    ?     6.36897+-0.07959       ?
   box2d                                    x2      10.76840+-0.20003         10.72413+-0.10087       
   zlib                                     x2     364.63312+-21.52860   ?   370.22668+-16.85547      ? might be 1.0153x slower
   typescript                               x2     677.01628+-10.09086       671.84550+-16.64095      

   &lt;geometric&gt;                                       5.96377+-0.03872    ?     6.04088+-0.11905       ? might be 1.0129x slower

                                                          Conf#1                    Conf#2                                      
Kraken:
   ai-astar                                          286.006+-6.358      ?     289.807+-14.165        ? might be 1.0133x slower
   audio-beat-detection                              103.218+-1.358      ?     103.284+-2.454         ?
   audio-dft                                         171.470+-6.639            168.479+-5.258           might be 1.0178x faster
   audio-fft                                          82.698+-3.331             81.769+-1.331           might be 1.0114x faster
   audio-oscillator                                  189.286+-4.257            187.925+-3.023         
   imaging-darkroom                                   99.996+-1.531      ^      96.974+-1.263         ^ definitely 1.0312x faster
   imaging-desaturate                                 59.568+-2.109      ?      60.793+-3.393         ? might be 1.0206x slower
   imaging-gaussian-blur                              91.527+-2.680             91.223+-2.118         
   json-parse-financial                               40.964+-2.532             38.903+-1.628           might be 1.0530x faster
   json-stringify-tinderbox                           53.079+-3.025      ?      53.270+-2.721         ?
   stanford-crypto-aes                                59.757+-1.597             59.332+-3.018         
   stanford-crypto-ccm                                47.465+-4.762      ?      52.497+-4.608         ? might be 1.1060x slower
   stanford-crypto-pbkdf2                            152.617+-0.850      ?     154.951+-2.227         ? might be 1.0153x slower
   stanford-crypto-sha256-iterative                   50.950+-1.876      ?      52.015+-4.015         ? might be 1.0209x slower

   &lt;arithmetic&gt;                                      106.329+-1.144      ?     106.516+-0.966         ? might be 1.0018x slower

                                                          Conf#1                    Conf#2                                      
JSRegress:
   abs-boolean                                        2.7480+-0.4438            2.3927+-0.0552          might be 1.1485x faster
   adapt-to-double-divide                            16.8929+-0.7533     ?     17.2890+-0.8639        ? might be 1.0234x slower
   aliased-arguments-getbyval                         1.2045+-0.0916            1.1359+-0.0327          might be 1.0604x faster
   allocate-big-object                                2.7470+-0.3407            2.5776+-0.2086          might be 1.0657x faster
   arguments-named-and-reflective                    11.7227+-0.6724           11.2056+-0.5321          might be 1.0461x faster
   arguments-out-of-bounds                           10.6211+-0.1652     ?     10.9550+-0.8114        ? might be 1.0314x slower
   arguments-strict-mode                             10.5998+-1.0592           10.3425+-0.3434          might be 1.0249x faster
   arguments                                          9.2973+-0.4011     ?      9.5707+-1.0173        ? might be 1.0294x slower
   arity-mismatch-inlining                            0.8181+-0.0546     ?      0.8242+-0.0283        ?
   array-access-polymorphic-structure                 6.2909+-0.5219            6.2135+-0.1936          might be 1.0125x faster
   array-nonarray-polymorhpic-access                 29.8688+-1.1692           28.6213+-0.7186          might be 1.0436x faster
   array-prototype-every                             84.4322+-4.7173     ?     84.6002+-4.4236        ?
   array-prototype-forEach                           79.9800+-2.3311     ?     82.1193+-2.8389        ? might be 1.0267x slower
   array-prototype-map                               89.8567+-3.8944     ?     91.7608+-3.6254        ? might be 1.0212x slower
   array-prototype-some                              82.8041+-1.3283     ?     84.0225+-1.6694        ? might be 1.0147x slower
   array-splice-contiguous                           43.7137+-2.7928     ^     39.2650+-1.4598        ^ definitely 1.1133x faster
   array-with-double-add                              3.3536+-0.0490     ?      3.4866+-0.2506        ? might be 1.0397x slower
   array-with-double-increment                        3.0107+-0.0857     ?      3.0753+-0.1019        ? might be 1.0215x slower
   array-with-double-mul-add                          4.2085+-0.1196     ?      4.3105+-0.2434        ? might be 1.0242x slower
   array-with-double-sum                              3.1305+-0.0575     ?      3.2215+-0.0668        ? might be 1.0291x slower
   array-with-int32-add-sub                           5.9574+-0.2820            5.8525+-0.1278          might be 1.0179x faster
   array-with-int32-or-double-sum                     3.2518+-0.1384     ?      3.3018+-0.1600        ? might be 1.0154x slower
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     29.9264+-3.4862           29.1947+-2.5537          might be 1.0251x faster
   ArrayBuffer-DataView-alloc-long-lived             12.4987+-0.4142     ?     13.1595+-0.8660        ? might be 1.0529x slower
   ArrayBuffer-Int32Array-byteOffset                  3.8010+-0.4661            3.6384+-0.0812          might be 1.0447x faster
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     29.2546+-2.1755     ?     29.9987+-1.6036        ? might be 1.0254x slower
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     21.5986+-1.2087     ?     22.6066+-1.4367        ? might be 1.0467x slower
   ArrayBuffer-Int8Array-alloc-long-lived            12.2603+-0.9141     ?     12.6168+-0.9715        ? might be 1.0291x slower
   ArrayBuffer-Int8Array-alloc                       10.5776+-0.7337     ?     10.5972+-0.8041        ?
   asmjs_bool_bug                                     6.7557+-0.2707     ?      6.9858+-0.3773        ? might be 1.0340x slower
   assign-custom-setter-polymorphic                   2.5253+-0.1049     !      2.8373+-0.2027        ! definitely 1.1235x slower
   assign-custom-setter                               3.5640+-0.2274            3.5006+-0.1931          might be 1.0181x faster
   basic-set                                          8.4462+-0.3159     ^      7.5940+-0.2815        ^ definitely 1.1122x faster
   big-int-mul                                        3.5740+-0.1947     ?      3.5913+-0.2012        ?
   boolean-test                                       2.8243+-0.1023            2.7772+-0.0515          might be 1.0169x faster
   branch-fold                                        3.4902+-0.0507     ?      3.5294+-0.0732        ? might be 1.0113x slower
   by-val-generic                                     7.3203+-0.2307     ?      7.8826+-0.9629        ? might be 1.0768x slower
   call-spread-apply                                 28.2916+-1.0146     ?     28.4963+-1.5479        ?
   call-spread-call                                  21.9257+-0.6111     ?     23.0448+-0.9835        ? might be 1.0510x slower
   captured-assignments                               0.3754+-0.0294     ?      0.4396+-0.1660        ? might be 1.1712x slower
   cast-int-to-double                                 4.9582+-0.2255            4.9142+-0.4035        
   cell-argument                                      6.5584+-0.3514            6.4486+-0.3642          might be 1.0170x faster
   cfg-simplify                                       2.8680+-0.0554     ?      2.9181+-0.0690        ? might be 1.0175x slower
   chain-getter-access                                9.2376+-0.1841     ?      9.3055+-0.1645        ?
   cmpeq-obj-to-obj-other                            10.3249+-1.1233     ?     11.4552+-0.9144        ? might be 1.1095x slower
   constant-test                                      4.5785+-0.0876     ?      4.6676+-0.1524        ? might be 1.0195x slower
   create-lots-of-functions                          18.9207+-0.9808           18.8655+-0.8375        
   DataView-custom-properties                        34.2514+-1.9517           33.9054+-2.2844          might be 1.0102x faster
   deconstructing-parameters-overridden-by-function   
                                                      0.4200+-0.0255            0.4172+-0.0206        
   delay-tear-off-arguments-strictmode               13.0027+-1.0279           12.7358+-0.6904          might be 1.0210x faster
   deltablue-varargs                                149.0005+-3.6472     ?    150.4966+-3.5405        ? might be 1.0100x slower
   destructuring-arguments                           13.7839+-0.5444     ?     14.1349+-1.0686        ? might be 1.0255x slower
   destructuring-swap                                 4.7524+-0.0771            4.7107+-0.1501        
   direct-arguments-getbyval                          1.1806+-0.0862     ?      1.2484+-0.1862        ? might be 1.0574x slower
   div-boolean-double                                 5.4690+-0.1892            5.3942+-0.1219          might be 1.0139x faster
   div-boolean                                        8.3518+-0.2142     ?      8.4397+-0.2047        ? might be 1.0105x slower
   double-get-by-val-out-of-bounds                    4.2427+-0.2607     ?      4.3839+-0.2920        ? might be 1.0333x slower
   double-pollution-getbyval                          9.0117+-0.2586     ?      9.4095+-0.4854        ? might be 1.0442x slower
   double-pollution-putbyoffset                       4.2609+-0.3763            4.0723+-0.3965          might be 1.0463x faster
   double-to-int32-typed-array-no-inline              2.0020+-0.1148     ?      2.0867+-0.1236        ? might be 1.0423x slower
   double-to-int32-typed-array                        1.6825+-0.0906     ?      1.8558+-0.2524        ? might be 1.1030x slower
   double-to-uint32-typed-array-no-inline             2.0839+-0.0905            2.0732+-0.0478        
   double-to-uint32-typed-array                       1.7563+-0.0410     ?      1.8911+-0.1388        ? might be 1.0768x slower
   elidable-new-object-dag                           36.4322+-1.9877     ?     38.4146+-2.2599        ? might be 1.0544x slower
   elidable-new-object-roflcopter                    39.5800+-3.2988     ?     40.3142+-1.5844        ? might be 1.0185x slower
   elidable-new-object-then-call                     32.8670+-0.7956     ?     33.7900+-2.4622        ? might be 1.0281x slower
   elidable-new-object-tree                          40.0287+-2.1967     ?     40.1307+-2.5954        ?
   empty-string-plus-int                              5.0966+-0.4203            4.8264+-0.0872          might be 1.0560x faster
   emscripten-cube2hash                              27.4349+-1.6436     ?     28.9473+-1.3847        ? might be 1.0551x slower
   exit-length-on-plain-object                       13.2412+-0.5283     ?     13.6662+-0.6771        ? might be 1.0321x slower
   external-arguments-getbyval                        1.3882+-0.2539            1.1597+-0.0745          might be 1.1971x faster
   external-arguments-putbyval                        2.2380+-0.4385            2.1066+-0.1197          might be 1.0624x faster
   fixed-typed-array-storage-var-index                1.1728+-0.0480     ?      1.2301+-0.2000        ? might be 1.0489x slower
   fixed-typed-array-storage                          0.8059+-0.0618            0.7869+-0.0246          might be 1.0241x faster
   Float32Array-matrix-mult                           3.8065+-0.0985     ?      4.0284+-0.1859        ? might be 1.0583x slower
   Float32Array-to-Float64Array-set                  50.2299+-1.2094     ?     50.4268+-2.3526        ?
   Float64Array-alloc-long-lived                     66.2428+-4.1969     ?     69.7954+-3.8949        ? might be 1.0536x slower
   Float64Array-to-Int16Array-set                    59.1003+-2.1973     ?     63.7486+-4.1921        ? might be 1.0786x slower
   fold-double-to-int                                13.1240+-1.1017           12.9946+-0.4298        
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                      9.5769+-0.4531            9.5712+-0.5621        
   fold-get-by-id-to-multi-get-by-offset              7.6045+-0.2872            7.5236+-0.3723          might be 1.0107x faster
   fold-multi-get-by-offset-to-get-by-offset   
                                                      7.8856+-0.4022            7.4326+-1.4994          might be 1.0609x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      7.1477+-1.2727     ?      7.2024+-0.8092        ?
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                      6.8101+-0.5595            6.7418+-1.0311          might be 1.0101x faster
   fold-multi-put-by-offset-to-put-by-offset   
                                                      4.2776+-1.0053     ?      4.4882+-0.3999        ? might be 1.0492x slower
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                      9.0651+-0.9331            8.5602+-0.5205          might be 1.0590x faster
   fold-put-by-id-to-multi-put-by-offset              8.6409+-0.8774            8.2080+-0.5519          might be 1.0527x faster
   fold-put-structure                                 4.2302+-0.5890            3.8970+-0.3751          might be 1.0855x faster
   for-of-iterate-array-entries                       4.1351+-0.1937     ?      4.1656+-0.2959        ?
   for-of-iterate-array-keys                          3.4547+-0.1565     ?      3.6283+-0.4799        ? might be 1.0503x slower
   for-of-iterate-array-values                        3.3615+-0.2701     ?      3.4164+-0.2363        ? might be 1.0163x slower
   fround                                            18.7360+-0.6884           18.0425+-0.2313          might be 1.0384x faster
   ftl-library-inlining-dataview                     59.7107+-1.0284     ?     60.6379+-1.6045        ? might be 1.0155x slower
   ftl-library-inlining                             113.0357+-1.0805     ?    113.3408+-3.9464        ?
   function-dot-apply                                 2.0549+-0.1545     ?      2.1304+-0.1704        ? might be 1.0368x slower
   function-test                                      2.9247+-0.1028     ?      3.0096+-0.2812        ? might be 1.0290x slower
   function-with-eval                                98.3656+-3.2450           95.4508+-4.3330          might be 1.0305x faster
   gcse-poly-get-less-obvious                        14.6366+-0.3455     ?     14.9663+-0.5736        ? might be 1.0225x slower
   gcse-poly-get                                     16.5342+-0.4340           16.4926+-0.5500        
   gcse                                               3.8509+-0.0942     ?      4.0758+-0.3135        ? might be 1.0584x slower
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      2.6150+-0.0713     ?      2.9797+-0.4114        ? might be 1.1395x slower
   get-by-id-bimorphic-check-structure-elimination   
                                                      5.7497+-0.1264     ?      5.8299+-0.1380        ? might be 1.0139x slower
   get-by-id-chain-from-try-block                     6.7911+-0.4547            6.7316+-0.5497        
   get-by-id-check-structure-elimination              4.5090+-0.2174            4.4187+-0.1527          might be 1.0204x faster
   get-by-id-proto-or-self                           14.6354+-0.8275     ?     14.9453+-0.5930        ? might be 1.0212x slower
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      2.8881+-0.0596     ?      2.9364+-0.0563        ? might be 1.0167x slower
   get-by-id-self-or-proto                           15.6650+-1.5602           14.5909+-0.3865          might be 1.0736x faster
   get-by-val-out-of-bounds                           4.1775+-0.2754            3.9650+-0.1570          might be 1.0536x faster
   get_callee_monomorphic                             3.2670+-0.5239            3.2102+-0.1951          might be 1.0177x faster
   get_callee_polymorphic                             3.3111+-0.2381     ?      3.7052+-0.6147        ? might be 1.1190x slower
   getter-no-activation                               4.8610+-0.1775            4.7294+-0.0508          might be 1.0278x faster
   getter-richards                                  119.8239+-10.7413         113.8175+-7.1069          might be 1.0528x faster
   getter                                             5.5036+-0.4508            5.4344+-0.4854          might be 1.0127x faster
   global-var-const-infer-fire-from-opt               0.8310+-0.0785     ?      0.9010+-0.1613        ? might be 1.0843x slower
   global-var-const-infer                             0.8368+-0.0923     ?      0.8814+-0.2145        ? might be 1.0533x slower
   HashMap-put-get-iterate-keys                      24.5553+-0.7970           24.2126+-0.7866          might be 1.0142x faster
   HashMap-put-get-iterate                           24.5605+-1.1128           24.5103+-0.6654        
   HashMap-string-put-get-iterate                    24.7011+-0.5622     ?     26.0255+-1.1568        ? might be 1.0536x slower
   hoist-make-rope                                    8.6155+-0.9475     ?      8.9034+-1.1139        ? might be 1.0334x slower
   hoist-poly-check-structure-effectful-loop   
                                                      4.4753+-0.5385     ?      4.4849+-0.3313        ?
   hoist-poly-check-structure                         3.1894+-0.0537     ?      3.2617+-0.0828        ? might be 1.0227x slower
   imul-double-only                                   6.7939+-0.4081     ?      7.2358+-0.8276        ? might be 1.0651x slower
   imul-int-only                                      8.9048+-0.8455            8.1757+-0.2743          might be 1.0892x faster
   imul-mixed                                         6.6031+-0.4097     ?      6.8957+-0.5789        ? might be 1.0443x slower
   in-four-cases                                     16.2204+-1.2562           16.1936+-0.9405        
   in-one-case-false                                  8.7146+-0.6285            8.7010+-0.3543        
   in-one-case-true                                   8.5498+-0.3815     ?      9.0774+-0.7581        ? might be 1.0617x slower
   in-two-cases                                       8.8425+-0.6496            8.8256+-0.3619        
   indexed-properties-in-objects                      2.9958+-0.3019            2.7664+-0.0527          might be 1.0829x faster
   infer-closure-const-then-mov-no-inline             3.2489+-0.1349            3.2427+-0.0922        
   infer-closure-const-then-mov                      17.5238+-0.4144     ?     17.8732+-0.4842        ? might be 1.0199x slower
   infer-closure-const-then-put-to-scope-no-inline   
                                                     12.1395+-0.5615           11.8581+-0.1924          might be 1.0237x faster
   infer-closure-const-then-put-to-scope             24.1640+-0.7216           23.9893+-0.4584        
   infer-closure-const-then-reenter-no-inline   
                                                     53.4968+-1.1598     ?     53.5332+-1.5640        ?
   infer-closure-const-then-reenter                  24.0221+-0.6190           23.9969+-0.2753        
   infer-constant-global-property                    31.8931+-2.0093           31.1590+-1.2222          might be 1.0236x faster
   infer-constant-property                            2.5698+-0.0772     ?      2.6031+-0.0709        ? might be 1.0130x slower
   infer-one-time-closure-ten-vars                    9.0645+-0.8550            8.7854+-0.3409          might be 1.0318x faster
   infer-one-time-closure-two-vars                    8.2507+-0.5361     ?      8.4159+-0.2874        ? might be 1.0200x slower
   infer-one-time-closure                             8.1318+-0.2054     ?      8.2144+-0.4658        ? might be 1.0102x slower
   infer-one-time-deep-closure                       13.2590+-0.7924           12.8795+-0.2290          might be 1.0295x faster
   inline-arguments-access                            4.0005+-0.2881     ?      4.1435+-0.2783        ? might be 1.0358x slower
   inline-arguments-aliased-access                    4.0032+-0.2799     ?      4.1799+-0.4470        ? might be 1.0441x slower
   inline-arguments-local-escape                      4.5880+-0.4949            4.2919+-0.2669          might be 1.0690x faster
   inline-get-scoped-var                              4.6175+-0.1888     ?      4.7461+-0.2735        ? might be 1.0279x slower
   inlined-put-by-id-transition                      10.1607+-1.0217     ?     10.4530+-0.8905        ? might be 1.0288x slower
   int-or-other-abs-then-get-by-val                   4.7682+-0.0458     ?      5.1167+-0.6116        ? might be 1.0731x slower
   int-or-other-abs-zero-then-get-by-val             16.5144+-0.8045           16.4062+-0.6289        
   int-or-other-add-then-get-by-val                   4.0459+-0.0954     ?      4.1252+-0.1824        ? might be 1.0196x slower
   int-or-other-add                                   4.8770+-0.0916     ?      4.9255+-0.0949        ?
   int-or-other-div-then-get-by-val                   3.7848+-0.1406     ?      3.9276+-0.2441        ? might be 1.0377x slower
   int-or-other-max-then-get-by-val                   4.1429+-0.1432            4.0680+-0.1470          might be 1.0184x faster
   int-or-other-min-then-get-by-val                   4.2741+-0.2279            4.1191+-0.1098          might be 1.0376x faster
   int-or-other-mod-then-get-by-val                   3.4909+-0.0859     ?      3.5928+-0.3685        ? might be 1.0292x slower
   int-or-other-mul-then-get-by-val                   3.7795+-0.2048            3.6820+-0.1162          might be 1.0265x faster
   int-or-other-neg-then-get-by-val                   4.3761+-0.1499            4.3751+-0.1939        
   int-or-other-neg-zero-then-get-by-val             16.8457+-0.5792           16.4021+-0.3421          might be 1.0270x faster
   int-or-other-sub-then-get-by-val                   4.0293+-0.1119     ?      4.4473+-0.8107        ? might be 1.1037x slower
   int-or-other-sub                                   3.4258+-0.2533     ?      3.6146+-0.5609        ? might be 1.0551x slower
   int-overflow-local                                 4.3879+-0.2968            4.0895+-0.1212          might be 1.0730x faster
   Int16Array-alloc-long-lived                       47.3970+-2.7082           46.4593+-2.3605          might be 1.0202x faster
   Int16Array-bubble-sort-with-byteLength            18.2376+-0.5570           17.4799+-0.2591          might be 1.0433x faster
   Int16Array-bubble-sort                            17.5588+-0.3331           17.4849+-0.3113        
   Int16Array-load-int-mul                            1.4047+-0.0593     ?      1.4112+-0.0864        ?
   Int16Array-to-Int32Array-set                      47.2113+-2.4555           46.2984+-1.2754          might be 1.0197x faster
   Int32Array-alloc-large                            13.4160+-1.5318           12.5693+-0.5207          might be 1.0674x faster
   Int32Array-alloc-long-lived                       56.0865+-5.7028           51.5915+-2.8652          might be 1.0871x faster
   Int32Array-alloc                                   3.2741+-0.6467            2.9731+-0.4771          might be 1.1012x faster
   Int32Array-Int8Array-view-alloc                    6.2072+-0.2253     ?      6.2992+-0.0947        ? might be 1.0148x slower
   int52-spill                                        6.1930+-0.5481            6.0498+-0.2707          might be 1.0237x faster
   Int8Array-alloc-long-lived                        42.6370+-1.5805     ?     43.6062+-2.3511        ? might be 1.0227x slower
   Int8Array-load-with-byteLength                     3.6861+-0.3571            3.5717+-0.3485          might be 1.0320x faster
   Int8Array-load                                     3.5367+-0.5029            3.3553+-0.0803          might be 1.0541x faster
   integer-divide                                    10.8437+-0.3235     ?     10.9915+-0.3429        ? might be 1.0136x slower
   integer-modulo                                     1.6750+-0.0881     ?      1.6802+-0.0710        ?
   large-int-captured                                 5.0495+-0.3427     ?      5.1034+-0.2086        ? might be 1.0107x slower
   large-int-neg                                     15.2710+-1.0538           15.1453+-0.8531        
   large-int                                         14.2634+-0.3110     ?     14.7625+-0.7109        ? might be 1.0350x slower
   logical-not                                        4.2077+-0.0679     ?      4.3075+-0.2118        ? might be 1.0237x slower
   lots-of-fields                                    10.5186+-0.8063     ?     10.8567+-0.7571        ? might be 1.0321x slower
   make-indexed-storage                               2.9126+-0.1316     ?      3.1215+-0.1897        ? might be 1.0717x slower
   make-rope-cse                                      3.9254+-0.4837            3.8067+-0.1298          might be 1.0312x faster
   marsaglia-larger-ints                             35.3390+-3.0543           33.6873+-0.6071          might be 1.0490x faster
   marsaglia-osr-entry                               21.2856+-0.6825     ?     22.5553+-1.7285        ? might be 1.0596x slower
   max-boolean                                        2.6908+-0.0776            2.6394+-0.0624          might be 1.0195x faster
   method-on-number                                  16.5206+-1.4855           16.1541+-0.6653          might be 1.0227x faster
   min-boolean                                        2.6788+-0.0364            2.6558+-0.1179        
   minus-boolean-double                               3.1434+-0.2148     ?      3.3782+-0.5752        ? might be 1.0747x slower
   minus-boolean                                      2.3353+-0.1345     ?      2.3583+-0.0796        ?
   misc-strict-eq                                    31.5971+-3.3080     ?     31.7144+-2.5371        ?
   mod-boolean-double                                11.6461+-0.7653           11.4479+-0.1887          might be 1.0173x faster
   mod-boolean                                        8.5694+-0.1282     ?      8.6840+-0.2908        ? might be 1.0134x slower
   mul-boolean-double                                 3.7699+-0.1779            3.6695+-0.1799          might be 1.0274x faster
   mul-boolean                                        2.9768+-0.3235            2.8047+-0.0691          might be 1.0614x faster
   neg-boolean                                        3.1166+-0.2209     ?      3.2095+-0.4366        ? might be 1.0298x slower
   negative-zero-divide                               0.2922+-0.0132     ?      0.3022+-0.0177        ? might be 1.0341x slower
   negative-zero-modulo                               0.3020+-0.0229     ?      0.3271+-0.0832        ? might be 1.0834x slower
   negative-zero-negate                               0.3206+-0.0953            0.2767+-0.0144          might be 1.1590x faster
   nested-function-parsing                           33.2330+-0.5923     ?     34.6573+-1.8738        ? might be 1.0429x slower
   new-array-buffer-dead                              2.8084+-0.1177            2.7625+-0.0805          might be 1.0166x faster
   new-array-buffer-push                              6.5778+-1.1399            6.0111+-0.1846          might be 1.0943x faster
   new-array-dead                                     9.3390+-0.2585     ?      9.3866+-0.2448        ?
   new-array-push                                     3.4980+-0.1000            3.4767+-0.1690        
   no-inline-constructor                            104.2046+-2.0748     ^     99.1365+-1.6528        ^ definitely 1.0511x faster
   number-test                                        2.8665+-0.2726            2.8520+-0.0884        
   object-closure-call                                4.8632+-0.1233     ?      5.0229+-0.1426        ? might be 1.0328x slower
   object-test                                        2.9804+-0.5016            2.8392+-0.0860          might be 1.0497x faster
   obvious-sink-pathology-taken                     109.1981+-4.2485          108.8920+-3.6015        
   obvious-sink-pathology                           101.8260+-4.8161     ?    102.2931+-3.2325        ?
   obviously-elidable-new-object                     29.3339+-0.8868     ?     30.0793+-2.0566        ? might be 1.0254x slower
   plus-boolean-arith                                 2.3568+-0.0305            2.3378+-0.0389        
   plus-boolean-double                                3.0899+-0.1082     ?      3.1982+-0.2433        ? might be 1.0351x slower
   plus-boolean                                       2.6943+-0.4313            2.5338+-0.0313          might be 1.0634x faster
   poly-chain-access-different-prototypes-simple   
                                                      2.7225+-0.0673            2.6884+-0.0430          might be 1.0127x faster
   poly-chain-access-different-prototypes             2.5248+-0.0720     ?      2.6799+-0.4172        ? might be 1.0614x slower
   poly-chain-access-simpler                          2.7139+-0.0495            2.6768+-0.0273          might be 1.0138x faster
   poly-chain-access                                  2.4696+-0.0374     ?      2.6811+-0.2853        ? might be 1.0856x slower
   poly-stricteq                                     49.0265+-1.9175           48.7370+-2.3467        
   polymorphic-array-call                             1.1368+-0.1067     ?      1.3953+-0.3474        ? might be 1.2274x slower
   polymorphic-get-by-id                              2.9572+-0.3490            2.9211+-0.2287          might be 1.0124x faster
   polymorphic-put-by-id                             25.1311+-1.0029     ?     26.5155+-2.2912        ? might be 1.0551x slower
   polymorphic-structure                             13.4222+-0.0724     ?     13.7797+-0.9442        ? might be 1.0266x slower
   polyvariant-monomorphic-get-by-id                  6.7347+-0.7173     ?      7.3619+-0.3826        ? might be 1.0931x slower
   proto-getter-access                                9.3525+-0.3926            9.2690+-0.2964        
   put-by-id-replace-and-transition                   8.0773+-1.1979     ?      8.7051+-0.8021        ? might be 1.0777x slower
   put-by-id-slightly-polymorphic                     2.6502+-0.2033     ?      2.6683+-0.1497        ?
   put-by-id                                          9.9354+-0.6552     ?     10.4067+-1.1075        ? might be 1.0474x slower
   put-by-val-direct                                  0.3984+-0.0393     ?      0.4167+-0.0757        ? might be 1.0460x slower
   put-by-val-large-index-blank-indexing-type   
                                                      5.4278+-0.3129            5.2504+-0.2056          might be 1.0338x faster
   put-by-val-machine-int                             2.3900+-0.1358     ?      2.4824+-0.1353        ? might be 1.0387x slower
   rare-osr-exit-on-local                            15.0614+-0.5574     ?     15.0756+-0.4121        ?
   register-pressure-from-osr                        17.2441+-0.2085     ?     17.5985+-0.7247        ? might be 1.0206x slower
   setter                                             5.6403+-0.2233     ?      5.6740+-0.2026        ?
   simple-activation-demo                            25.5746+-1.0131           25.0949+-0.8342          might be 1.0191x faster
   simple-getter-access                              12.2058+-0.4435     ?     12.6913+-0.4785        ? might be 1.0398x slower
   simple-poly-call-nested                            9.0664+-0.5427     ?      9.3857+-0.5053        ? might be 1.0352x slower
   simple-poly-call                                   1.2444+-0.1428            1.1978+-0.0678          might be 1.0389x faster
   sin-boolean                                       18.5880+-0.7338     ?     19.7125+-3.2179        ? might be 1.0605x slower
   singleton-scope                                   63.9209+-1.1289     ?     69.0076+-4.5615        ? might be 1.0796x slower
   sinkable-new-object-dag                           58.8492+-2.4413     ?     59.4607+-2.1354        ? might be 1.0104x slower
   sinkable-new-object-taken                         46.8191+-1.7058     ?     47.8025+-2.0966        ? might be 1.0210x slower
   sinkable-new-object                               32.7854+-2.6706           32.0248+-1.6447          might be 1.0237x faster
   slow-array-profile-convergence                     2.5002+-0.0934     ?      2.7700+-0.4286        ? might be 1.1079x slower
   slow-convergence                                   2.4597+-0.0738            2.3134+-0.1249          might be 1.0632x faster
   sorting-benchmark                                 19.9068+-0.2240     ?     20.5193+-1.0230        ? might be 1.0308x slower
   sparse-conditional                                 1.4491+-0.6226            1.0806+-0.0668          might be 1.3409x faster
   splice-to-remove                                  14.7258+-1.2575           14.4904+-0.7576          might be 1.0162x faster
   string-char-code-at                               15.4672+-0.9344           15.2467+-0.6643          might be 1.0145x faster
   string-concat-object                               2.2537+-0.2272     ?      2.6590+-0.9789        ? might be 1.1798x slower
   string-concat-pair-object                          2.2893+-0.3090            2.2187+-0.1886          might be 1.0318x faster
   string-concat-pair-simple                          9.7191+-0.4734            9.5822+-0.8515          might be 1.0143x faster
   string-concat-simple                              10.1916+-0.7071            9.5281+-0.4320          might be 1.0696x faster
   string-cons-repeat                                 7.9585+-1.6298            6.7456+-0.1736          might be 1.1798x faster
   string-cons-tower                                  7.4580+-1.1617            7.0392+-0.1557          might be 1.0595x faster
   string-equality                                   16.0351+-0.2221     !     16.7319+-0.4130        ! definitely 1.0435x slower
   string-get-by-val-big-char                         6.6435+-0.2092     ?      6.6755+-0.0481        ?
   string-get-by-val-out-of-bounds-insane             3.2417+-0.1668     ?      3.3169+-0.1166        ? might be 1.0232x slower
   string-get-by-val-out-of-bounds                    4.1405+-0.1076            4.0271+-0.0812          might be 1.0282x faster
   string-get-by-val                                  2.8062+-0.0442     ?      2.8787+-0.1245        ? might be 1.0258x slower
   string-hash                                        1.9552+-0.1858            1.9231+-0.2480          might be 1.0167x faster
   string-long-ident-equality                        13.0693+-0.3431     ?     13.4061+-0.3947        ? might be 1.0258x slower
   string-out-of-bounds                              10.9115+-0.7506           10.8110+-0.2618        
   string-repeat-arith                               26.7191+-0.6456     ?     27.5263+-1.9874        ? might be 1.0302x slower
   string-sub                                        53.5263+-1.6492     ?     56.2571+-2.6641        ? might be 1.0510x slower
   string-test                                        2.7769+-0.1744     ?      2.7997+-0.1983        ?
   string-var-equality                               29.4113+-1.9757           28.4253+-0.4293          might be 1.0347x faster
   structure-hoist-over-transitions                   2.4623+-0.2014            2.4500+-0.1623        
   substring-concat-weird                            36.8912+-1.3354           35.2205+-0.8419          might be 1.0474x faster
   substring-concat                                  38.8551+-2.4629     ?     39.5187+-2.0650        ? might be 1.0171x slower
   substring                                         46.2646+-1.7581           44.6912+-2.0713          might be 1.0352x faster
   switch-char-constant                               2.6680+-0.0617     ?      2.6681+-0.0656        ?
   switch-char                                        5.8882+-0.4737     ?      5.9835+-0.6203        ? might be 1.0162x slower
   switch-constant                                    9.1012+-1.1006     ?      9.1058+-1.2670        ?
   switch-string-basic-big-var                       13.0252+-0.4685     ?     13.0297+-0.3670        ?
   switch-string-basic-big                           12.8772+-0.4670           12.6339+-0.3871          might be 1.0193x faster
   switch-string-basic-var                           12.8571+-0.3752     ?     13.0862+-0.5744        ? might be 1.0178x slower
   switch-string-basic                               12.1924+-0.6081           12.0900+-0.4339        
   switch-string-big-length-tower-var                20.3615+-1.6314           19.6175+-0.9637          might be 1.0379x faster
   switch-string-length-tower-var                    12.9881+-0.3557     ?     13.4435+-0.7649        ? might be 1.0351x slower
   switch-string-length-tower                        11.7023+-0.5308     ?     11.8256+-0.4900        ? might be 1.0105x slower
   switch-string-short                               11.6604+-0.4084     ?     11.6877+-0.3913        ?
   switch                                            12.4290+-0.9163           12.2851+-0.7363          might be 1.0117x faster
   tear-off-arguments-simple                          3.2252+-0.5540            3.0012+-0.1448          might be 1.0746x faster
   tear-off-arguments                                 4.2032+-0.3144     ?      4.3772+-0.5108        ? might be 1.0414x slower
   temporal-structure                                12.3700+-0.3469     ?     12.6705+-0.6450        ? might be 1.0243x slower
   to-int32-boolean                                  13.3471+-0.2406           13.1847+-0.1359          might be 1.0123x faster
   try-catch-get-by-val-cloned-arguments             13.7401+-0.3703           13.3313+-0.3802          might be 1.0307x faster
   try-catch-get-by-val-direct-arguments              6.3034+-0.4698            6.1811+-0.6207          might be 1.0198x faster
   try-catch-get-by-val-scoped-arguments              7.8293+-1.2211            7.3152+-0.3743          might be 1.0703x faster
   undefined-property-access                        226.4645+-8.5065          223.6179+-5.5732          might be 1.0127x faster
   undefined-test                                     3.0068+-0.2926            2.8947+-0.1102          might be 1.0387x faster
   unprofiled-licm                                   14.8773+-0.5714     ?     15.2408+-1.3751        ? might be 1.0244x slower
   varargs-call                                      14.2415+-0.6159           14.1943+-0.3577        
   varargs-construct-inline                          18.7820+-0.6174     ?     19.5693+-1.0432        ? might be 1.0419x slower
   varargs-construct                                 31.5388+-1.0827     ?     32.6742+-1.4529        ? might be 1.0360x slower
   varargs-inline                                     8.8014+-0.7807     ?      8.9588+-0.4630        ? might be 1.0179x slower
   varargs-strict-mode                                9.3868+-0.2783     ?      9.4275+-0.2660        ?
   varargs                                            9.6763+-0.5520            9.2418+-0.2038          might be 1.0470x faster
   weird-inlining-const-prop                          1.9808+-0.1732     ?      2.1261+-0.2840        ? might be 1.0734x slower

   &lt;geometric&gt;                                        7.8084+-0.0303     ?      7.8343+-0.0312        ? might be 1.0033x slower

                                                          Conf#1                    Conf#2                                      
AsmBench:
   bigfib.cpp                                       463.3702+-6.4697     ?    467.4141+-4.7488        ?
   cray.c                                           418.8826+-18.2133         409.0131+-3.6996          might be 1.0241x faster
   dry.c                                            440.6656+-23.0364    ?    447.0929+-13.8954       ? might be 1.0146x slower
   FloatMM.c                                        722.2202+-13.1661         718.7134+-8.7176        
   gcc-loops.cpp                                   3671.1379+-31.7635        3664.4146+-19.2404       
   n-body.c                                         857.9115+-12.6585    ?    865.0992+-12.0665       ?
   Quicksort.c                                      416.8713+-20.4731    ?    422.2262+-23.8556       ? might be 1.0128x slower
   stepanov_container.cpp                          3841.0628+-71.4988    ?   3848.5145+-49.2268       ?
   Towers.c                                         250.0525+-3.2630          247.6178+-3.5322        

   &lt;geometric&gt;                                      752.8638+-10.2810    ?    753.4253+-5.8840        ? might be 1.0007x slower

                                                          Conf#1                    Conf#2                                      
CompressionBench:
   huffman                                          317.0789+-9.5755     ?    328.8267+-4.4989        ? might be 1.0370x slower
   arithmetic-simple                                360.2041+-8.9787          356.4766+-5.1464          might be 1.0105x faster
   arithmetic-precise                               274.7274+-7.8083     ?    277.0234+-6.3220        ?
   arithmetic-complex-precise                       272.8705+-4.3761     ?    274.2039+-3.4109        ?
   arithmetic-precise-order-0                       373.5639+-5.0691     ?    379.2192+-7.1383        ? might be 1.0151x slower
   arithmetic-precise-order-1                       313.5288+-6.4897          310.0246+-1.9832          might be 1.0113x faster
   arithmetic-precise-order-2                       350.1953+-5.7512     ?    353.9706+-6.3965        ? might be 1.0108x slower
   arithmetic-simple-order-1                        346.3776+-1.8501          344.3650+-3.2373        
   arithmetic-simple-order-2                        402.6695+-14.8484    ?    408.6294+-10.3885       ? might be 1.0148x slower
   lz-string                                        361.6016+-20.1777         358.8073+-16.1366       

   &lt;geometric&gt;                                      334.7346+-2.0089     ?    336.6172+-1.9735        ? might be 1.0056x slower

                                                          Conf#1                    Conf#2                                      
Geomean of preferred means:
   &lt;scaled-result&gt;                                   58.3083+-0.3133     ?     58.5072+-0.1621        ? might be 1.0034x slower</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086172</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-16 16:54:41 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken,
&gt; JSRegress, AsmBench, and CompressionBench on Basiles-MacBook-Pro
&gt; (MacBookPro11,3).
&gt; 
&gt; VMs tested:
&gt; &quot;Conf#1&quot; at /Volumes/Data/Baseline/OpenSource/WebKitBuild/Release/jsc
&gt; (r182899)
&gt; &quot;Conf#2&quot; at /Volumes/Data/WIP/OpenSource/WebKitBuild/Release/jsc (r182899)
&gt; 
&gt; Collected 6 samples per benchmark/VM, with 6 VM invocations per benchmark.
&gt; Emitted a call to gc() between sample measurements.
&gt; Used 1 benchmark iteration per VM invocation for warm-up. Used the
&gt; jsc-specific preciseTime() function to get microsecond-level
&gt; timing. Reporting benchmark execution times with 95% confidence intervals in
&gt; milliseconds.
&gt; 
&gt;                                                           Conf#1            
&gt; Conf#2                                      
&gt; SunSpider:
&gt;    3d-cube                                            4.5990+-0.4221        
&gt; 4.5580+-0.4000        
&gt;    3d-morph                                           5.3000+-0.2380     ?  
&gt; 5.7707+-0.5599        ? might be 1.0888x slower
&gt;    3d-raytrace                                        5.2030+-0.1255        
&gt; 5.1391+-0.1589          might be 1.0124x faster
&gt;    access-binary-trees                                2.0130+-0.1379     ?  
&gt; 2.1147+-0.2031        ? might be 1.0505x slower
&gt;    access-fannkuch                                    5.2538+-0.2003        
&gt; 5.1330+-0.0866          might be 1.0235x faster
&gt;    access-nbody                                       2.4436+-0.0668     ?  
&gt; 2.5848+-0.1917        ? might be 1.0578x slower
&gt;    access-nsieve                                      3.0695+-0.0978        
&gt; 3.0288+-0.0482          might be 1.0134x faster
&gt;    bitops-3bit-bits-in-byte                           1.4302+-0.0547     ?  
&gt; 1.4372+-0.0600        ?
&gt;    bitops-bits-in-byte                                3.1510+-0.0900     ?  
&gt; 3.1742+-0.0953        ?
&gt;    bitops-bitwise-and                                 1.9744+-0.0459     ?  
&gt; 2.0336+-0.0831        ? might be 1.0300x slower
&gt;    bitops-nsieve-bits                                 3.3628+-0.2180        
&gt; 3.3339+-0.1496        
&gt;    controlflow-recursive                              2.1097+-0.5539        
&gt; 1.9800+-0.1972          might be 1.0655x faster
&gt;    crypto-aes                                         3.6970+-0.3664        
&gt; 3.6661+-0.3406        
&gt;    crypto-md5                                         2.1835+-0.1504     ?  
&gt; 2.1943+-0.1653        ?
&gt;    crypto-sha1                                        2.3311+-0.2203     ?  
&gt; 2.4919+-0.2643        ? might be 1.0690x slower
&gt;    date-format-tofte                                  7.1383+-0.8088        
&gt; 6.8739+-0.4691          might be 1.0385x faster
&gt;    date-format-xparb                                  4.5496+-0.4182     ?  
&gt; 4.9247+-0.3355        ? might be 1.0824x slower
&gt;    math-cordic                                        2.8370+-0.1048     ?  
&gt; 2.9555+-0.2449        ? might be 1.0418x slower
&gt;    math-partial-sums                                  4.6330+-0.3963        
&gt; 4.4578+-0.0867          might be 1.0393x faster
&gt;    math-spectral-norm                                 1.9716+-0.2931        
&gt; 1.7439+-0.0396          might be 1.1306x faster
&gt;    regexp-dna                                         6.2935+-0.2762     ?  
&gt; 6.4294+-0.3350        ? might be 1.0216x slower
&gt;    string-base64                                      4.4842+-0.4132        
&gt; 4.1725+-0.0447          might be 1.0747x faster
&gt;    string-fasta                                       5.9849+-0.1679     ?  
&gt; 6.0536+-0.2466        ? might be 1.0115x slower
&gt;    string-tagcloud                                    9.1351+-0.3214        
&gt; 8.9260+-0.3835          might be 1.0234x faster
&gt;    string-unpack-code                                19.3884+-1.0826     ?  
&gt; 19.4414+-0.8618        ?
&gt;    string-validate-input                              4.6764+-0.1425     ^  
&gt; 4.4034+-0.0963        ^ definitely 1.0620x faster
&gt; 
&gt;    &lt;arithmetic&gt;                                       4.5851+-0.0275        
&gt; 4.5778+-0.0672          might be 1.0016x faster
&gt; 
&gt;                                                           Conf#1            
&gt; Conf#2                                      
&gt; LongSpider:
&gt;    3d-cube                                          803.0699+-19.4063    ?  
&gt; 809.0305+-22.9386       ?
&gt;    3d-morph                                        1564.8647+-9.0996     ?  
&gt; 1592.0244+-36.2075       ? might be 1.0174x slower
&gt;    3d-raytrace                                      683.3388+-7.9320     ?  
&gt; 689.4224+-19.0132       ?
&gt;    access-binary-trees                              875.1529+-11.8724       
&gt; 875.0818+-10.3352       
&gt;    access-fannkuch                                  272.9062+-2.2378     ?  
&gt; 276.8879+-9.3927        ? might be 1.0146x slower
&gt;    access-nbody                                     570.1220+-7.6976     ?  
&gt; 572.7385+-5.7348        ?
&gt;    access-nsieve                                    671.2916+-11.8369       
&gt; 663.4910+-11.6132         might be 1.0118x faster
&gt;    bitops-3bit-bits-in-byte                          42.5070+-1.2714     ?  
&gt; 42.7292+-0.9330        ?
&gt;    bitops-bits-in-byte                               90.3566+-5.8304     ?  
&gt; 92.7364+-10.6011       ? might be 1.0263x slower
&gt;    bitops-nsieve-bits                               702.1930+-15.8141       
&gt; 701.4176+-27.2682       
&gt;    controlflow-recursive                            477.7046+-9.0323        
&gt; 469.2044+-4.1564          might be 1.0181x faster
&gt;    crypto-aes                                       579.1833+-13.0341       
&gt; 578.3113+-9.3444        
&gt;    crypto-md5                                       549.2771+-7.2576     ?  
&gt; 549.8418+-12.2125       ?
&gt;    crypto-sha1                                      589.8635+-5.6536     ?  
&gt; 598.7798+-19.0848       ? might be 1.0151x slower
&gt;    date-format-tofte                                526.1929+-8.1329     ?  
&gt; 532.0518+-11.3256       ? might be 1.0111x slower
&gt;    date-format-xparb                                681.3737+-32.6099       
&gt; 650.3320+-6.2473          might be 1.0477x faster
&gt;    math-cordic                                      520.5151+-2.9877     ?  
&gt; 523.9935+-4.3744        ?
&gt;    math-partial-sums                                441.5575+-17.0293       
&gt; 440.5492+-8.6003        
&gt;    math-spectral-norm                               585.5274+-13.4977       
&gt; 574.2784+-3.4286          might be 1.0196x faster
&gt;    string-base64                                    334.0148+-3.9755     ?  
&gt; 336.6573+-9.9106        ?
&gt;    string-fasta                                     385.5599+-4.3994     ?  
&gt; 392.4106+-17.3611       ? might be 1.0178x slower
&gt;    string-tagcloud                                  205.2707+-4.4528     ?  
&gt; 207.0415+-3.9943        ?
&gt; 
&gt;    &lt;geometric&gt;                                      450.5265+-2.6040     ?  
&gt; 451.4909+-2.5574        ? might be 1.0021x slower
&gt; 
&gt;                                                           Conf#1            
&gt; Conf#2                                      
&gt; V8Spider:
&gt;    crypto                                            54.0365+-1.3280        
&gt; 52.2855+-3.1355          might be 1.0335x faster
&gt;    deltablue                                         83.9845+-5.3576     ?  
&gt; 88.6670+-8.8956        ? might be 1.0558x slower
&gt;    earley-boyer                                      43.1970+-2.9738        
&gt; 40.6932+-1.0516          might be 1.0615x faster
&gt;    raytrace                                          33.5772+-1.7996        
&gt; 32.2699+-1.9154          might be 1.0405x faster
&gt;    regexp                                            59.2108+-2.3339     ?  
&gt; 61.2446+-2.4999        ? might be 1.0343x slower
&gt;    richards                                          73.3956+-2.4970        
&gt; 72.6655+-2.8048          might be 1.0100x faster
&gt;    splay                                             35.4069+-1.8101     ?  
&gt; 38.1630+-2.1307        ? might be 1.0778x slower
&gt; 
&gt;    &lt;geometric&gt;                                       51.8508+-1.2358     ?  
&gt; 51.9804+-0.7505        ? might be 1.0025x slower
&gt; 
&gt;                                                           Conf#1            
&gt; Conf#2                                      
&gt; Octane:
&gt;    encrypt                                           0.20654+-0.00216       
&gt; 0.20399+-0.00331         might be 1.0125x faster
&gt;    decrypt                                           3.68884+-0.13734       
&gt; 3.63728+-0.11008         might be 1.0142x faster
&gt;    deltablue                                x2       0.16711+-0.00213    ?  
&gt; 0.16839+-0.00228       ?
&gt;    earley                                            0.48790+-0.00581    ^  
&gt; 0.45680+-0.00475       ^ definitely 1.0681x faster

Awesome!  I was hoping for this speed-up.

&gt;    boyer                                             5.94139+-0.14081    ?  
&gt; 5.96870+-0.22438       ?
&gt;    navier-stokes                            x2       5.29282+-0.07064       
&gt; 5.28472+-0.05824       
&gt;    raytrace                                 x2       1.01948+-0.01012    ?  
&gt; 1.08758+-0.07561       ? might be 1.0668x slower
&gt;    richards                                 x2       0.09749+-0.00287    ?  
&gt; 0.09881+-0.00126       ? might be 1.0136x slower
&gt;    splay                                    x2       0.36818+-0.00904    ?  
&gt; 0.36949+-0.00561       ?
&gt;    regexp                                   x2      29.75310+-0.29887    ?  
&gt; 33.22591+-9.28795       ? might be 1.1167x slower

The Conf#2 regexp number looks super noisy - maybe there was a hickup when you ran this.  You can rerun Octane by passing --octane, just to make sure.

&gt;    pdfjs                                    x2      40.68228+-0.48934       
&gt; 40.56041+-0.44654       
&gt;    mandreel                                 x2      47.57093+-0.91062    ?  
&gt; 47.79446+-0.59973       ?
&gt;    gbemu                                    x2      32.51786+-0.42407    ?  
&gt; 34.14483+-2.56798       ? might be 1.0500x slower
&gt;    closure                                           0.51076+-0.00803    ?  
&gt; 0.51717+-0.01498       ? might be 1.0125x slower
&gt;    jquery                                            6.33312+-0.10046    ?  
&gt; 6.36897+-0.07959       ?
&gt;    box2d                                    x2      10.76840+-0.20003       
&gt; 10.72413+-0.10087       
&gt;    zlib                                     x2     364.63312+-21.52860   ?  
&gt; 370.22668+-16.85547      ? might be 1.0153x slower
&gt;    typescript                               x2     677.01628+-10.09086      
&gt; 671.84550+-16.64095      
&gt; 
&gt;    &lt;geometric&gt;                                       5.96377+-0.03872    ?  
&gt; 6.04088+-0.11905       ? might be 1.0129x slower
&gt; 
&gt;                                                           Conf#1            
&gt; Conf#2                                      
&gt; Kraken:
&gt;    ai-astar                                          286.006+-6.358      ?  
&gt; 289.807+-14.165        ? might be 1.0133x slower
&gt;    audio-beat-detection                              103.218+-1.358      ?  
&gt; 103.284+-2.454         ?
&gt;    audio-dft                                         171.470+-6.639         
&gt; 168.479+-5.258           might be 1.0178x faster
&gt;    audio-fft                                          82.698+-3.331         
&gt; 81.769+-1.331           might be 1.0114x faster
&gt;    audio-oscillator                                  189.286+-4.257         
&gt; 187.925+-3.023         
&gt;    imaging-darkroom                                   99.996+-1.531      ^  
&gt; 96.974+-1.263         ^ definitely 1.0312x faster
&gt;    imaging-desaturate                                 59.568+-2.109      ?  
&gt; 60.793+-3.393         ? might be 1.0206x slower
&gt;    imaging-gaussian-blur                              91.527+-2.680         
&gt; 91.223+-2.118         
&gt;    json-parse-financial                               40.964+-2.532         
&gt; 38.903+-1.628           might be 1.0530x faster
&gt;    json-stringify-tinderbox                           53.079+-3.025      ?  
&gt; 53.270+-2.721         ?
&gt;    stanford-crypto-aes                                59.757+-1.597         
&gt; 59.332+-3.018         
&gt;    stanford-crypto-ccm                                47.465+-4.762      ?  
&gt; 52.497+-4.608         ? might be 1.1060x slower
&gt;    stanford-crypto-pbkdf2                            152.617+-0.850      ?  
&gt; 154.951+-2.227         ? might be 1.0153x slower
&gt;    stanford-crypto-sha256-iterative                   50.950+-1.876      ?  
&gt; 52.015+-4.015         ? might be 1.0209x slower
&gt; 
&gt;    &lt;arithmetic&gt;                                      106.329+-1.144      ?  
&gt; 106.516+-0.966         ? might be 1.0018x slower
&gt; 
&gt;                                                           Conf#1            
&gt; Conf#2                                      
&gt; JSRegress:
&gt;    abs-boolean                                        2.7480+-0.4438        
&gt; 2.3927+-0.0552          might be 1.1485x faster
&gt;    adapt-to-double-divide                            16.8929+-0.7533     ?  
&gt; 17.2890+-0.8639        ? might be 1.0234x slower
&gt;    aliased-arguments-getbyval                         1.2045+-0.0916        
&gt; 1.1359+-0.0327          might be 1.0604x faster
&gt;    allocate-big-object                                2.7470+-0.3407        
&gt; 2.5776+-0.2086          might be 1.0657x faster
&gt;    arguments-named-and-reflective                    11.7227+-0.6724        
&gt; 11.2056+-0.5321          might be 1.0461x faster
&gt;    arguments-out-of-bounds                           10.6211+-0.1652     ?  
&gt; 10.9550+-0.8114        ? might be 1.0314x slower
&gt;    arguments-strict-mode                             10.5998+-1.0592        
&gt; 10.3425+-0.3434          might be 1.0249x faster
&gt;    arguments                                          9.2973+-0.4011     ?  
&gt; 9.5707+-1.0173        ? might be 1.0294x slower
&gt;    arity-mismatch-inlining                            0.8181+-0.0546     ?  
&gt; 0.8242+-0.0283        ?
&gt;    array-access-polymorphic-structure                 6.2909+-0.5219        
&gt; 6.2135+-0.1936          might be 1.0125x faster
&gt;    array-nonarray-polymorhpic-access                 29.8688+-1.1692        
&gt; 28.6213+-0.7186          might be 1.0436x faster
&gt;    array-prototype-every                             84.4322+-4.7173     ?  
&gt; 84.6002+-4.4236        ?
&gt;    array-prototype-forEach                           79.9800+-2.3311     ?  
&gt; 82.1193+-2.8389        ? might be 1.0267x slower
&gt;    array-prototype-map                               89.8567+-3.8944     ?  
&gt; 91.7608+-3.6254        ? might be 1.0212x slower
&gt;    array-prototype-some                              82.8041+-1.3283     ?  
&gt; 84.0225+-1.6694        ? might be 1.0147x slower
&gt;    array-splice-contiguous                           43.7137+-2.7928     ^  
&gt; 39.2650+-1.4598        ^ definitely 1.1133x faster
&gt;    array-with-double-add                              3.3536+-0.0490     ?  
&gt; 3.4866+-0.2506        ? might be 1.0397x slower
&gt;    array-with-double-increment                        3.0107+-0.0857     ?  
&gt; 3.0753+-0.1019        ? might be 1.0215x slower
&gt;    array-with-double-mul-add                          4.2085+-0.1196     ?  
&gt; 4.3105+-0.2434        ? might be 1.0242x slower
&gt;    array-with-double-sum                              3.1305+-0.0575     ?  
&gt; 3.2215+-0.0668        ? might be 1.0291x slower
&gt;    array-with-int32-add-sub                           5.9574+-0.2820        
&gt; 5.8525+-0.1278          might be 1.0179x faster
&gt;    array-with-int32-or-double-sum                     3.2518+-0.1384     ?  
&gt; 3.3018+-0.1600        ? might be 1.0154x slower
&gt;    ArrayBuffer-DataView-alloc-large-long-lived   
&gt;                                                      29.9264+-3.4862        
&gt; 29.1947+-2.5537          might be 1.0251x faster
&gt;    ArrayBuffer-DataView-alloc-long-lived             12.4987+-0.4142     ?  
&gt; 13.1595+-0.8660        ? might be 1.0529x slower
&gt;    ArrayBuffer-Int32Array-byteOffset                  3.8010+-0.4661        
&gt; 3.6384+-0.0812          might be 1.0447x faster
&gt;    ArrayBuffer-Int8Array-alloc-large-long-lived   
&gt;                                                      29.2546+-2.1755     ?  
&gt; 29.9987+-1.6036        ? might be 1.0254x slower
&gt;    ArrayBuffer-Int8Array-alloc-long-lived-buffer   
&gt;                                                      21.5986+-1.2087     ?  
&gt; 22.6066+-1.4367        ? might be 1.0467x slower
&gt;    ArrayBuffer-Int8Array-alloc-long-lived            12.2603+-0.9141     ?  
&gt; 12.6168+-0.9715        ? might be 1.0291x slower
&gt;    ArrayBuffer-Int8Array-alloc                       10.5776+-0.7337     ?  
&gt; 10.5972+-0.8041        ?
&gt;    asmjs_bool_bug                                     6.7557+-0.2707     ?  
&gt; 6.9858+-0.3773        ? might be 1.0340x slower
&gt;    assign-custom-setter-polymorphic                   2.5253+-0.1049     !  
&gt; 2.8373+-0.2027        ! definitely 1.1235x slower
&gt;    assign-custom-setter                               3.5640+-0.2274        
&gt; 3.5006+-0.1931          might be 1.0181x faster
&gt;    basic-set                                          8.4462+-0.3159     ^  
&gt; 7.5940+-0.2815        ^ definitely 1.1122x faster
&gt;    big-int-mul                                        3.5740+-0.1947     ?  
&gt; 3.5913+-0.2012        ?
&gt;    boolean-test                                       2.8243+-0.1023        
&gt; 2.7772+-0.0515          might be 1.0169x faster
&gt;    branch-fold                                        3.4902+-0.0507     ?  
&gt; 3.5294+-0.0732        ? might be 1.0113x slower
&gt;    by-val-generic                                     7.3203+-0.2307     ?  
&gt; 7.8826+-0.9629        ? might be 1.0768x slower
&gt;    call-spread-apply                                 28.2916+-1.0146     ?  
&gt; 28.4963+-1.5479        ?
&gt;    call-spread-call                                  21.9257+-0.6111     ?  
&gt; 23.0448+-0.9835        ? might be 1.0510x slower
&gt;    captured-assignments                               0.3754+-0.0294     ?  
&gt; 0.4396+-0.1660        ? might be 1.1712x slower
&gt;    cast-int-to-double                                 4.9582+-0.2255        
&gt; 4.9142+-0.4035        
&gt;    cell-argument                                      6.5584+-0.3514        
&gt; 6.4486+-0.3642          might be 1.0170x faster
&gt;    cfg-simplify                                       2.8680+-0.0554     ?  
&gt; 2.9181+-0.0690        ? might be 1.0175x slower
&gt;    chain-getter-access                                9.2376+-0.1841     ?  
&gt; 9.3055+-0.1645        ?
&gt;    cmpeq-obj-to-obj-other                            10.3249+-1.1233     ?  
&gt; 11.4552+-0.9144        ? might be 1.1095x slower
&gt;    constant-test                                      4.5785+-0.0876     ?  
&gt; 4.6676+-0.1524        ? might be 1.0195x slower
&gt;    create-lots-of-functions                          18.9207+-0.9808        
&gt; 18.8655+-0.8375        

Weird that this didn&apos;t speed up, but I&apos;m not going to lose sleep over it.

&gt;    DataView-custom-properties                        34.2514+-1.9517        
&gt; 33.9054+-2.2844          might be 1.0102x faster
&gt;    deconstructing-parameters-overridden-by-function   
&gt;                                                       0.4200+-0.0255        
&gt; 0.4172+-0.0206        
&gt;    delay-tear-off-arguments-strictmode               13.0027+-1.0279        
&gt; 12.7358+-0.6904          might be 1.0210x faster
&gt;    deltablue-varargs                                149.0005+-3.6472     ?  
&gt; 150.4966+-3.5405        ? might be 1.0100x slower
&gt;    destructuring-arguments                           13.7839+-0.5444     ?  
&gt; 14.1349+-1.0686        ? might be 1.0255x slower
&gt;    destructuring-swap                                 4.7524+-0.0771        
&gt; 4.7107+-0.1501        
&gt;    direct-arguments-getbyval                          1.1806+-0.0862     ?  
&gt; 1.2484+-0.1862        ? might be 1.0574x slower
&gt;    div-boolean-double                                 5.4690+-0.1892        
&gt; 5.3942+-0.1219          might be 1.0139x faster
&gt;    div-boolean                                        8.3518+-0.2142     ?  
&gt; 8.4397+-0.2047        ? might be 1.0105x slower
&gt;    double-get-by-val-out-of-bounds                    4.2427+-0.2607     ?  
&gt; 4.3839+-0.2920        ? might be 1.0333x slower
&gt;    double-pollution-getbyval                          9.0117+-0.2586     ?  
&gt; 9.4095+-0.4854        ? might be 1.0442x slower
&gt;    double-pollution-putbyoffset                       4.2609+-0.3763        
&gt; 4.0723+-0.3965          might be 1.0463x faster
&gt;    double-to-int32-typed-array-no-inline              2.0020+-0.1148     ?  
&gt; 2.0867+-0.1236        ? might be 1.0423x slower
&gt;    double-to-int32-typed-array                        1.6825+-0.0906     ?  
&gt; 1.8558+-0.2524        ? might be 1.1030x slower
&gt;    double-to-uint32-typed-array-no-inline             2.0839+-0.0905        
&gt; 2.0732+-0.0478        
&gt;    double-to-uint32-typed-array                       1.7563+-0.0410     ?  
&gt; 1.8911+-0.1388        ? might be 1.0768x slower
&gt;    elidable-new-object-dag                           36.4322+-1.9877     ?  
&gt; 38.4146+-2.2599        ? might be 1.0544x slower
&gt;    elidable-new-object-roflcopter                    39.5800+-3.2988     ?  
&gt; 40.3142+-1.5844        ? might be 1.0185x slower
&gt;    elidable-new-object-then-call                     32.8670+-0.7956     ?  
&gt; 33.7900+-2.4622        ? might be 1.0281x slower
&gt;    elidable-new-object-tree                          40.0287+-2.1967     ?  
&gt; 40.1307+-2.5954        ?
&gt;    empty-string-plus-int                              5.0966+-0.4203        
&gt; 4.8264+-0.0872          might be 1.0560x faster
&gt;    emscripten-cube2hash                              27.4349+-1.6436     ?  
&gt; 28.9473+-1.3847        ? might be 1.0551x slower
&gt;    exit-length-on-plain-object                       13.2412+-0.5283     ?  
&gt; 13.6662+-0.6771        ? might be 1.0321x slower
&gt;    external-arguments-getbyval                        1.3882+-0.2539        
&gt; 1.1597+-0.0745          might be 1.1971x faster
&gt;    external-arguments-putbyval                        2.2380+-0.4385        
&gt; 2.1066+-0.1197          might be 1.0624x faster
&gt;    fixed-typed-array-storage-var-index                1.1728+-0.0480     ?  
&gt; 1.2301+-0.2000        ? might be 1.0489x slower
&gt;    fixed-typed-array-storage                          0.8059+-0.0618        
&gt; 0.7869+-0.0246          might be 1.0241x faster
&gt;    Float32Array-matrix-mult                           3.8065+-0.0985     ?  
&gt; 4.0284+-0.1859        ? might be 1.0583x slower
&gt;    Float32Array-to-Float64Array-set                  50.2299+-1.2094     ?  
&gt; 50.4268+-2.3526        ?
&gt;    Float64Array-alloc-long-lived                     66.2428+-4.1969     ?  
&gt; 69.7954+-3.8949        ? might be 1.0536x slower
&gt;    Float64Array-to-Int16Array-set                    59.1003+-2.1973     ?  
&gt; 63.7486+-4.1921        ? might be 1.0786x slower
&gt;    fold-double-to-int                                13.1240+-1.1017        
&gt; 12.9946+-0.4298        
&gt;    fold-get-by-id-to-multi-get-by-offset-rare-int   
&gt;                                                       9.5769+-0.4531        
&gt; 9.5712+-0.5621        
&gt;    fold-get-by-id-to-multi-get-by-offset              7.6045+-0.2872        
&gt; 7.5236+-0.3723          might be 1.0107x faster
&gt;    fold-multi-get-by-offset-to-get-by-offset   
&gt;                                                       7.8856+-0.4022        
&gt; 7.4326+-1.4994          might be 1.0609x faster
&gt;    fold-multi-get-by-offset-to-poly-get-by-offset   
&gt;                                                       7.1477+-1.2727     ?  
&gt; 7.2024+-0.8092        ?
&gt;    fold-multi-put-by-offset-to-poly-put-by-offset   
&gt;                                                       6.8101+-0.5595        
&gt; 6.7418+-1.0311          might be 1.0101x faster
&gt;    fold-multi-put-by-offset-to-put-by-offset   
&gt;                                                       4.2776+-1.0053     ?  
&gt; 4.4882+-0.3999        ? might be 1.0492x slower
&gt;    fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
&gt;                                                       9.0651+-0.9331        
&gt; 8.5602+-0.5205          might be 1.0590x faster
&gt;    fold-put-by-id-to-multi-put-by-offset              8.6409+-0.8774        
&gt; 8.2080+-0.5519          might be 1.0527x faster
&gt;    fold-put-structure                                 4.2302+-0.5890        
&gt; 3.8970+-0.3751          might be 1.0855x faster
&gt;    for-of-iterate-array-entries                       4.1351+-0.1937     ?  
&gt; 4.1656+-0.2959        ?
&gt;    for-of-iterate-array-keys                          3.4547+-0.1565     ?  
&gt; 3.6283+-0.4799        ? might be 1.0503x slower
&gt;    for-of-iterate-array-values                        3.3615+-0.2701     ?  
&gt; 3.4164+-0.2363        ? might be 1.0163x slower
&gt;    fround                                            18.7360+-0.6884        
&gt; 18.0425+-0.2313          might be 1.0384x faster
&gt;    ftl-library-inlining-dataview                     59.7107+-1.0284     ?  
&gt; 60.6379+-1.6045        ? might be 1.0155x slower
&gt;    ftl-library-inlining                             113.0357+-1.0805     ?  
&gt; 113.3408+-3.9464        ?
&gt;    function-dot-apply                                 2.0549+-0.1545     ?  
&gt; 2.1304+-0.1704        ? might be 1.0368x slower
&gt;    function-test                                      2.9247+-0.1028     ?  
&gt; 3.0096+-0.2812        ? might be 1.0290x slower
&gt;    function-with-eval                                98.3656+-3.2450        
&gt; 95.4508+-4.3330          might be 1.0305x faster
&gt;    gcse-poly-get-less-obvious                        14.6366+-0.3455     ?  
&gt; 14.9663+-0.5736        ? might be 1.0225x slower
&gt;    gcse-poly-get                                     16.5342+-0.4340        
&gt; 16.4926+-0.5500        
&gt;    gcse                                               3.8509+-0.0942     ?  
&gt; 4.0758+-0.3135        ? might be 1.0584x slower
&gt;    get-by-id-bimorphic-check-structure-elimination-simple   
&gt;                                                       2.6150+-0.0713     ?  
&gt; 2.9797+-0.4114        ? might be 1.1395x slower
&gt;    get-by-id-bimorphic-check-structure-elimination   
&gt;                                                       5.7497+-0.1264     ?  
&gt; 5.8299+-0.1380        ? might be 1.0139x slower
&gt;    get-by-id-chain-from-try-block                     6.7911+-0.4547        
&gt; 6.7316+-0.5497        
&gt;    get-by-id-check-structure-elimination              4.5090+-0.2174        
&gt; 4.4187+-0.1527          might be 1.0204x faster
&gt;    get-by-id-proto-or-self                           14.6354+-0.8275     ?  
&gt; 14.9453+-0.5930        ? might be 1.0212x slower
&gt;    get-by-id-quadmorphic-check-structure-elimination-simple   
&gt;                                                       2.8881+-0.0596     ?  
&gt; 2.9364+-0.0563        ? might be 1.0167x slower
&gt;    get-by-id-self-or-proto                           15.6650+-1.5602        
&gt; 14.5909+-0.3865          might be 1.0736x faster
&gt;    get-by-val-out-of-bounds                           4.1775+-0.2754        
&gt; 3.9650+-0.1570          might be 1.0536x faster
&gt;    get_callee_monomorphic                             3.2670+-0.5239        
&gt; 3.2102+-0.1951          might be 1.0177x faster
&gt;    get_callee_polymorphic                             3.3111+-0.2381     ?  
&gt; 3.7052+-0.6147        ? might be 1.1190x slower
&gt;    getter-no-activation                               4.8610+-0.1775        
&gt; 4.7294+-0.0508          might be 1.0278x faster
&gt;    getter-richards                                  119.8239+-10.7413       
&gt; 113.8175+-7.1069          might be 1.0528x faster
&gt;    getter                                             5.5036+-0.4508        
&gt; 5.4344+-0.4854          might be 1.0127x faster
&gt;    global-var-const-infer-fire-from-opt               0.8310+-0.0785     ?  
&gt; 0.9010+-0.1613        ? might be 1.0843x slower
&gt;    global-var-const-infer                             0.8368+-0.0923     ?  
&gt; 0.8814+-0.2145        ? might be 1.0533x slower
&gt;    HashMap-put-get-iterate-keys                      24.5553+-0.7970        
&gt; 24.2126+-0.7866          might be 1.0142x faster
&gt;    HashMap-put-get-iterate                           24.5605+-1.1128        
&gt; 24.5103+-0.6654        
&gt;    HashMap-string-put-get-iterate                    24.7011+-0.5622     ?  
&gt; 26.0255+-1.1568        ? might be 1.0536x slower
&gt;    hoist-make-rope                                    8.6155+-0.9475     ?  
&gt; 8.9034+-1.1139        ? might be 1.0334x slower
&gt;    hoist-poly-check-structure-effectful-loop   
&gt;                                                       4.4753+-0.5385     ?  
&gt; 4.4849+-0.3313        ?
&gt;    hoist-poly-check-structure                         3.1894+-0.0537     ?  
&gt; 3.2617+-0.0828        ? might be 1.0227x slower
&gt;    imul-double-only                                   6.7939+-0.4081     ?  
&gt; 7.2358+-0.8276        ? might be 1.0651x slower
&gt;    imul-int-only                                      8.9048+-0.8455        
&gt; 8.1757+-0.2743          might be 1.0892x faster
&gt;    imul-mixed                                         6.6031+-0.4097     ?  
&gt; 6.8957+-0.5789        ? might be 1.0443x slower
&gt;    in-four-cases                                     16.2204+-1.2562        
&gt; 16.1936+-0.9405        
&gt;    in-one-case-false                                  8.7146+-0.6285        
&gt; 8.7010+-0.3543        
&gt;    in-one-case-true                                   8.5498+-0.3815     ?  
&gt; 9.0774+-0.7581        ? might be 1.0617x slower
&gt;    in-two-cases                                       8.8425+-0.6496        
&gt; 8.8256+-0.3619        
&gt;    indexed-properties-in-objects                      2.9958+-0.3019        
&gt; 2.7664+-0.0527          might be 1.0829x faster
&gt;    infer-closure-const-then-mov-no-inline             3.2489+-0.1349        
&gt; 3.2427+-0.0922        
&gt;    infer-closure-const-then-mov                      17.5238+-0.4144     ?  
&gt; 17.8732+-0.4842        ? might be 1.0199x slower
&gt;    infer-closure-const-then-put-to-scope-no-inline   
&gt;                                                      12.1395+-0.5615        
&gt; 11.8581+-0.1924          might be 1.0237x faster
&gt;    infer-closure-const-then-put-to-scope             24.1640+-0.7216        
&gt; 23.9893+-0.4584        
&gt;    infer-closure-const-then-reenter-no-inline   
&gt;                                                      53.4968+-1.1598     ?  
&gt; 53.5332+-1.5640        ?
&gt;    infer-closure-const-then-reenter                  24.0221+-0.6190        
&gt; 23.9969+-0.2753        
&gt;    infer-constant-global-property                    31.8931+-2.0093        
&gt; 31.1590+-1.2222          might be 1.0236x faster
&gt;    infer-constant-property                            2.5698+-0.0772     ?  
&gt; 2.6031+-0.0709        ? might be 1.0130x slower
&gt;    infer-one-time-closure-ten-vars                    9.0645+-0.8550        
&gt; 8.7854+-0.3409          might be 1.0318x faster
&gt;    infer-one-time-closure-two-vars                    8.2507+-0.5361     ?  
&gt; 8.4159+-0.2874        ? might be 1.0200x slower
&gt;    infer-one-time-closure                             8.1318+-0.2054     ?  
&gt; 8.2144+-0.4658        ? might be 1.0102x slower
&gt;    infer-one-time-deep-closure                       13.2590+-0.7924        
&gt; 12.8795+-0.2290          might be 1.0295x faster
&gt;    inline-arguments-access                            4.0005+-0.2881     ?  
&gt; 4.1435+-0.2783        ? might be 1.0358x slower
&gt;    inline-arguments-aliased-access                    4.0032+-0.2799     ?  
&gt; 4.1799+-0.4470        ? might be 1.0441x slower
&gt;    inline-arguments-local-escape                      4.5880+-0.4949        
&gt; 4.2919+-0.2669          might be 1.0690x faster
&gt;    inline-get-scoped-var                              4.6175+-0.1888     ?  
&gt; 4.7461+-0.2735        ? might be 1.0279x slower
&gt;    inlined-put-by-id-transition                      10.1607+-1.0217     ?  
&gt; 10.4530+-0.8905        ? might be 1.0288x slower
&gt;    int-or-other-abs-then-get-by-val                   4.7682+-0.0458     ?  
&gt; 5.1167+-0.6116        ? might be 1.0731x slower
&gt;    int-or-other-abs-zero-then-get-by-val             16.5144+-0.8045        
&gt; 16.4062+-0.6289        
&gt;    int-or-other-add-then-get-by-val                   4.0459+-0.0954     ?  
&gt; 4.1252+-0.1824        ? might be 1.0196x slower
&gt;    int-or-other-add                                   4.8770+-0.0916     ?  
&gt; 4.9255+-0.0949        ?
&gt;    int-or-other-div-then-get-by-val                   3.7848+-0.1406     ?  
&gt; 3.9276+-0.2441        ? might be 1.0377x slower
&gt;    int-or-other-max-then-get-by-val                   4.1429+-0.1432        
&gt; 4.0680+-0.1470          might be 1.0184x faster
&gt;    int-or-other-min-then-get-by-val                   4.2741+-0.2279        
&gt; 4.1191+-0.1098          might be 1.0376x faster
&gt;    int-or-other-mod-then-get-by-val                   3.4909+-0.0859     ?  
&gt; 3.5928+-0.3685        ? might be 1.0292x slower
&gt;    int-or-other-mul-then-get-by-val                   3.7795+-0.2048        
&gt; 3.6820+-0.1162          might be 1.0265x faster
&gt;    int-or-other-neg-then-get-by-val                   4.3761+-0.1499        
&gt; 4.3751+-0.1939        
&gt;    int-or-other-neg-zero-then-get-by-val             16.8457+-0.5792        
&gt; 16.4021+-0.3421          might be 1.0270x faster
&gt;    int-or-other-sub-then-get-by-val                   4.0293+-0.1119     ?  
&gt; 4.4473+-0.8107        ? might be 1.1037x slower
&gt;    int-or-other-sub                                   3.4258+-0.2533     ?  
&gt; 3.6146+-0.5609        ? might be 1.0551x slower
&gt;    int-overflow-local                                 4.3879+-0.2968        
&gt; 4.0895+-0.1212          might be 1.0730x faster
&gt;    Int16Array-alloc-long-lived                       47.3970+-2.7082        
&gt; 46.4593+-2.3605          might be 1.0202x faster
&gt;    Int16Array-bubble-sort-with-byteLength            18.2376+-0.5570        
&gt; 17.4799+-0.2591          might be 1.0433x faster
&gt;    Int16Array-bubble-sort                            17.5588+-0.3331        
&gt; 17.4849+-0.3113        
&gt;    Int16Array-load-int-mul                            1.4047+-0.0593     ?  
&gt; 1.4112+-0.0864        ?
&gt;    Int16Array-to-Int32Array-set                      47.2113+-2.4555        
&gt; 46.2984+-1.2754          might be 1.0197x faster
&gt;    Int32Array-alloc-large                            13.4160+-1.5318        
&gt; 12.5693+-0.5207          might be 1.0674x faster
&gt;    Int32Array-alloc-long-lived                       56.0865+-5.7028        
&gt; 51.5915+-2.8652          might be 1.0871x faster
&gt;    Int32Array-alloc                                   3.2741+-0.6467        
&gt; 2.9731+-0.4771          might be 1.1012x faster
&gt;    Int32Array-Int8Array-view-alloc                    6.2072+-0.2253     ?  
&gt; 6.2992+-0.0947        ? might be 1.0148x slower
&gt;    int52-spill                                        6.1930+-0.5481        
&gt; 6.0498+-0.2707          might be 1.0237x faster
&gt;    Int8Array-alloc-long-lived                        42.6370+-1.5805     ?  
&gt; 43.6062+-2.3511        ? might be 1.0227x slower
&gt;    Int8Array-load-with-byteLength                     3.6861+-0.3571        
&gt; 3.5717+-0.3485          might be 1.0320x faster
&gt;    Int8Array-load                                     3.5367+-0.5029        
&gt; 3.3553+-0.0803          might be 1.0541x faster
&gt;    integer-divide                                    10.8437+-0.3235     ?  
&gt; 10.9915+-0.3429        ? might be 1.0136x slower
&gt;    integer-modulo                                     1.6750+-0.0881     ?  
&gt; 1.6802+-0.0710        ?
&gt;    large-int-captured                                 5.0495+-0.3427     ?  
&gt; 5.1034+-0.2086        ? might be 1.0107x slower
&gt;    large-int-neg                                     15.2710+-1.0538        
&gt; 15.1453+-0.8531        
&gt;    large-int                                         14.2634+-0.3110     ?  
&gt; 14.7625+-0.7109        ? might be 1.0350x slower
&gt;    logical-not                                        4.2077+-0.0679     ?  
&gt; 4.3075+-0.2118        ? might be 1.0237x slower
&gt;    lots-of-fields                                    10.5186+-0.8063     ?  
&gt; 10.8567+-0.7571        ? might be 1.0321x slower
&gt;    make-indexed-storage                               2.9126+-0.1316     ?  
&gt; 3.1215+-0.1897        ? might be 1.0717x slower
&gt;    make-rope-cse                                      3.9254+-0.4837        
&gt; 3.8067+-0.1298          might be 1.0312x faster
&gt;    marsaglia-larger-ints                             35.3390+-3.0543        
&gt; 33.6873+-0.6071          might be 1.0490x faster
&gt;    marsaglia-osr-entry                               21.2856+-0.6825     ?  
&gt; 22.5553+-1.7285        ? might be 1.0596x slower
&gt;    max-boolean                                        2.6908+-0.0776        
&gt; 2.6394+-0.0624          might be 1.0195x faster
&gt;    method-on-number                                  16.5206+-1.4855        
&gt; 16.1541+-0.6653          might be 1.0227x faster
&gt;    min-boolean                                        2.6788+-0.0364        
&gt; 2.6558+-0.1179        
&gt;    minus-boolean-double                               3.1434+-0.2148     ?  
&gt; 3.3782+-0.5752        ? might be 1.0747x slower
&gt;    minus-boolean                                      2.3353+-0.1345     ?  
&gt; 2.3583+-0.0796        ?
&gt;    misc-strict-eq                                    31.5971+-3.3080     ?  
&gt; 31.7144+-2.5371        ?
&gt;    mod-boolean-double                                11.6461+-0.7653        
&gt; 11.4479+-0.1887          might be 1.0173x faster
&gt;    mod-boolean                                        8.5694+-0.1282     ?  
&gt; 8.6840+-0.2908        ? might be 1.0134x slower
&gt;    mul-boolean-double                                 3.7699+-0.1779        
&gt; 3.6695+-0.1799          might be 1.0274x faster
&gt;    mul-boolean                                        2.9768+-0.3235        
&gt; 2.8047+-0.0691          might be 1.0614x faster
&gt;    neg-boolean                                        3.1166+-0.2209     ?  
&gt; 3.2095+-0.4366        ? might be 1.0298x slower
&gt;    negative-zero-divide                               0.2922+-0.0132     ?  
&gt; 0.3022+-0.0177        ? might be 1.0341x slower
&gt;    negative-zero-modulo                               0.3020+-0.0229     ?  
&gt; 0.3271+-0.0832        ? might be 1.0834x slower
&gt;    negative-zero-negate                               0.3206+-0.0953        
&gt; 0.2767+-0.0144          might be 1.1590x faster
&gt;    nested-function-parsing                           33.2330+-0.5923     ?  
&gt; 34.6573+-1.8738        ? might be 1.0429x slower
&gt;    new-array-buffer-dead                              2.8084+-0.1177        
&gt; 2.7625+-0.0805          might be 1.0166x faster
&gt;    new-array-buffer-push                              6.5778+-1.1399        
&gt; 6.0111+-0.1846          might be 1.0943x faster
&gt;    new-array-dead                                     9.3390+-0.2585     ?  
&gt; 9.3866+-0.2448        ?
&gt;    new-array-push                                     3.4980+-0.1000        
&gt; 3.4767+-0.1690        
&gt;    no-inline-constructor                            104.2046+-2.0748     ^  
&gt; 99.1365+-1.6528        ^ definitely 1.0511x faster
&gt;    number-test                                        2.8665+-0.2726        
&gt; 2.8520+-0.0884        
&gt;    object-closure-call                                4.8632+-0.1233     ?  
&gt; 5.0229+-0.1426        ? might be 1.0328x slower
&gt;    object-test                                        2.9804+-0.5016        
&gt; 2.8392+-0.0860          might be 1.0497x faster
&gt;    obvious-sink-pathology-taken                     109.1981+-4.2485        
&gt; 108.8920+-3.6015        
&gt;    obvious-sink-pathology                           101.8260+-4.8161     ?  
&gt; 102.2931+-3.2325        ?
&gt;    obviously-elidable-new-object                     29.3339+-0.8868     ?  
&gt; 30.0793+-2.0566        ? might be 1.0254x slower
&gt;    plus-boolean-arith                                 2.3568+-0.0305        
&gt; 2.3378+-0.0389        
&gt;    plus-boolean-double                                3.0899+-0.1082     ?  
&gt; 3.1982+-0.2433        ? might be 1.0351x slower
&gt;    plus-boolean                                       2.6943+-0.4313        
&gt; 2.5338+-0.0313          might be 1.0634x faster
&gt;    poly-chain-access-different-prototypes-simple   
&gt;                                                       2.7225+-0.0673        
&gt; 2.6884+-0.0430          might be 1.0127x faster
&gt;    poly-chain-access-different-prototypes             2.5248+-0.0720     ?  
&gt; 2.6799+-0.4172        ? might be 1.0614x slower
&gt;    poly-chain-access-simpler                          2.7139+-0.0495        
&gt; 2.6768+-0.0273          might be 1.0138x faster
&gt;    poly-chain-access                                  2.4696+-0.0374     ?  
&gt; 2.6811+-0.2853        ? might be 1.0856x slower
&gt;    poly-stricteq                                     49.0265+-1.9175        
&gt; 48.7370+-2.3467        
&gt;    polymorphic-array-call                             1.1368+-0.1067     ?  
&gt; 1.3953+-0.3474        ? might be 1.2274x slower
&gt;    polymorphic-get-by-id                              2.9572+-0.3490        
&gt; 2.9211+-0.2287          might be 1.0124x faster
&gt;    polymorphic-put-by-id                             25.1311+-1.0029     ?  
&gt; 26.5155+-2.2912        ? might be 1.0551x slower
&gt;    polymorphic-structure                             13.4222+-0.0724     ?  
&gt; 13.7797+-0.9442        ? might be 1.0266x slower
&gt;    polyvariant-monomorphic-get-by-id                  6.7347+-0.7173     ?  
&gt; 7.3619+-0.3826        ? might be 1.0931x slower
&gt;    proto-getter-access                                9.3525+-0.3926        
&gt; 9.2690+-0.2964        
&gt;    put-by-id-replace-and-transition                   8.0773+-1.1979     ?  
&gt; 8.7051+-0.8021        ? might be 1.0777x slower
&gt;    put-by-id-slightly-polymorphic                     2.6502+-0.2033     ?  
&gt; 2.6683+-0.1497        ?
&gt;    put-by-id                                          9.9354+-0.6552     ?  
&gt; 10.4067+-1.1075        ? might be 1.0474x slower
&gt;    put-by-val-direct                                  0.3984+-0.0393     ?  
&gt; 0.4167+-0.0757        ? might be 1.0460x slower
&gt;    put-by-val-large-index-blank-indexing-type   
&gt;                                                       5.4278+-0.3129        
&gt; 5.2504+-0.2056          might be 1.0338x faster
&gt;    put-by-val-machine-int                             2.3900+-0.1358     ?  
&gt; 2.4824+-0.1353        ? might be 1.0387x slower
&gt;    rare-osr-exit-on-local                            15.0614+-0.5574     ?  
&gt; 15.0756+-0.4121        ?
&gt;    register-pressure-from-osr                        17.2441+-0.2085     ?  
&gt; 17.5985+-0.7247        ? might be 1.0206x slower
&gt;    setter                                             5.6403+-0.2233     ?  
&gt; 5.6740+-0.2026        ?
&gt;    simple-activation-demo                            25.5746+-1.0131        
&gt; 25.0949+-0.8342          might be 1.0191x faster
&gt;    simple-getter-access                              12.2058+-0.4435     ?  
&gt; 12.6913+-0.4785        ? might be 1.0398x slower
&gt;    simple-poly-call-nested                            9.0664+-0.5427     ?  
&gt; 9.3857+-0.5053        ? might be 1.0352x slower
&gt;    simple-poly-call                                   1.2444+-0.1428        
&gt; 1.1978+-0.0678          might be 1.0389x faster
&gt;    sin-boolean                                       18.5880+-0.7338     ?  
&gt; 19.7125+-3.2179        ? might be 1.0605x slower
&gt;    singleton-scope                                   63.9209+-1.1289     ?  
&gt; 69.0076+-4.5615        ? might be 1.0796x slower
&gt;    sinkable-new-object-dag                           58.8492+-2.4413     ?  
&gt; 59.4607+-2.1354        ? might be 1.0104x slower
&gt;    sinkable-new-object-taken                         46.8191+-1.7058     ?  
&gt; 47.8025+-2.0966        ? might be 1.0210x slower
&gt;    sinkable-new-object                               32.7854+-2.6706        
&gt; 32.0248+-1.6447          might be 1.0237x faster
&gt;    slow-array-profile-convergence                     2.5002+-0.0934     ?  
&gt; 2.7700+-0.4286        ? might be 1.1079x slower
&gt;    slow-convergence                                   2.4597+-0.0738        
&gt; 2.3134+-0.1249          might be 1.0632x faster
&gt;    sorting-benchmark                                 19.9068+-0.2240     ?  
&gt; 20.5193+-1.0230        ? might be 1.0308x slower
&gt;    sparse-conditional                                 1.4491+-0.6226        
&gt; 1.0806+-0.0668          might be 1.3409x faster
&gt;    splice-to-remove                                  14.7258+-1.2575        
&gt; 14.4904+-0.7576          might be 1.0162x faster
&gt;    string-char-code-at                               15.4672+-0.9344        
&gt; 15.2467+-0.6643          might be 1.0145x faster
&gt;    string-concat-object                               2.2537+-0.2272     ?  
&gt; 2.6590+-0.9789        ? might be 1.1798x slower
&gt;    string-concat-pair-object                          2.2893+-0.3090        
&gt; 2.2187+-0.1886          might be 1.0318x faster
&gt;    string-concat-pair-simple                          9.7191+-0.4734        
&gt; 9.5822+-0.8515          might be 1.0143x faster
&gt;    string-concat-simple                              10.1916+-0.7071        
&gt; 9.5281+-0.4320          might be 1.0696x faster
&gt;    string-cons-repeat                                 7.9585+-1.6298        
&gt; 6.7456+-0.1736          might be 1.1798x faster
&gt;    string-cons-tower                                  7.4580+-1.1617        
&gt; 7.0392+-0.1557          might be 1.0595x faster
&gt;    string-equality                                   16.0351+-0.2221     !  
&gt; 16.7319+-0.4130        ! definitely 1.0435x slower
&gt;    string-get-by-val-big-char                         6.6435+-0.2092     ?  
&gt; 6.6755+-0.0481        ?
&gt;    string-get-by-val-out-of-bounds-insane             3.2417+-0.1668     ?  
&gt; 3.3169+-0.1166        ? might be 1.0232x slower
&gt;    string-get-by-val-out-of-bounds                    4.1405+-0.1076        
&gt; 4.0271+-0.0812          might be 1.0282x faster
&gt;    string-get-by-val                                  2.8062+-0.0442     ?  
&gt; 2.8787+-0.1245        ? might be 1.0258x slower
&gt;    string-hash                                        1.9552+-0.1858        
&gt; 1.9231+-0.2480          might be 1.0167x faster
&gt;    string-long-ident-equality                        13.0693+-0.3431     ?  
&gt; 13.4061+-0.3947        ? might be 1.0258x slower
&gt;    string-out-of-bounds                              10.9115+-0.7506        
&gt; 10.8110+-0.2618        
&gt;    string-repeat-arith                               26.7191+-0.6456     ?  
&gt; 27.5263+-1.9874        ? might be 1.0302x slower
&gt;    string-sub                                        53.5263+-1.6492     ?  
&gt; 56.2571+-2.6641        ? might be 1.0510x slower
&gt;    string-test                                        2.7769+-0.1744     ?  
&gt; 2.7997+-0.1983        ?
&gt;    string-var-equality                               29.4113+-1.9757        
&gt; 28.4253+-0.4293          might be 1.0347x faster
&gt;    structure-hoist-over-transitions                   2.4623+-0.2014        
&gt; 2.4500+-0.1623        
&gt;    substring-concat-weird                            36.8912+-1.3354        
&gt; 35.2205+-0.8419          might be 1.0474x faster
&gt;    substring-concat                                  38.8551+-2.4629     ?  
&gt; 39.5187+-2.0650        ? might be 1.0171x slower
&gt;    substring                                         46.2646+-1.7581        
&gt; 44.6912+-2.0713          might be 1.0352x faster
&gt;    switch-char-constant                               2.6680+-0.0617     ?  
&gt; 2.6681+-0.0656        ?
&gt;    switch-char                                        5.8882+-0.4737     ?  
&gt; 5.9835+-0.6203        ? might be 1.0162x slower
&gt;    switch-constant                                    9.1012+-1.1006     ?  
&gt; 9.1058+-1.2670        ?
&gt;    switch-string-basic-big-var                       13.0252+-0.4685     ?  
&gt; 13.0297+-0.3670        ?
&gt;    switch-string-basic-big                           12.8772+-0.4670        
&gt; 12.6339+-0.3871          might be 1.0193x faster
&gt;    switch-string-basic-var                           12.8571+-0.3752     ?  
&gt; 13.0862+-0.5744        ? might be 1.0178x slower
&gt;    switch-string-basic                               12.1924+-0.6081        
&gt; 12.0900+-0.4339        
&gt;    switch-string-big-length-tower-var                20.3615+-1.6314        
&gt; 19.6175+-0.9637          might be 1.0379x faster
&gt;    switch-string-length-tower-var                    12.9881+-0.3557     ?  
&gt; 13.4435+-0.7649        ? might be 1.0351x slower
&gt;    switch-string-length-tower                        11.7023+-0.5308     ?  
&gt; 11.8256+-0.4900        ? might be 1.0105x slower
&gt;    switch-string-short                               11.6604+-0.4084     ?  
&gt; 11.6877+-0.3913        ?
&gt;    switch                                            12.4290+-0.9163        
&gt; 12.2851+-0.7363          might be 1.0117x faster
&gt;    tear-off-arguments-simple                          3.2252+-0.5540        
&gt; 3.0012+-0.1448          might be 1.0746x faster
&gt;    tear-off-arguments                                 4.2032+-0.3144     ?  
&gt; 4.3772+-0.5108        ? might be 1.0414x slower
&gt;    temporal-structure                                12.3700+-0.3469     ?  
&gt; 12.6705+-0.6450        ? might be 1.0243x slower
&gt;    to-int32-boolean                                  13.3471+-0.2406        
&gt; 13.1847+-0.1359          might be 1.0123x faster
&gt;    try-catch-get-by-val-cloned-arguments             13.7401+-0.3703        
&gt; 13.3313+-0.3802          might be 1.0307x faster
&gt;    try-catch-get-by-val-direct-arguments              6.3034+-0.4698        
&gt; 6.1811+-0.6207          might be 1.0198x faster
&gt;    try-catch-get-by-val-scoped-arguments              7.8293+-1.2211        
&gt; 7.3152+-0.3743          might be 1.0703x faster
&gt;    undefined-property-access                        226.4645+-8.5065        
&gt; 223.6179+-5.5732          might be 1.0127x faster
&gt;    undefined-test                                     3.0068+-0.2926        
&gt; 2.8947+-0.1102          might be 1.0387x faster
&gt;    unprofiled-licm                                   14.8773+-0.5714     ?  
&gt; 15.2408+-1.3751        ? might be 1.0244x slower
&gt;    varargs-call                                      14.2415+-0.6159        
&gt; 14.1943+-0.3577        
&gt;    varargs-construct-inline                          18.7820+-0.6174     ?  
&gt; 19.5693+-1.0432        ? might be 1.0419x slower
&gt;    varargs-construct                                 31.5388+-1.0827     ?  
&gt; 32.6742+-1.4529        ? might be 1.0360x slower
&gt;    varargs-inline                                     8.8014+-0.7807     ?  
&gt; 8.9588+-0.4630        ? might be 1.0179x slower
&gt;    varargs-strict-mode                                9.3868+-0.2783     ?  
&gt; 9.4275+-0.2660        ?
&gt;    varargs                                            9.6763+-0.5520        
&gt; 9.2418+-0.2038          might be 1.0470x faster
&gt;    weird-inlining-const-prop                          1.9808+-0.1732     ?  
&gt; 2.1261+-0.2840        ? might be 1.0734x slower
&gt; 
&gt;    &lt;geometric&gt;                                        7.8084+-0.0303     ?  
&gt; 7.8343+-0.0312        ? might be 1.0033x slower
&gt; 
&gt;                                                           Conf#1            
&gt; Conf#2                                      
&gt; AsmBench:
&gt;    bigfib.cpp                                       463.3702+-6.4697     ?  
&gt; 467.4141+-4.7488        ?
&gt;    cray.c                                           418.8826+-18.2133       
&gt; 409.0131+-3.6996          might be 1.0241x faster
&gt;    dry.c                                            440.6656+-23.0364    ?  
&gt; 447.0929+-13.8954       ? might be 1.0146x slower
&gt;    FloatMM.c                                        722.2202+-13.1661       
&gt; 718.7134+-8.7176        
&gt;    gcc-loops.cpp                                   3671.1379+-31.7635       
&gt; 3664.4146+-19.2404       
&gt;    n-body.c                                         857.9115+-12.6585    ?  
&gt; 865.0992+-12.0665       ?
&gt;    Quicksort.c                                      416.8713+-20.4731    ?  
&gt; 422.2262+-23.8556       ? might be 1.0128x slower
&gt;    stepanov_container.cpp                          3841.0628+-71.4988    ?  
&gt; 3848.5145+-49.2268       ?
&gt;    Towers.c                                         250.0525+-3.2630        
&gt; 247.6178+-3.5322        
&gt; 
&gt;    &lt;geometric&gt;                                      752.8638+-10.2810    ?  
&gt; 753.4253+-5.8840        ? might be 1.0007x slower
&gt; 
&gt;                                                           Conf#1            
&gt; Conf#2                                      
&gt; CompressionBench:
&gt;    huffman                                          317.0789+-9.5755     ?  
&gt; 328.8267+-4.4989        ? might be 1.0370x slower
&gt;    arithmetic-simple                                360.2041+-8.9787        
&gt; 356.4766+-5.1464          might be 1.0105x faster
&gt;    arithmetic-precise                               274.7274+-7.8083     ?  
&gt; 277.0234+-6.3220        ?
&gt;    arithmetic-complex-precise                       272.8705+-4.3761     ?  
&gt; 274.2039+-3.4109        ?
&gt;    arithmetic-precise-order-0                       373.5639+-5.0691     ?  
&gt; 379.2192+-7.1383        ? might be 1.0151x slower
&gt;    arithmetic-precise-order-1                       313.5288+-6.4897        
&gt; 310.0246+-1.9832          might be 1.0113x faster
&gt;    arithmetic-precise-order-2                       350.1953+-5.7512     ?  
&gt; 353.9706+-6.3965        ? might be 1.0108x slower
&gt;    arithmetic-simple-order-1                        346.3776+-1.8501        
&gt; 344.3650+-3.2373        
&gt;    arithmetic-simple-order-2                        402.6695+-14.8484    ?  
&gt; 408.6294+-10.3885       ? might be 1.0148x slower
&gt;    lz-string                                        361.6016+-20.1777       
&gt; 358.8073+-16.1366       
&gt; 
&gt;    &lt;geometric&gt;                                      334.7346+-2.0089     ?  
&gt; 336.6172+-1.9735        ? might be 1.0056x slower
&gt; 
&gt;                                                           Conf#1            
&gt; Conf#2                                      
&gt; Geomean of preferred means:
&gt;    &lt;scaled-result&gt;                                   58.3083+-0.3133     ?  
&gt; 58.5072+-0.1621        ? might be 1.0034x slower</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086173</commentid>
    <comment_count>7</comment_count>
      <attachid>250980</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-04-16 16:54:48 -0700</bug_when>
    <thetext>Created attachment 250980
Cleaned up patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086174</commentid>
    <comment_count>8</comment_count>
      <attachid>250980</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-16 16:55:44 -0700</bug_when>
    <thetext>Comment on attachment 250980
Cleaned up patch

R=me.  This is great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086181</commentid>
    <comment_count>9</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-04-16 17:16:11 -0700</bug_when>
    <thetext>Re-ran the Octane benchmark to offset the hiccup on the regexp bench.


Benchmark report for Octane on Basiles-MacBook-Pro (MacBookPro11,3).

VMs tested:
&quot;Conf#1&quot; at /Volumes/Data/Baseline/OpenSource/WebKitBuild/Release/jsc (r182899)
&quot;Conf#2&quot; at /Volumes/Data/WIP/OpenSource/WebKitBuild/Release/jsc (r182899)

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.

                             Conf#1                    Conf#2                                      

encrypt                 0.20299+-0.00210    ?     0.20498+-0.00314       ?
decrypt                 3.71181+-0.10318          3.70406+-0.11871       
deltablue      x2       0.17178+-0.00579          0.16550+-0.00078         might be 1.0380x faster
earley                  0.48429+-0.00351    ^     0.45653+-0.00461       ^ definitely 1.0608x faster
boyer                   5.81100+-0.12890    ?     6.01216+-0.19705       ? might be 1.0346x slower
navier-stokes  x2       5.35065+-0.16091          5.24746+-0.07685         might be 1.0197x faster
raytrace       x2       1.09675+-0.04058          1.08612+-0.03352       
richards       x2       0.09570+-0.00121    ?     0.09748+-0.00175       ? might be 1.0186x slower
splay          x2       0.36184+-0.00409    ?     0.36956+-0.00652       ? might be 1.0213x slower
regexp         x2      29.95385+-0.72763         29.12325+-0.68707         might be 1.0285x faster
pdfjs          x2      40.03323+-0.43196         40.02588+-0.17253       
mandreel       x2      48.16510+-0.74271         47.97694+-0.91950       
gbemu          x2      32.91826+-0.65299         32.81293+-0.41711       
closure                 0.51014+-0.00732          0.50741+-0.00279       
jquery                  6.26699+-0.04984    ?     6.33675+-0.05284       ? might be 1.0111x slower
box2d          x2      10.68723+-0.20455         10.61400+-0.09674       
zlib           x2     365.98031+-14.27976   ?   366.00936+-18.78087      ?
typescript     x2     677.13818+-18.99019   ?   678.85726+-8.10687       ?

&lt;geometric&gt;             5.98815+-0.05931          5.95943+-0.04587         might be 1.0048x faster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086199</commentid>
    <comment_count>10</comment_count>
      <attachid>250980</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-16 17:46:02 -0700</bug_when>
    <thetext>Comment on attachment 250980
Cleaned up patch

Clearing flags on attachment: 250980

Committed r182929: &lt;http://trac.webkit.org/changeset/182929&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086200</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-16 17:46:06 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1086367</commentid>
    <comment_count>12</comment_count>
      <attachid>250980</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-04-17 11:13:04 -0700</bug_when>
    <thetext>Comment on attachment 250980
Cleaned up patch

👍</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250959</attachid>
            <date>2015-04-16 15:46:26 -0700</date>
            <delta_ts>2015-04-16 16:11:39 -0700</delta_ts>
            <desc>Tentative patch</desc>
            <filename>inline_jsfunction_allocation_ftl.patch</filename>
            <type>text/plain</type>
            <size>3553</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9y
eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RI
ZWFwUmVwb3NpdG9yeS5oCShyZXZpc2lvbiAxODI4OTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaAkod29ya2luZyBjb3B5KQpAQCAtNjAs
NiArNjAsNyBAQAogICAgIG1hY3JvKEpTQ2VsbF9nY0RhdGEsIEpTQ2VsbDo6Z2NEYXRhT2Zmc2V0
KCkpIFwKICAgICBtYWNybyhKU0Z1bmN0aW9uX2V4ZWN1dGFibGUsIEpTRnVuY3Rpb246Om9mZnNl
dE9mRXhlY3V0YWJsZSgpKSBcCiAgICAgbWFjcm8oSlNGdW5jdGlvbl9zY29wZSwgSlNGdW5jdGlv
bjo6b2Zmc2V0T2ZTY29wZUNoYWluKCkpIFwKKyAgICBtYWNybyhKU0Z1bmN0aW9uX3JhcmVEYXRh
LCBKU0Z1bmN0aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpIFwKICAgICBtYWNybyhKU09iamVjdF9i
dXR0ZXJmbHksIEpTT2JqZWN0OjpidXR0ZXJmbHlPZmZzZXQoKSkgXAogICAgIG1hY3JvKEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvcl9jYWNoZWRJbmxpbmVDYXBhY2l0eSwgSlNQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yOjpjYWNoZWRJbmxpbmVDYXBhY2l0eU9mZnNldCgpKSBcCiAgICAgbWFjcm8oSlNQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yX2NhY2hlZFByb3BlcnR5TmFtZXNWZWN0b3IsIEpTUHJvcGVy
dHlOYW1lRW51bWVyYXRvcjo6Y2FjaGVkUHJvcGVydHlOYW1lc1ZlY3Rvck9mZnNldCgpKSBcCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNw
cAkocmV2aXNpb24gMTgyODk5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvTExWTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5MjAsMTcgKzI5MjAsNDMgQEAKICAg
ICAKICAgICB2b2lkIGNvbXBpbGVOZXdGdW5jdGlvbigpCiAgICAgeworICAgICAgICBMVmFsdWUg
c2NvcGUgPSBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICBGdW5jdGlvbkV4ZWN1
dGFibGUqIGV4ZWN1dGFibGUgPSBtX25vZGUtPmNhc3RPcGVyYW5kPEZ1bmN0aW9uRXhlY3V0YWJs
ZSo+KCk7Ci0gICAgICAgIEpfSklUT3BlcmF0aW9uX0VKc2NDIGZ1bmN0aW9uOwotICAgICAgICBp
ZiAoZXhlY3V0YWJsZS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aXNTdGlsbFZhbGlkKCkpCi0gICAg
ICAgICAgICBmdW5jdGlvbiA9IG9wZXJhdGlvbk5ld0Z1bmN0aW9uOwotICAgICAgICBlbHNlCi0g
ICAgICAgICAgICBmdW5jdGlvbiA9IG9wZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVk
UmVhbGxvY2F0aW9uV2F0Y2hwb2ludDsKKyAgICAgICAgaWYgKGV4ZWN1dGFibGUtPnNpbmdsZXRv
bkZ1bmN0aW9uKCktPmlzU3RpbGxWYWxpZCgpKSB7CisgICAgICAgICAgICBMVmFsdWUgY2FsbFJl
c3VsdCA9IHZtQ2FsbCgKKyAgICAgICAgICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9u
TmV3RnVuY3Rpb24pLCBtX2NhbGxGcmFtZSwgc2NvcGUsIHdlYWtQb2ludGVyKGV4ZWN1dGFibGUp
KTsKKyAgICAgICAgICAgIHNldEpTVmFsdWUoY2FsbFJlc3VsdCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIExWYWx1ZSByZXN1bHQgPSB2bUNhbGwo
Ci0gICAgICAgICAgICBtX291dC5vcGVyYXRpb24oZnVuY3Rpb24pLCBtX2NhbGxGcmFtZSwgbG93
Q2VsbChtX25vZGUtPmNoaWxkMSgpKSwKLSAgICAgICAgICAgIHdlYWtQb2ludGVyKGV4ZWN1dGFi
bGUpKTsKLSAgICAgICAgc2V0SlNWYWx1ZShyZXN1bHQpOworICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG1fbm9kZS0+b3JpZ2luLnNlbWFudGlj
KS0+ZnVuY3Rpb25TdHJ1Y3R1cmUoKTsKKyAgICAgICAgCisgICAgICAgIExCYXNpY0Jsb2NrIHNs
b3dQYXRoID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJOZXdGdW5jdGlvbiBzbG93IHBhdGgiKSk7
CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9vdXQs
ICgiTmV3RnVuY3Rpb24gY29udGludWF0aW9uIikpOworICAgICAgICAKKyAgICAgICAgTEJhc2lj
QmxvY2sgbGFzdE5leHQgPSBtX291dC5pbnNlcnROZXdCbG9ja3NCZWZvcmUoc2xvd1BhdGgpOwor
ICAgICAgICAKKyAgICAgICAgTFZhbHVlIGZhc3RPYmplY3QgPSBhbGxvY2F0ZU9iamVjdDxKU0Z1
bmN0aW9uPigKKyAgICAgICAgICAgIHNpemVvZihKU0Z1bmN0aW9uKSwgc3RydWN0dXJlLCBtX291
dC5pbnRQdHJaZXJvLCBzbG93UGF0aCk7CisgICAgICAgIAorICAgICAgICAvLyBXZSBkb24ndCBu
ZWVkIG1lbW9yeSBiYXJyaWVycyBzaW5jZSB3ZSBqdXN0IGZhc3QtY3JlYXRlZCB0aGUgYWN0aXZh
dGlvbiwgc28gdGhlCisgICAgICAgIC8vIGFjdGl2YXRpb24gbXVzdCBiZSB5b3VuZy4KKyAgICAg
ICAgbV9vdXQuc3RvcmVQdHIoc2NvcGUsIGZhc3RPYmplY3QsIG1faGVhcHMuSlNGdW5jdGlvbl9z
Y29wZSk7CisgICAgICAgIG1fb3V0LnN0b3JlUHRyKHdlYWtQb2ludGVyKGV4ZWN1dGFibGUpLCBm
YXN0T2JqZWN0LCBtX2hlYXBzLkpTRnVuY3Rpb25fZXhlY3V0YWJsZSk7CisgICAgICAgIG1fb3V0
LnN0b3JlUHRyKG1fb3V0LmludFB0clplcm8sIGZhc3RPYmplY3QsIG1faGVhcHMuSlNGdW5jdGlv
bl9yYXJlRGF0YSk7CisgICAgICAgIAorICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0UmVzdWx0
ID0gbV9vdXQuYW5jaG9yKGZhc3RPYmplY3QpOworICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVh
dGlvbik7CisgICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhzbG93UGF0aCwgY29udGlu
dWF0aW9uKTsKKyAgICAgICAgTFZhbHVlIGNhbGxSZXN1bHQgPSB2bUNhbGwoCisgICAgICAgICAg
ICBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFs
bG9jYXRpb25XYXRjaHBvaW50KSwKKyAgICAgICAgICAgIG1fY2FsbEZyYW1lLCBzY29wZSwgd2Vh
a1BvaW50ZXIoZXhlY3V0YWJsZSkpOworICAgICAgICBWYWx1ZUZyb21CbG9jayBzbG93UmVzdWx0
ID0gbV9vdXQuYW5jaG9yKGNhbGxSZXN1bHQpOworICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVh
dGlvbik7CisgICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRpb24sIGxh
c3ROZXh0KTsKKyAgICAgICAgc2V0SlNWYWx1ZShtX291dC5waGkobV9vdXQuaW50UHRyLCBmYXN0
UmVzdWx0LCBzbG93UmVzdWx0KSk7CiAgICAgfQogICAgIAogICAgIHZvaWQgY29tcGlsZUNyZWF0
ZURpcmVjdEFyZ3VtZW50cygpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250969</attachid>
            <date>2015-04-16 16:11:12 -0700</date>
            <delta_ts>2015-04-16 16:54:48 -0700</delta_ts>
            <desc>Define JSFunction::allocationSize() instead of using sizeof(JSFunction)</desc>
            <filename>inline_jsfunction_allocation_ftl2.patch</filename>
            <type>text/plain</type>
            <size>4425</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9y
eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQWJzdHJhY3RI
ZWFwUmVwb3NpdG9yeS5oCShyZXZpc2lvbiAxODI4OTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaAkod29ya2luZyBjb3B5KQpAQCAtNjAs
NiArNjAsNyBAQAogICAgIG1hY3JvKEpTQ2VsbF9nY0RhdGEsIEpTQ2VsbDo6Z2NEYXRhT2Zmc2V0
KCkpIFwKICAgICBtYWNybyhKU0Z1bmN0aW9uX2V4ZWN1dGFibGUsIEpTRnVuY3Rpb246Om9mZnNl
dE9mRXhlY3V0YWJsZSgpKSBcCiAgICAgbWFjcm8oSlNGdW5jdGlvbl9zY29wZSwgSlNGdW5jdGlv
bjo6b2Zmc2V0T2ZTY29wZUNoYWluKCkpIFwKKyAgICBtYWNybyhKU0Z1bmN0aW9uX3JhcmVEYXRh
LCBKU0Z1bmN0aW9uOjpvZmZzZXRPZlJhcmVEYXRhKCkpIFwKICAgICBtYWNybyhKU09iamVjdF9i
dXR0ZXJmbHksIEpTT2JqZWN0OjpidXR0ZXJmbHlPZmZzZXQoKSkgXAogICAgIG1hY3JvKEpTUHJv
cGVydHlOYW1lRW51bWVyYXRvcl9jYWNoZWRJbmxpbmVDYXBhY2l0eSwgSlNQcm9wZXJ0eU5hbWVF
bnVtZXJhdG9yOjpjYWNoZWRJbmxpbmVDYXBhY2l0eU9mZnNldCgpKSBcCiAgICAgbWFjcm8oSlNQ
cm9wZXJ0eU5hbWVFbnVtZXJhdG9yX2NhY2hlZFByb3BlcnR5TmFtZXNWZWN0b3IsIEpTUHJvcGVy
dHlOYW1lRW51bWVyYXRvcjo6Y2FjaGVkUHJvcGVydHlOYW1lc1ZlY3Rvck9mZnNldCgpKSBcCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNw
cAkocmV2aXNpb24gMTgyODk5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dl
ckRGR1RvTExWTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5MjAsMTcgKzI5MjAsNDMgQEAKICAg
ICAKICAgICB2b2lkIGNvbXBpbGVOZXdGdW5jdGlvbigpCiAgICAgeworICAgICAgICBMVmFsdWUg
c2NvcGUgPSBsb3dDZWxsKG1fbm9kZS0+Y2hpbGQxKCkpOwogICAgICAgICBGdW5jdGlvbkV4ZWN1
dGFibGUqIGV4ZWN1dGFibGUgPSBtX25vZGUtPmNhc3RPcGVyYW5kPEZ1bmN0aW9uRXhlY3V0YWJs
ZSo+KCk7Ci0gICAgICAgIEpfSklUT3BlcmF0aW9uX0VKc2NDIGZ1bmN0aW9uOwotICAgICAgICBp
ZiAoZXhlY3V0YWJsZS0+c2luZ2xldG9uRnVuY3Rpb24oKS0+aXNTdGlsbFZhbGlkKCkpCi0gICAg
ICAgICAgICBmdW5jdGlvbiA9IG9wZXJhdGlvbk5ld0Z1bmN0aW9uOwotICAgICAgICBlbHNlCi0g
ICAgICAgICAgICBmdW5jdGlvbiA9IG9wZXJhdGlvbk5ld0Z1bmN0aW9uV2l0aEludmFsaWRhdGVk
UmVhbGxvY2F0aW9uV2F0Y2hwb2ludDsKKyAgICAgICAgaWYgKGV4ZWN1dGFibGUtPnNpbmdsZXRv
bkZ1bmN0aW9uKCktPmlzU3RpbGxWYWxpZCgpKSB7CisgICAgICAgICAgICBMVmFsdWUgY2FsbFJl
c3VsdCA9IHZtQ2FsbCgKKyAgICAgICAgICAgICAgICBtX291dC5vcGVyYXRpb24ob3BlcmF0aW9u
TmV3RnVuY3Rpb24pLCBtX2NhbGxGcmFtZSwgc2NvcGUsIHdlYWtQb2ludGVyKGV4ZWN1dGFibGUp
KTsKKyAgICAgICAgICAgIHNldEpTVmFsdWUoY2FsbFJlc3VsdCk7CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIExWYWx1ZSByZXN1bHQgPSB2bUNhbGwo
Ci0gICAgICAgICAgICBtX291dC5vcGVyYXRpb24oZnVuY3Rpb24pLCBtX2NhbGxGcmFtZSwgbG93
Q2VsbChtX25vZGUtPmNoaWxkMSgpKSwKLSAgICAgICAgICAgIHdlYWtQb2ludGVyKGV4ZWN1dGFi
bGUpKTsKLSAgICAgICAgc2V0SlNWYWx1ZShyZXN1bHQpOworICAgICAgICBTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSA9IG1fZ3JhcGguZ2xvYmFsT2JqZWN0Rm9yKG1fbm9kZS0+b3JpZ2luLnNlbWFudGlj
KS0+ZnVuY3Rpb25TdHJ1Y3R1cmUoKTsKKyAgICAgICAgCisgICAgICAgIExCYXNpY0Jsb2NrIHNs
b3dQYXRoID0gRlRMX05FV19CTE9DSyhtX291dCwgKCJOZXdGdW5jdGlvbiBzbG93IHBhdGgiKSk7
CisgICAgICAgIExCYXNpY0Jsb2NrIGNvbnRpbnVhdGlvbiA9IEZUTF9ORVdfQkxPQ0sobV9vdXQs
ICgiTmV3RnVuY3Rpb24gY29udGludWF0aW9uIikpOworICAgICAgICAKKyAgICAgICAgTEJhc2lj
QmxvY2sgbGFzdE5leHQgPSBtX291dC5pbnNlcnROZXdCbG9ja3NCZWZvcmUoc2xvd1BhdGgpOwor
ICAgICAgICAKKyAgICAgICAgTFZhbHVlIGZhc3RPYmplY3QgPSBhbGxvY2F0ZU9iamVjdDxKU0Z1
bmN0aW9uPigKKyAgICAgICAgICAgIHN0cnVjdHVyZSwgbV9vdXQuaW50UHRyWmVybywgc2xvd1Bh
dGgpOworICAgICAgICAKKyAgICAgICAgLy8gV2UgZG9uJ3QgbmVlZCBtZW1vcnkgYmFycmllcnMg
c2luY2Ugd2UganVzdCBmYXN0LWNyZWF0ZWQgdGhlIGZ1bmN0aW9uLCBzbyBpdAorICAgICAgICAv
LyBtdXN0IGJlIHlvdW5nLgorICAgICAgICBtX291dC5zdG9yZVB0cihzY29wZSwgZmFzdE9iamVj
dCwgbV9oZWFwcy5KU0Z1bmN0aW9uX3Njb3BlKTsKKyAgICAgICAgbV9vdXQuc3RvcmVQdHIod2Vh
a1BvaW50ZXIoZXhlY3V0YWJsZSksIGZhc3RPYmplY3QsIG1faGVhcHMuSlNGdW5jdGlvbl9leGVj
dXRhYmxlKTsKKyAgICAgICAgbV9vdXQuc3RvcmVQdHIobV9vdXQuaW50UHRyWmVybywgZmFzdE9i
amVjdCwgbV9oZWFwcy5KU0Z1bmN0aW9uX3JhcmVEYXRhKTsKKyAgICAgICAgCisgICAgICAgIFZh
bHVlRnJvbUJsb2NrIGZhc3RSZXN1bHQgPSBtX291dC5hbmNob3IoZmFzdE9iamVjdCk7CisgICAg
ICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0LmFw
cGVuZFRvKHNsb3dQYXRoLCBjb250aW51YXRpb24pOworICAgICAgICBMVmFsdWUgY2FsbFJlc3Vs
dCA9IHZtQ2FsbCgKKyAgICAgICAgICAgIG1fb3V0Lm9wZXJhdGlvbihvcGVyYXRpb25OZXdGdW5j
dGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQpLAorICAgICAgICAgICAg
bV9jYWxsRnJhbWUsIHNjb3BlLCB3ZWFrUG9pbnRlcihleGVjdXRhYmxlKSk7CisgICAgICAgIFZh
bHVlRnJvbUJsb2NrIHNsb3dSZXN1bHQgPSBtX291dC5hbmNob3IoY2FsbFJlc3VsdCk7CisgICAg
ICAgIG1fb3V0Lmp1bXAoY29udGludWF0aW9uKTsKKyAgICAgICAgCisgICAgICAgIG1fb3V0LmFw
cGVuZFRvKGNvbnRpbnVhdGlvbiwgbGFzdE5leHQpOworICAgICAgICBzZXRKU1ZhbHVlKG1fb3V0
LnBoaShtX291dC5pbnRQdHIsIGZhc3RSZXN1bHQsIHNsb3dSZXN1bHQpKTsKICAgICB9CiAgICAg
CiAgICAgdm9pZCBjb21waWxlQ3JlYXRlRGlyZWN0QXJndW1lbnRzKCkKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1bmN0aW9uLmgJKHJldmlzaW9uIDE4Mjg5OSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTRnVuY3Rpb24uaAkod29ya2luZyBjb3B5
KQpAQCAtNTksNiArNTksMTIgQEAKICAgICB0eXBlZGVmIEpTQ2FsbGVlIEJhc2U7CiAgICAgY29u
c3Qgc3RhdGljIHVuc2lnbmVkIFN0cnVjdHVyZUZsYWdzID0gQmFzZTo6U3RydWN0dXJlRmxhZ3Mg
fCBPdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QgfCBPdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVz
OwogCisgICAgc3RhdGljIHNpemVfdCBhbGxvY2F0aW9uU2l6ZShzaXplX3QgaW5saW5lQ2FwYWNp
dHkpCisgICAgeworICAgICAgICBBU1NFUlRfVU5VU0VEKGlubGluZUNhcGFjaXR5LCAhaW5saW5l
Q2FwYWNpdHkpOworICAgICAgICByZXR1cm4gc2l6ZW9mKEpTRnVuY3Rpb24pOworICAgIH0KKwog
ICAgIEpTX0VYUE9SVF9QUklWQVRFIHN0YXRpYyBKU0Z1bmN0aW9uKiBjcmVhdGUoVk0mLCBKU0ds
b2JhbE9iamVjdCosIGludCBsZW5ndGgsIGNvbnN0IFN0cmluZyYgbmFtZSwgTmF0aXZlRnVuY3Rp
b24sIEludHJpbnNpYyA9IE5vSW50cmluc2ljLCBOYXRpdmVGdW5jdGlvbiBuYXRpdmVDb25zdHJ1
Y3RvciA9IGNhbGxIb3N0RnVuY3Rpb25Bc0NvbnN0cnVjdG9yKTsKICAgICAKICAgICBzdGF0aWMg
SlNGdW5jdGlvbiogY3JlYXRlV2l0aEludmFsaWRhdGVkUmVhbGxvY2F0aW9uV2F0Y2hwb2ludChW
TSYsIEZ1bmN0aW9uRXhlY3V0YWJsZSosIEpTU2NvcGUqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250980</attachid>
            <date>2015-04-16 16:54:48 -0700</date>
            <delta_ts>2015-04-16 17:46:02 -0700</delta_ts>
            <desc>Cleaned up patch</desc>
            <filename>inline_jsfunction_allocation_ftl_final.patch</filename>
            <type>text/plain</type>
            <size>5254</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgyOTI0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBA
CisyMDE1LTA0LTE2ICBCYXNpbGUgQ2xlbWVudCAgPGJhc2lsZV9jbGVtZW50QGFwcGxlLmNvbT4K
KworICAgICAgICBJbmxpbmUgSlNGdW5jdGlvbiBhbGxvY2F0aW9uIGluIEZUTAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzODUxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSlNGdW5jdGlvbiBhbGxvY2F0
aW9uIGlzIGEgc2ltcGxlIG9wZXJhdGlvbiB0aGF0IHNob3VsZCBiZSBpbmxpbmVkIHdoZW4gcG9z
c2libGUuCisKKyAgICAgICAgKiBmdGwvRlRMQWJzdHJhY3RIZWFwUmVwb3NpdG9yeS5oOgorICAg
ICAgICAqIGZ0bC9GVExMb3dlckRGR1RvTExWTS5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6TG93
ZXJERkdUb0xMVk06OmNvbXBpbGVOZXdGdW5jdGlvbik6CisgICAgICAgICogcnVudGltZS9KU0Z1
bmN0aW9uLmg6CisgICAgICAgIChKU0M6OkpTRnVuY3Rpb246OmFsbG9jYXRpb25TaXplKToKKwog
MjAxNS0wNC0xNiAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAgICAg
IFNwZWN1bGF0aXZlIGZpeCBhZnRlciByMTgyOTE1CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTEFic3RyYWN0SGVhcFJlcG9zaXRvcnkuaAkocmV2aXNpb24g
MTgyODk5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExBYnN0cmFjdEhlYXBSZXBv
c2l0b3J5LmgJKHdvcmtpbmcgY29weSkKQEAgLTYwLDYgKzYwLDcgQEAKICAgICBtYWNybyhKU0Nl
bGxfZ2NEYXRhLCBKU0NlbGw6OmdjRGF0YU9mZnNldCgpKSBcCiAgICAgbWFjcm8oSlNGdW5jdGlv
bl9leGVjdXRhYmxlLCBKU0Z1bmN0aW9uOjpvZmZzZXRPZkV4ZWN1dGFibGUoKSkgXAogICAgIG1h
Y3JvKEpTRnVuY3Rpb25fc2NvcGUsIEpTRnVuY3Rpb246Om9mZnNldE9mU2NvcGVDaGFpbigpKSBc
CisgICAgbWFjcm8oSlNGdW5jdGlvbl9yYXJlRGF0YSwgSlNGdW5jdGlvbjo6b2Zmc2V0T2ZSYXJl
RGF0YSgpKSBcCiAgICAgbWFjcm8oSlNPYmplY3RfYnV0dGVyZmx5LCBKU09iamVjdDo6YnV0dGVy
Zmx5T2Zmc2V0KCkpIFwKICAgICBtYWNybyhKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3JfY2FjaGVk
SW5saW5lQ2FwYWNpdHksIEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcjo6Y2FjaGVkSW5saW5lQ2Fw
YWNpdHlPZmZzZXQoKSkgXAogICAgIG1hY3JvKEpTUHJvcGVydHlOYW1lRW51bWVyYXRvcl9jYWNo
ZWRQcm9wZXJ0eU5hbWVzVmVjdG9yLCBKU1Byb3BlcnR5TmFtZUVudW1lcmF0b3I6OmNhY2hlZFBy
b3BlcnR5TmFtZXNWZWN0b3JPZmZzZXQoKSkgXApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHJldmlzaW9uIDE4Mjg5OSkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yOTIwLDE3ICsyOTIwLDQzIEBACiAgICAgCiAgICAgdm9pZCBjb21waWxlTmV3RnVu
Y3Rpb24oKQogICAgIHsKKyAgICAgICAgTFZhbHVlIHNjb3BlID0gbG93Q2VsbChtX25vZGUtPmNo
aWxkMSgpKTsKICAgICAgICAgRnVuY3Rpb25FeGVjdXRhYmxlKiBleGVjdXRhYmxlID0gbV9ub2Rl
LT5jYXN0T3BlcmFuZDxGdW5jdGlvbkV4ZWN1dGFibGUqPigpOwotICAgICAgICBKX0pJVE9wZXJh
dGlvbl9FSnNjQyBmdW5jdGlvbjsKLSAgICAgICAgaWYgKGV4ZWN1dGFibGUtPnNpbmdsZXRvbkZ1
bmN0aW9uKCktPmlzU3RpbGxWYWxpZCgpKQotICAgICAgICAgICAgZnVuY3Rpb24gPSBvcGVyYXRp
b25OZXdGdW5jdGlvbjsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgZnVuY3Rpb24gPSBvcGVy
YXRpb25OZXdGdW5jdGlvbldpdGhJbnZhbGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQ7Cisg
ICAgICAgIGlmIChleGVjdXRhYmxlLT5zaW5nbGV0b25GdW5jdGlvbigpLT5pc1N0aWxsVmFsaWQo
KSkgeworICAgICAgICAgICAgTFZhbHVlIGNhbGxSZXN1bHQgPSB2bUNhbGwoCisgICAgICAgICAg
ICAgICAgbV9vdXQub3BlcmF0aW9uKG9wZXJhdGlvbk5ld0Z1bmN0aW9uKSwgbV9jYWxsRnJhbWUs
IHNjb3BlLCB3ZWFrUG9pbnRlcihleGVjdXRhYmxlKSk7CisgICAgICAgICAgICBzZXRKU1ZhbHVl
KGNhbGxSZXN1bHQpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CiAgICAgICAgIAot
ICAgICAgICBMVmFsdWUgcmVzdWx0ID0gdm1DYWxsKAotICAgICAgICAgICAgbV9vdXQub3BlcmF0
aW9uKGZ1bmN0aW9uKSwgbV9jYWxsRnJhbWUsIGxvd0NlbGwobV9ub2RlLT5jaGlsZDEoKSksCi0g
ICAgICAgICAgICB3ZWFrUG9pbnRlcihleGVjdXRhYmxlKSk7Ci0gICAgICAgIHNldEpTVmFsdWUo
cmVzdWx0KTsKKyAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBtX2dyYXBoLmdsb2JhbE9i
amVjdEZvcihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYyktPmZ1bmN0aW9uU3RydWN0dXJlKCk7Cisg
ICAgICAgIAorICAgICAgICBMQmFzaWNCbG9jayBzbG93UGF0aCA9IEZUTF9ORVdfQkxPQ0sobV9v
dXQsICgiTmV3RnVuY3Rpb24gc2xvdyBwYXRoIikpOworICAgICAgICBMQmFzaWNCbG9jayBjb250
aW51YXRpb24gPSBGVExfTkVXX0JMT0NLKG1fb3V0LCAoIk5ld0Z1bmN0aW9uIGNvbnRpbnVhdGlv
biIpKTsKKyAgICAgICAgCisgICAgICAgIExCYXNpY0Jsb2NrIGxhc3ROZXh0ID0gbV9vdXQuaW5z
ZXJ0TmV3QmxvY2tzQmVmb3JlKHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIExWYWx1ZSBm
YXN0T2JqZWN0ID0gYWxsb2NhdGVPYmplY3Q8SlNGdW5jdGlvbj4oCisgICAgICAgICAgICBzdHJ1
Y3R1cmUsIG1fb3V0LmludFB0clplcm8sIHNsb3dQYXRoKTsKKyAgICAgICAgCisgICAgICAgIC8v
IFdlIGRvbid0IG5lZWQgbWVtb3J5IGJhcnJpZXJzIHNpbmNlIHdlIGp1c3QgZmFzdC1jcmVhdGVk
IHRoZSBmdW5jdGlvbiwgc28gaXQKKyAgICAgICAgLy8gbXVzdCBiZSB5b3VuZy4KKyAgICAgICAg
bV9vdXQuc3RvcmVQdHIoc2NvcGUsIGZhc3RPYmplY3QsIG1faGVhcHMuSlNGdW5jdGlvbl9zY29w
ZSk7CisgICAgICAgIG1fb3V0LnN0b3JlUHRyKHdlYWtQb2ludGVyKGV4ZWN1dGFibGUpLCBmYXN0
T2JqZWN0LCBtX2hlYXBzLkpTRnVuY3Rpb25fZXhlY3V0YWJsZSk7CisgICAgICAgIG1fb3V0LnN0
b3JlUHRyKG1fb3V0LmludFB0clplcm8sIGZhc3RPYmplY3QsIG1faGVhcHMuSlNGdW5jdGlvbl9y
YXJlRGF0YSk7CisgICAgICAgIAorICAgICAgICBWYWx1ZUZyb21CbG9jayBmYXN0UmVzdWx0ID0g
bV9vdXQuYW5jaG9yKGZhc3RPYmplY3QpOworICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlv
bik7CisgICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhzbG93UGF0aCwgY29udGludWF0
aW9uKTsKKyAgICAgICAgTFZhbHVlIGNhbGxSZXN1bHQgPSB2bUNhbGwoCisgICAgICAgICAgICBt
X291dC5vcGVyYXRpb24ob3BlcmF0aW9uTmV3RnVuY3Rpb25XaXRoSW52YWxpZGF0ZWRSZWFsbG9j
YXRpb25XYXRjaHBvaW50KSwKKyAgICAgICAgICAgIG1fY2FsbEZyYW1lLCBzY29wZSwgd2Vha1Bv
aW50ZXIoZXhlY3V0YWJsZSkpOworICAgICAgICBWYWx1ZUZyb21CbG9jayBzbG93UmVzdWx0ID0g
bV9vdXQuYW5jaG9yKGNhbGxSZXN1bHQpOworICAgICAgICBtX291dC5qdW1wKGNvbnRpbnVhdGlv
bik7CisgICAgICAgIAorICAgICAgICBtX291dC5hcHBlbmRUbyhjb250aW51YXRpb24sIGxhc3RO
ZXh0KTsKKyAgICAgICAgc2V0SlNWYWx1ZShtX291dC5waGkobV9vdXQuaW50UHRyLCBmYXN0UmVz
dWx0LCBzbG93UmVzdWx0KSk7CiAgICAgfQogICAgIAogICAgIHZvaWQgY29tcGlsZUNyZWF0ZURp
cmVjdEFyZ3VtZW50cygpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9KU0Z1
bmN0aW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSlNG
dW5jdGlvbi5oCShyZXZpc2lvbiAxODI4OTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9KU0Z1bmN0aW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTU5LDYgKzU5LDEyIEBACiAgICAg
dHlwZWRlZiBKU0NhbGxlZSBCYXNlOwogICAgIGNvbnN0IHN0YXRpYyB1bnNpZ25lZCBTdHJ1Y3R1
cmVGbGFncyA9IEJhc2U6OlN0cnVjdHVyZUZsYWdzIHwgT3ZlcnJpZGVzR2V0T3duUHJvcGVydHlT
bG90IHwgT3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lczsKIAorICAgIHN0YXRpYyBzaXplX3QgYWxs
b2NhdGlvblNpemUoc2l6ZV90IGlubGluZUNhcGFjaXR5KQorICAgIHsKKyAgICAgICAgQVNTRVJU
X1VOVVNFRChpbmxpbmVDYXBhY2l0eSwgIWlubGluZUNhcGFjaXR5KTsKKyAgICAgICAgcmV0dXJu
IHNpemVvZihKU0Z1bmN0aW9uKTsKKyAgICB9CisKICAgICBKU19FWFBPUlRfUFJJVkFURSBzdGF0
aWMgSlNGdW5jdGlvbiogY3JlYXRlKFZNJiwgSlNHbG9iYWxPYmplY3QqLCBpbnQgbGVuZ3RoLCBj
b25zdCBTdHJpbmcmIG5hbWUsIE5hdGl2ZUZ1bmN0aW9uLCBJbnRyaW5zaWMgPSBOb0ludHJpbnNp
YywgTmF0aXZlRnVuY3Rpb24gbmF0aXZlQ29uc3RydWN0b3IgPSBjYWxsSG9zdEZ1bmN0aW9uQXND
b25zdHJ1Y3Rvcik7CiAgICAgCiAgICAgc3RhdGljIEpTRnVuY3Rpb24qIGNyZWF0ZVdpdGhJbnZh
bGlkYXRlZFJlYWxsb2NhdGlvbldhdGNocG9pbnQoVk0mLCBGdW5jdGlvbkV4ZWN1dGFibGUqLCBK
U1Njb3BlKik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>