<?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>144819</bug_id>
          
          <creation_ts>2015-05-08 16:10:42 -0700</creation_ts>
          <short_desc>CPS rethreading phase&apos;s flush detector flushes way too many SetLocals</short_desc>
          <delta_ts>2015-05-11 15:45:05 -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>All</rep_platform>
          <op_sys>All</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>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1093335</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-05-08 16:10:42 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093340</commentid>
    <comment_count>1</comment_count>
      <attachid>252755</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-05-08 16:14:32 -0700</bug_when>
    <thetext>Created attachment 252755
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093355</commentid>
    <comment_count>2</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-05-08 16:32:19 -0700</bug_when>
    <thetext>Wrong patch uploaded?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093359</commentid>
    <comment_count>3</comment_count>
      <attachid>252756</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-05-08 17:17:52 -0700</bug_when>
    <thetext>Created attachment 252756
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093377</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-05-08 18:25:20 -0700</bug_when>
    <thetext>Looks good.


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

VMs tested:
&quot;TipOfTree&quot; at /Volumes/Data/pizlo/secondary/OpenSource/WebKitBuild/Release/jsc (r184016)
&quot;FixFlushes&quot; at /Volumes/Data/pizlo/tertiary/OpenSource/WebKitBuild/Release/jsc (r184016)

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

                                                        TipOfTree                 FixFlushes                                    
SunSpider:
   3d-cube                                            5.1432+-0.0721     ?      5.1813+-0.1167        ?
   3d-morph                                           6.0961+-0.6812            5.8268+-0.1103          might be 1.0462x faster
   3d-raytrace                                        6.4887+-0.1497     ?      6.6388+-0.3285        ? might be 1.0231x slower
   access-binary-trees                                2.5127+-0.2827            2.2552+-0.0563          might be 1.1142x faster
   access-fannkuch                                    6.0061+-0.0341            5.9042+-0.0816          might be 1.0173x faster
   access-nbody                                       2.8679+-0.1138     ?      3.0859+-0.2885        ? might be 1.0760x slower
   access-nsieve                                      3.3720+-0.1188     ?      3.5387+-0.2496        ? might be 1.0494x slower
   bitops-3bit-bits-in-byte                           1.6923+-0.1472            1.5982+-0.1034          might be 1.0589x faster
   bitops-bits-in-byte                                3.6606+-0.3893            3.4925+-0.1119          might be 1.0481x faster
   bitops-bitwise-and                                 2.1672+-0.1332            2.1564+-0.0679        
   bitops-nsieve-bits                                 3.3112+-0.4834     ?      3.4184+-0.0640        ? might be 1.0324x slower
   controlflow-recursive                              2.3703+-0.1966            2.3160+-0.1101          might be 1.0235x faster
   crypto-aes                                         4.6631+-0.5730            4.6501+-0.5166        
   crypto-md5                                         2.7759+-0.1861            2.7456+-0.0718          might be 1.0110x faster
   crypto-sha1                                        2.6520+-0.1744     ?      2.7279+-0.2334        ? might be 1.0286x slower
   date-format-tofte                                  9.2809+-0.0759     !      9.6058+-0.2037        ! definitely 1.0350x slower
   date-format-xparb                                  5.8387+-0.2095     ?      5.9245+-0.2115        ? might be 1.0147x slower
   math-cordic                                        3.2082+-0.1582            3.0305+-0.0280          might be 1.0586x faster
   math-partial-sums                                  5.2374+-0.1065     ?      5.3870+-0.4113        ? might be 1.0286x slower
   math-spectral-norm                                 2.0905+-0.3209            2.0326+-0.2347          might be 1.0285x faster
   regexp-dna                                         7.7395+-1.2917            7.7263+-1.4049        
   string-base64                                      5.2346+-0.7415            4.7719+-0.1705          might be 1.0970x faster
   string-fasta                                       6.9225+-0.6465     ?      8.9651+-4.3801        ? might be 1.2951x slower
   string-tagcloud                                   10.7174+-1.4258     ?     10.7904+-0.8746        ?
   string-unpack-code                                20.6933+-0.7142     ?     20.7049+-0.8652        ?
   string-validate-input                              4.8760+-0.1973            4.8727+-0.0578        

   &lt;arithmetic&gt;                                       5.2930+-0.0861     ?      5.3595+-0.1513        ? might be 1.0126x slower

                                                        TipOfTree                 FixFlushes                                    
LongSpider:
   3d-cube                                          879.4962+-5.2359     ?    883.0091+-4.3321        ?
   3d-morph                                        1527.7843+-3.1745     ?   1533.3771+-8.6825        ?
   3d-raytrace                                      730.3289+-7.2099     ?    739.1031+-7.0623        ? might be 1.0120x slower
   access-binary-trees                             1033.0166+-10.0800    ?   1034.1320+-8.7937        ?
   access-fannkuch                                  345.3583+-12.5574         330.9044+-8.3718          might be 1.0437x faster
   access-nbody                                     611.4082+-2.9952          611.2999+-2.4024        
   access-nsieve                                    482.3617+-6.6051          481.4530+-8.4515        
   bitops-3bit-bits-in-byte                          46.1834+-2.2068           45.7896+-2.8997        
   bitops-bits-in-byte                              103.0643+-4.6817          102.0791+-4.8965        
   bitops-nsieve-bits                               423.0868+-6.2983          419.9257+-2.7451        
   controlflow-recursive                            479.1220+-1.4183     !    485.4867+-4.3215        ! definitely 1.0133x slower
   crypto-aes                                       709.0476+-4.4375          708.1630+-9.5602        
   crypto-md5                                       523.8534+-8.9203          523.7098+-8.4983        
   crypto-sha1                                      595.7392+-3.5021     !    606.8940+-6.7954        ! definitely 1.0187x slower
   date-format-tofte                                761.9591+-25.3923         759.6101+-13.0750       
   date-format-xparb                                797.3017+-20.3194         789.6322+-19.4011       
   hash-map                                         172.1993+-4.8031          171.5229+-4.1828        
   math-cordic                                      587.8677+-2.6860     ?    589.4816+-3.6672        ?
   math-partial-sums                                502.7038+-1.5459     ?    505.7614+-5.4695        ?
   math-spectral-norm                               564.8314+-1.8672     ?    568.3796+-7.2280        ?
   string-base64                                    378.2978+-3.5487          377.4036+-5.0523        
   string-fasta                                     435.8924+-4.3994          434.3793+-5.5001        
   string-tagcloud                                  196.6157+-2.6394     ?    197.6587+-3.2287        ?

   &lt;geometric&gt;                                      453.2088+-3.2542          452.7665+-1.0953          might be 1.0010x faster

                                                        TipOfTree                 FixFlushes                                    
V8Spider:
   crypto                                            56.2053+-1.8242           55.3287+-1.3181          might be 1.0158x faster
   deltablue                                         98.6609+-6.1693           97.2432+-2.4867          might be 1.0146x faster
   earley-boyer                                      44.2807+-0.5750     ?     45.3958+-1.8950        ? might be 1.0252x slower
   raytrace                                          41.0197+-2.9258           40.6875+-1.4953        
   regexp                                            83.1180+-2.1280           82.4667+-3.1621        
   richards                                          78.0810+-1.3962     ?     80.7897+-2.2395        ? might be 1.0347x slower
   splay                                             40.5217+-1.4179           38.9058+-1.4838          might be 1.0415x faster

   &lt;geometric&gt;                                       59.4905+-0.5631           59.2695+-0.7464          might be 1.0037x faster

                                                        TipOfTree                 FixFlushes                                    
Octane:
   encrypt                                           0.20377+-0.00269          0.20233+-0.00089       
   decrypt                                           3.57503+-0.05829    ?     3.57697+-0.04028       ?
   deltablue                                x2       0.20811+-0.00233          0.20738+-0.00235       
   earley                                            0.49650+-0.00422    ^     0.46738+-0.00169       ^ definitely 1.0623x faster
   boyer                                             6.61524+-0.03985    ?     6.62534+-0.03227       ?
   navier-stokes                            x2       5.20999+-0.03497          5.18836+-0.04173       
   raytrace                                 x2       1.32352+-0.08323          1.30107+-0.08201         might be 1.0173x faster
   richards                                 x2       0.12189+-0.00058    ?     0.12359+-0.00296       ? might be 1.0139x slower
   splay                                    x2       0.40355+-0.00479          0.39645+-0.00244         might be 1.0179x faster
   regexp                                   x2      32.15144+-0.29004         31.68904+-0.20602         might be 1.0146x faster
   pdfjs                                    x2      44.94805+-0.26169    ?    44.98965+-0.45707       ?
   mandreel                                 x2      49.72953+-0.47746    ?    50.17446+-0.63541       ?
   gbemu                                    x2      42.88270+-2.69640         42.54507+-2.16897       
   closure                                           0.55971+-0.00228    ?     0.56091+-0.00380       ?
   jquery                                            7.14935+-0.05274          7.14743+-0.08462       
   box2d                                    x2      12.56407+-0.46305         12.44883+-0.07426       
   zlib                                     x2     397.39975+-6.18673        391.14673+-15.13512        might be 1.0160x faster
   typescript                               x2     835.47457+-14.43962       833.72021+-7.31282       

   &lt;geometric&gt;                                       6.75757+-0.05200          6.71261+-0.02732         might be 1.0067x faster

                                                        TipOfTree                 FixFlushes                                    
Kraken:
   ai-astar                                          277.756+-1.084            277.248+-2.243         
   audio-beat-detection                              106.692+-0.700            106.069+-0.841         
   audio-dft                                         118.235+-2.778      ?     118.555+-1.568         ?
   audio-fft                                          84.973+-5.680      ?      87.356+-3.823         ? might be 1.0280x slower
   audio-oscillator                                   79.477+-1.370             79.392+-2.446         
   imaging-darkroom                                  105.007+-1.897      ?     106.580+-2.779         ? might be 1.0150x slower
   imaging-desaturate                                 65.202+-1.965             63.135+-0.176           might be 1.0327x faster
   imaging-gaussian-blur                             112.938+-0.871      ?     115.368+-4.801         ? might be 1.0215x slower
   json-parse-financial                               46.263+-1.967             44.745+-1.560           might be 1.0339x faster
   json-stringify-tinderbox                           29.908+-0.291      ?      35.611+-11.625        ? might be 1.1907x slower
   stanford-crypto-aes                                58.651+-0.992      ?      58.992+-0.996         ?
   stanford-crypto-ccm                                60.910+-1.842             60.377+-2.478         
   stanford-crypto-pbkdf2                            136.914+-2.426      ?     139.666+-3.861         ? might be 1.0201x slower
   stanford-crypto-sha256-iterative                   53.711+-2.007             52.826+-1.857           might be 1.0168x faster

   &lt;arithmetic&gt;                                       95.474+-0.754      ?      96.137+-1.296         ? might be 1.0069x slower

                                                        TipOfTree                 FixFlushes                                    
JSRegress:
   abs-boolean                                        2.7027+-0.0513     ?      2.7029+-0.1546        ?
   adapt-to-double-divide                            16.7830+-0.2026     ?     16.9081+-0.6328        ?
   aliased-arguments-getbyval                         1.3115+-0.1498     ?      1.3312+-0.2185        ? might be 1.0150x slower
   allocate-big-object                                2.8768+-0.1618     ?      2.8897+-0.1094        ?
   arguments-named-and-reflective                    12.3073+-0.6325     ?     12.6879+-1.5440        ? might be 1.0309x slower
   arguments-out-of-bounds                           14.8818+-0.1954     ?     15.0011+-0.5254        ?
   arguments-strict-mode                             10.7858+-0.8355     ?     11.1653+-0.9418        ? might be 1.0352x slower
   arguments                                          9.4161+-0.4597            9.2974+-0.3373          might be 1.0128x faster
   arity-mismatch-inlining                            0.8522+-0.0569            0.8482+-0.0544        
   array-access-polymorphic-structure                 7.1320+-0.9531            6.7987+-0.1754          might be 1.0490x faster
   array-nonarray-polymorhpic-access                 34.4101+-1.6014     ?     35.0487+-0.9686        ? might be 1.0186x slower
   array-prototype-every                             87.0811+-2.6597           86.6569+-1.8940        
   array-prototype-forEach                           84.2189+-3.2807           82.6706+-2.0276          might be 1.0187x faster
   array-prototype-map                               94.5478+-2.6241           91.0002+-2.4807          might be 1.0390x faster
   array-prototype-some                              87.2333+-2.2537           86.2178+-3.2543          might be 1.0118x faster
   array-splice-contiguous                           41.7316+-0.9114     ?     41.8336+-1.1458        ?
   array-with-double-add                              4.2607+-0.3663            4.1215+-0.0798          might be 1.0338x faster
   array-with-double-increment                        3.3075+-0.1210            3.2309+-0.0453          might be 1.0237x faster
   array-with-double-mul-add                          5.2007+-0.3669            5.0233+-0.1769          might be 1.0353x faster
   array-with-double-sum                              3.3022+-0.0916     ?      3.5454+-0.4205        ? might be 1.0737x slower
   array-with-int32-add-sub                           6.7732+-0.0930            6.7561+-0.1291        
   array-with-int32-or-double-sum                     3.5061+-0.3128            3.2812+-0.0214          might be 1.0685x faster
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     33.1165+-1.9494           32.7015+-1.0141          might be 1.0127x faster
   ArrayBuffer-DataView-alloc-long-lived             14.4448+-1.9521           13.6254+-0.9764          might be 1.0601x faster
   ArrayBuffer-Int32Array-byteOffset                  3.8180+-0.1671     ?      4.1637+-0.4593        ? might be 1.0905x slower
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     33.3724+-1.8540     !     35.9156+-0.2737        ! definitely 1.0762x slower
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     23.4832+-1.3976     ?     25.5141+-3.2965        ? might be 1.0865x slower
   ArrayBuffer-Int8Array-alloc-long-lived            14.1354+-2.1210           13.5532+-1.3170          might be 1.0430x faster
   ArrayBuffer-Int8Array-alloc                       11.7976+-1.6683           11.1233+-0.7976          might be 1.0606x faster
   asmjs_bool_bug                                     7.9049+-0.2931            7.7338+-0.1261          might be 1.0221x faster
   assign-custom-setter-polymorphic                   3.3591+-0.4450            3.2028+-0.4255          might be 1.0488x faster
   assign-custom-setter                               4.7884+-0.4813            4.5016+-0.5654          might be 1.0637x faster
   basic-set                                          8.5559+-0.4309            8.3099+-0.2453          might be 1.0296x faster
   big-int-mul                                        4.1201+-0.1992            3.9993+-0.0353          might be 1.0302x faster
   boolean-test                                       3.1100+-0.3165            3.0148+-0.0692          might be 1.0316x faster
   branch-fold                                        3.8427+-0.2802            3.7947+-0.2119          might be 1.0126x faster
   branch-on-string-as-boolean                       19.7327+-1.3384     ?     19.9353+-3.2717        ? might be 1.0103x slower
   by-val-generic                                     8.0625+-0.3208     ?      8.0830+-0.2633        ?
   call-spread-apply                                 32.2268+-1.5642     ?     32.5307+-2.0838        ?
   call-spread-call                                  28.4589+-1.6170     ?     28.8468+-1.0436        ? might be 1.0136x slower
   captured-assignments                               0.4430+-0.0169     ?      0.4661+-0.0551        ? might be 1.0522x slower
   cast-int-to-double                                 5.1919+-0.0790     ?      5.2998+-0.1187        ? might be 1.0208x slower
   cell-argument                                      9.2255+-1.3021            8.4251+-0.1867          might be 1.0950x faster
   cfg-simplify                                       2.9128+-0.1049            2.7841+-0.0563          might be 1.0462x faster
   chain-getter-access                                9.1550+-0.1187     ?      9.2526+-0.3083        ? might be 1.0107x slower
   cmpeq-obj-to-obj-other                            11.8265+-1.7667     ?     12.8609+-0.9293        ? might be 1.0875x slower
   constant-test                                      4.9437+-0.1060            4.8981+-0.0300        
   create-lots-of-functions                          12.6611+-2.5880           11.5870+-0.2591          might be 1.0927x faster
   DataView-custom-properties                        38.1572+-1.2376     ?     39.5195+-1.7324        ? might be 1.0357x slower
   deconstructing-parameters-overridden-by-function   
                                                      0.5642+-0.0846            0.5131+-0.0383          might be 1.0996x faster
   delay-tear-off-arguments-strictmode               13.9734+-0.2796     ?     14.5984+-0.8285        ? might be 1.0447x slower
   deltablue-varargs                                204.5814+-4.7489     ?    204.7906+-1.8839        ?
   destructuring-arguments                           16.9709+-0.2275     ?     17.1934+-0.2053        ? might be 1.0131x slower
   destructuring-swap                                 4.9442+-0.0412            4.9410+-0.0361        
   direct-arguments-getbyval                          1.2399+-0.1220            1.2153+-0.0311          might be 1.0203x faster
   div-boolean-double                                 5.2365+-0.0574     ?      5.2614+-0.0940        ?
   div-boolean                                        7.8307+-0.1149            7.7703+-0.0220        
   double-get-by-val-out-of-bounds                    4.5317+-0.0636            4.5264+-0.0195        
   double-pollution-getbyval                          8.8909+-0.0795            8.8770+-0.1215        
   double-pollution-putbyoffset                       4.3934+-0.1488            4.2957+-0.0497          might be 1.0227x faster
   double-to-int32-typed-array-no-inline              2.3742+-0.3377     ?      2.5338+-0.2602        ? might be 1.0672x slower
   double-to-int32-typed-array                        1.9251+-0.0732     ?      2.0035+-0.0593        ? might be 1.0407x slower
   double-to-uint32-typed-array-no-inline             2.3573+-0.0859            2.2957+-0.0359          might be 1.0268x faster
   double-to-uint32-typed-array                       2.0971+-0.2386            2.0656+-0.0935          might be 1.0153x faster
   elidable-new-object-dag                           42.3341+-0.9975     ?     43.8053+-2.3603        ? might be 1.0348x slower
   elidable-new-object-roflcopter                    47.0483+-1.1792     ?     47.1202+-1.6498        ?
   elidable-new-object-then-call                     40.3153+-1.6702     ?     40.5500+-0.9315        ?
   elidable-new-object-tree                          45.4869+-0.7347     ?     46.3528+-1.4798        ? might be 1.0190x slower
   empty-string-plus-int                              5.4881+-0.0990            5.4199+-0.0682          might be 1.0126x faster
   emscripten-cube2hash                              38.8105+-1.4199     ?     39.3670+-2.6794        ? might be 1.0143x slower
   exit-length-on-plain-object                       14.5781+-1.6267     ?     16.5515+-1.4632        ? might be 1.1354x slower
   external-arguments-getbyval                        1.2953+-0.1237            1.2614+-0.0844          might be 1.0269x faster
   external-arguments-putbyval                        2.3106+-0.0413     ?      2.3883+-0.1318        ? might be 1.0337x slower
   fixed-typed-array-storage-var-index                1.2395+-0.0459     ?      1.2499+-0.1344        ?
   fixed-typed-array-storage                          0.8869+-0.0255     ?      0.9163+-0.0540        ? might be 1.0332x slower
   Float32Array-matrix-mult                           4.7165+-0.4745     ?      5.0303+-0.8587        ? might be 1.0665x slower
   Float32Array-to-Float64Array-set                  54.2428+-2.9322     ?     55.8473+-0.7108        ? might be 1.0296x slower
   Float64Array-alloc-long-lived                     69.1879+-1.1964           68.9905+-1.7678        
   Float64Array-to-Int16Array-set                    69.6098+-1.5345     ?     71.9537+-2.7291        ? might be 1.0337x slower
   fold-double-to-int                                14.0565+-0.7797           13.3824+-0.2644          might be 1.0504x faster
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     10.2364+-1.3504     ?     10.7108+-1.3639        ? might be 1.0463x slower
   fold-get-by-id-to-multi-get-by-offset             10.2716+-1.0439     ?     10.2748+-0.6696        ?
   fold-multi-get-by-offset-to-get-by-offset   
                                                      8.8549+-0.7976     ?      9.4860+-0.9669        ? might be 1.0713x slower
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      9.5313+-0.7020            8.6451+-0.7013          might be 1.1025x faster
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                      9.3313+-1.2747            8.2090+-1.0934          might be 1.1367x faster
   fold-multi-put-by-offset-to-put-by-offset   
                                                      6.9622+-0.7526            5.1729+-1.1084          might be 1.3459x faster
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                      9.6564+-0.4739            9.6425+-0.4024        
   fold-put-by-id-to-multi-put-by-offset              9.8288+-1.5575     ?      9.9024+-0.6081        ?
   fold-put-structure                                 7.4146+-0.5263            6.3717+-1.5783          might be 1.1637x faster
   for-of-iterate-array-entries                       4.8534+-0.2671            4.7095+-0.1514          might be 1.0306x faster
   for-of-iterate-array-keys                          3.9083+-0.3172            3.7275+-0.0483          might be 1.0485x faster
   for-of-iterate-array-values                        3.8464+-0.2577     ?      4.3894+-1.3624        ? might be 1.1412x slower
   fround                                            21.0835+-0.5718           21.0037+-0.6203        
   ftl-library-inlining-dataview                     67.9950+-3.6610     ?     68.7268+-3.3829        ? might be 1.0108x slower
   ftl-library-inlining                              74.3175+-17.1558    ?     82.1043+-18.8464       ? might be 1.1048x slower
   function-dot-apply                                 1.9672+-0.0876     ?      1.9965+-0.0780        ? might be 1.0149x slower
   function-test                                      2.9972+-0.2973     ?      3.1333+-0.6862        ? might be 1.0454x slower
   function-with-eval                               103.9739+-2.5768     ?    105.6593+-2.9615        ? might be 1.0162x slower
   gcse-poly-get-less-obvious                        20.5209+-2.5920           18.4229+-0.8055          might be 1.1139x faster
   gcse-poly-get                                     21.0702+-2.5311           20.4757+-1.2054          might be 1.0290x faster
   gcse                                               4.3929+-0.1277     ?      4.4677+-0.3423        ? might be 1.0170x slower
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      2.7164+-0.0180     ?      2.9861+-0.4113        ? might be 1.0993x slower
   get-by-id-bimorphic-check-structure-elimination   
                                                      6.1397+-0.2439     ?      6.2426+-0.3317        ? might be 1.0168x slower
   get-by-id-chain-from-try-block                     6.5614+-0.0644            6.5345+-0.2123        
   get-by-id-check-structure-elimination              5.1490+-0.0873     ?      5.4983+-0.5912        ? might be 1.0678x slower
   get-by-id-proto-or-self                           17.1917+-0.6265     ?     17.4296+-0.8510        ? might be 1.0138x slower
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      3.1749+-0.0369     ?      3.4273+-0.6193        ? might be 1.0795x slower
   get-by-id-self-or-proto                           17.6765+-0.6543           17.6280+-0.6384        
   get-by-val-out-of-bounds                           4.3617+-0.0319     ?      4.3707+-0.1074        ?
   get_callee_monomorphic                             2.8857+-0.0660            2.8318+-0.0991          might be 1.0190x faster
   get_callee_polymorphic                             3.7092+-0.1043     ?      3.7993+-0.0778        ? might be 1.0243x slower
   getter-no-activation                               5.0398+-0.3053     ?      5.0892+-0.4343        ?
   getter-richards                                  127.3571+-5.7867     ?    129.0267+-8.1238        ? might be 1.0131x slower
   getter                                             6.1389+-0.6656            5.9548+-0.5345          might be 1.0309x faster
   global-var-const-infer-fire-from-opt               0.9598+-0.1183            0.9462+-0.0834          might be 1.0144x faster
   global-var-const-infer                             0.8018+-0.1185     ?      0.8322+-0.0695        ? might be 1.0380x slower
   HashMap-put-get-iterate-keys                      28.6503+-0.9673     ?     29.7057+-2.1596        ? might be 1.0368x slower
   HashMap-put-get-iterate                           30.4670+-1.6284     ?     32.0458+-2.0970        ? might be 1.0518x slower
   HashMap-string-put-get-iterate                    30.3384+-2.8492           29.5978+-1.8242          might be 1.0250x faster
   hoist-make-rope                                   12.3295+-0.5883     ?     12.7663+-0.6985        ? might be 1.0354x slower
   hoist-poly-check-structure-effectful-loop   
                                                      5.9095+-1.7344            5.0274+-0.0330          might be 1.1755x faster
   hoist-poly-check-structure                         3.6689+-0.1043     ?      3.7116+-0.1878        ? might be 1.0116x slower
   imul-double-only                                   9.0398+-1.0223            8.6160+-0.8974          might be 1.0492x faster
   imul-int-only                                     10.0515+-0.6175     ?     10.1023+-0.4109        ?
   imul-mixed                                         8.4932+-0.3293            8.2504+-0.1378          might be 1.0294x faster
   in-four-cases                                     20.5553+-0.3670     ?     20.7941+-0.5388        ? might be 1.0116x slower
   in-one-case-false                                 10.2592+-0.5411           10.1653+-0.3437        
   in-one-case-true                                  10.2427+-0.5815           10.2122+-0.4155        
   in-two-cases                                      10.6033+-0.6255           10.3909+-0.3055          might be 1.0204x faster
   indexed-properties-in-objects                      3.0175+-0.1267     ?      3.3990+-0.4873        ? might be 1.1264x slower
   infer-closure-const-then-mov-no-inline             4.4832+-0.6114            4.1105+-0.3669          might be 1.0907x faster
   infer-closure-const-then-mov                      19.5669+-0.2334     ?     19.6779+-0.2376        ?
   infer-closure-const-then-put-to-scope-no-inline   
                                                     11.3416+-0.8396           11.0669+-0.1389          might be 1.0248x faster
   infer-closure-const-then-put-to-scope             21.8019+-0.9450     ?     22.1827+-1.2380        ? might be 1.0175x slower
   infer-closure-const-then-reenter-no-inline   
                                                     50.7107+-2.3586           49.2225+-1.7688          might be 1.0302x faster
   infer-closure-const-then-reenter                  23.8973+-2.0087           23.6892+-1.9128        
   infer-constant-global-property                    32.0611+-1.7642           30.7223+-1.1730          might be 1.0436x faster
   infer-constant-property                            2.7118+-0.0388     ?      2.7247+-0.0342        ?
   infer-one-time-closure-ten-vars                   12.5710+-0.5820     ?     13.9993+-1.5014        ? might be 1.1136x slower
   infer-one-time-closure-two-vars                   12.5271+-1.1909     ?     12.8317+-1.1697        ? might be 1.0243x slower
   infer-one-time-closure                            12.6816+-1.4004           11.8500+-0.2406          might be 1.0702x faster
   infer-one-time-deep-closure                       20.6825+-0.2492     ?     22.0098+-1.6606        ? might be 1.0642x slower
   inline-arguments-access                            4.4587+-0.0406     ?      4.5121+-0.0913        ? might be 1.0120x slower
   inline-arguments-aliased-access                    4.4489+-0.0541     ?      4.5492+-0.1329        ? might be 1.0225x slower
   inline-arguments-local-escape                      4.4865+-0.0604     ?      4.5350+-0.1171        ? might be 1.0108x slower
   inline-get-scoped-var                              4.9620+-0.3366            4.8868+-0.1737          might be 1.0154x faster
   inlined-put-by-id-transition                      11.6550+-0.6001           11.3121+-1.1035          might be 1.0303x faster
   int-or-other-abs-then-get-by-val                   4.8704+-0.1341     ?      4.9982+-0.4239        ? might be 1.0262x slower
   int-or-other-abs-zero-then-get-by-val             17.5977+-1.5837           16.9208+-0.8647          might be 1.0400x faster
   int-or-other-add-then-get-by-val                   3.9660+-0.0875     ?      3.9995+-0.1892        ?
   int-or-other-add                                   5.3936+-0.2955     ?      5.4065+-0.2319        ?
   int-or-other-div-then-get-by-val                   4.1429+-0.0331     ?      4.1584+-0.0208        ?
   int-or-other-max-then-get-by-val                   4.2337+-0.2096            4.1874+-0.0365          might be 1.0111x faster
   int-or-other-min-then-get-by-val                   4.2274+-0.1726     ?      4.3184+-0.3736        ? might be 1.0215x slower
   int-or-other-mod-then-get-by-val                   3.7913+-0.0554     ?      3.8531+-0.1325        ? might be 1.0163x slower
   int-or-other-mul-then-get-by-val                   3.6562+-0.1198     ?      3.8054+-0.3367        ? might be 1.0408x slower
   int-or-other-neg-then-get-by-val                   4.6315+-0.0391            4.5982+-0.0397        
   int-or-other-neg-zero-then-get-by-val             18.0174+-1.5554           16.5332+-0.2734          might be 1.0898x faster
   int-or-other-sub-then-get-by-val                   4.2475+-0.1656            4.2155+-0.1874        
   int-or-other-sub                                   3.3929+-0.0279     ?      3.4355+-0.1169        ? might be 1.0126x slower
   int-overflow-local                                 4.3379+-0.1117     ?      4.5060+-0.4129        ? might be 1.0387x slower
   Int16Array-alloc-long-lived                       48.3522+-1.5494     ?     49.5811+-1.2457        ? might be 1.0254x slower
   Int16Array-bubble-sort-with-byteLength            19.6064+-0.3038     ?     19.7798+-0.2850        ?
   Int16Array-bubble-sort                            20.3280+-1.2687           19.7940+-0.3302          might be 1.0270x faster
   Int16Array-load-int-mul                            1.5054+-0.0544            1.5048+-0.0654        
   Int16Array-to-Int32Array-set                      58.5155+-1.3186     ^     54.2957+-0.4077        ^ definitely 1.0777x faster
   Int32Array-alloc-large                            24.2395+-1.0045           23.8206+-1.1225          might be 1.0176x faster
   Int32Array-alloc-long-lived                       54.0110+-1.5038           53.5691+-1.4888        
   Int32Array-alloc                                   3.5042+-0.4049     ?      3.5615+-0.3829        ? might be 1.0163x slower
   Int32Array-Int8Array-view-alloc                    7.3269+-1.2445     ?      8.4428+-1.3304        ? might be 1.1523x slower
   int52-spill                                        6.3855+-0.0812     ?      6.4555+-0.1212        ? might be 1.0110x slower
   Int8Array-alloc-long-lived                        44.1628+-1.2186           43.5854+-1.4608          might be 1.0132x faster
   Int8Array-load-with-byteLength                     3.3239+-0.0518     ?      3.6325+-0.5333        ? might be 1.0929x slower
   Int8Array-load                                     3.5526+-0.4754            3.4019+-0.1349          might be 1.0443x faster
   integer-divide                                    11.1023+-0.2980           10.8829+-0.1014          might be 1.0202x faster
   integer-modulo                                     2.0688+-0.1043     ?      2.1068+-0.1841        ? might be 1.0184x slower
   is-boolean-fold-tricky                             4.5078+-0.1161     ?      4.5872+-0.2235        ? might be 1.0176x slower
   is-boolean-fold                                    3.0148+-0.3010            2.8413+-0.0540          might be 1.0610x faster
   is-function-fold-tricky-internal-function   
                                                     12.1214+-0.1634           11.9386+-0.1689          might be 1.0153x faster
   is-function-fold-tricky                            4.7563+-0.3444            4.6564+-0.3251          might be 1.0215x faster
   is-function-fold                                   2.9061+-0.0570     ?      3.0264+-0.3704        ? might be 1.0414x slower
   is-number-fold-tricky                              4.6653+-0.2615            4.4657+-0.0423          might be 1.0447x faster
   is-number-fold                                     2.9058+-0.0791     ?      3.1450+-0.2746        ? might be 1.0823x slower
   is-object-or-null-fold-functions                   2.9987+-0.1121            2.9233+-0.0619          might be 1.0258x faster
   is-object-or-null-fold-less-tricky                 4.6034+-0.1135     ?      4.6077+-0.0508        ?
   is-object-or-null-fold-tricky                      6.6364+-0.0806     ?      6.6534+-0.1640        ?
   is-object-or-null-fold                             2.9161+-0.0443     ?      3.0778+-0.3355        ? might be 1.0554x slower
   is-object-or-null-trickier-function                4.9547+-0.6631            4.8407+-0.5706          might be 1.0236x faster
   is-object-or-null-trickier-internal-function   
                                                     12.4867+-0.1930     ?     12.7548+-0.2425        ? might be 1.0215x slower
   is-object-or-null-tricky-function                  4.6456+-0.1165            4.5561+-0.0632          might be 1.0196x faster
   is-object-or-null-tricky-internal-function   
                                                      9.3100+-0.0536            9.2108+-0.0560          might be 1.0108x faster
   is-string-fold-tricky                              4.6915+-0.2240            4.4223+-0.1021          might be 1.0609x faster
   is-string-fold                                     2.8658+-0.0642     ?      2.9018+-0.0988        ? might be 1.0125x slower
   is-undefined-fold-tricky                           3.9025+-0.2941            3.8232+-0.2216          might be 1.0208x faster
   is-undefined-fold                                  2.8420+-0.0436     ?      2.9948+-0.4103        ? might be 1.0538x slower
   large-int-captured                                 4.6397+-0.0929            4.6012+-0.0369        
   large-int-neg                                     17.0888+-1.1217           16.7538+-1.1261          might be 1.0200x faster
   large-int                                         15.6400+-1.2512           15.1407+-0.8393          might be 1.0330x faster
   logical-not                                        4.5174+-0.2445            4.4528+-0.1325          might be 1.0145x faster
   lots-of-fields                                    13.0080+-0.4355     ?     14.5783+-1.3639        ? might be 1.1207x slower
   make-indexed-storage                               3.2910+-0.2582            3.1659+-0.0729          might be 1.0395x faster
   make-rope-cse                                      5.3188+-0.6466            4.8657+-0.1737          might be 1.0931x faster
   marsaglia-larger-ints                             36.9080+-1.0688           35.9996+-0.3640          might be 1.0252x faster
   marsaglia-osr-entry                               23.3769+-0.6348     ?     23.5201+-0.5422        ?
   max-boolean                                        2.5894+-0.1581     ?      2.6517+-0.3310        ? might be 1.0241x slower
   method-on-number                                  17.6563+-0.3164           16.9257+-0.5246          might be 1.0432x faster
   min-boolean                                        2.6417+-0.3486            2.5461+-0.0752          might be 1.0375x faster
   minus-boolean-double                               3.3185+-0.3116            3.1501+-0.0472          might be 1.0535x faster
   minus-boolean                                      2.4259+-0.1045            2.4106+-0.1944        
   misc-strict-eq                                    38.6219+-2.5335           38.6214+-3.0014        
   mod-boolean-double                                10.9680+-0.2027           10.9383+-0.1288        
   mod-boolean                                        7.8866+-0.1159     ?      7.9641+-0.2795        ?
   mul-boolean-double                                 3.7271+-0.0625     ?      3.7415+-0.0826        ?
   mul-boolean                                        2.9235+-0.0758            2.8865+-0.0828          might be 1.0128x faster
   neg-boolean                                        3.3834+-0.3818            3.2188+-0.1594          might be 1.0511x faster
   negative-zero-divide                               0.4142+-0.0933            0.3892+-0.0488          might be 1.0641x faster
   negative-zero-modulo                               0.3731+-0.0431            0.3685+-0.0329          might be 1.0126x faster
   negative-zero-negate                               0.3559+-0.0886            0.3353+-0.0049          might be 1.0614x faster
   nested-function-parsing                           38.1937+-0.4916     ?     38.6465+-0.6802        ? might be 1.0119x slower
   new-array-buffer-dead                            113.8680+-1.6513          112.9664+-2.9777        
   new-array-buffer-push                              6.8075+-0.1348     ?      7.1222+-0.6794        ? might be 1.0462x slower
   new-array-dead                                    19.2628+-0.5602     ?     19.5837+-0.4771        ? might be 1.0167x slower
   new-array-push                                     3.9297+-0.1643     ?      3.9462+-0.1420        ?
   no-inline-constructor                            124.1392+-3.6336          123.2277+-2.8394        
   number-test                                        2.9727+-0.0344     ?      3.1208+-0.1532        ? might be 1.0499x slower
   object-closure-call                                5.5291+-0.1708            5.4864+-0.1646        
   object-test                                        2.7715+-0.0367            2.7454+-0.0344        
   obvious-sink-pathology-taken                     138.4963+-2.9326     ?    140.0126+-1.6559        ? might be 1.0109x slower
   obvious-sink-pathology                           132.4417+-3.0134     ?    132.7460+-2.3639        ?
   obviously-elidable-new-object                     35.2621+-1.2057     ?     35.9709+-1.2634        ? might be 1.0201x slower
   plus-boolean-arith                                 2.6254+-0.3235            2.5967+-0.1418          might be 1.0111x faster
   plus-boolean-double                                3.3363+-0.4157     ?      3.3387+-0.3540        ?
   plus-boolean                                       2.3548+-0.0379     ?      2.4469+-0.1084        ? might be 1.0391x slower
   poly-chain-access-different-prototypes-simple   
                                                      3.3302+-0.0875            3.2947+-0.0558          might be 1.0108x faster
   poly-chain-access-different-prototypes             2.7915+-0.2762            2.6313+-0.0885          might be 1.0609x faster
   poly-chain-access-simpler                          3.2813+-0.0427     ?      3.3430+-0.0885        ? might be 1.0188x slower
   poly-chain-access                                  2.6062+-0.0967            2.6009+-0.0527        
   poly-stricteq                                     58.9608+-1.5563           57.4759+-1.9702          might be 1.0258x faster
   polymorphic-array-call                             1.2801+-0.1017     ?      1.2924+-0.1646        ?
   polymorphic-get-by-id                              3.1355+-0.0537     ?      3.2349+-0.3431        ? might be 1.0317x slower
   polymorphic-put-by-id                             29.6040+-2.3045     ?     29.7677+-2.2631        ?
   polymorphic-structure                             13.5763+-0.2671     ?     13.9265+-0.6289        ? might be 1.0258x slower
   polyvariant-monomorphic-get-by-id                  8.5925+-0.1377            8.5105+-0.1838        
   proto-getter-access                                9.1289+-0.2493     ?      9.2083+-0.3762        ?
   put-by-id-replace-and-transition                   9.0573+-0.0541     ?      9.0705+-0.1303        ?
   put-by-id-slightly-polymorphic                     2.9412+-0.1677            2.9203+-0.0931        
   put-by-id                                         12.7971+-0.1255     ?     12.9219+-0.6613        ?
   put-by-val-direct                                  0.4845+-0.0610            0.4522+-0.0049          might be 1.0714x faster
   put-by-val-large-index-blank-indexing-type   
                                                      6.2320+-1.0382     ?      6.3797+-0.6117        ? might be 1.0237x slower
   put-by-val-machine-int                             2.7181+-0.1127            2.6558+-0.0540          might be 1.0235x faster
   rare-osr-exit-on-local                            15.2973+-0.4130           15.0255+-0.3992          might be 1.0181x faster
   register-pressure-from-osr                        21.1612+-0.1658     ?     21.2372+-0.2750        ?
   setter                                             5.5635+-0.5722     ?      5.6596+-0.6213        ? might be 1.0173x slower
   simple-activation-demo                            25.5509+-1.6958           25.2699+-1.8445          might be 1.0111x faster
   simple-getter-access                              11.7633+-0.2205     ?     11.8043+-0.1560        ?
   simple-poly-call-nested                            8.5723+-0.5497            8.1713+-0.3022          might be 1.0491x faster
   simple-poly-call                                   1.3768+-0.1985            1.3060+-0.0738          might be 1.0542x faster
   sin-boolean                                       23.0407+-0.8388           22.0588+-1.5967          might be 1.0445x faster
   singleton-scope                                   62.5273+-1.2741     ?     62.5652+-1.6464        ?
   sink-function                                     12.0807+-0.3123           12.0660+-0.2033        
   sink-huge-activation                              19.8909+-0.8166           19.5741+-0.8532          might be 1.0162x faster
   sinkable-new-object-dag                           71.3271+-1.4102           71.2250+-1.3615        
   sinkable-new-object-taken                         52.5273+-2.6969     ?     54.7729+-3.7294        ? might be 1.0428x slower
   sinkable-new-object                               39.1763+-0.8125     ?     39.2488+-1.5282        ?
   slow-array-profile-convergence                     2.8143+-0.0925     ?      3.0339+-0.5161        ? might be 1.0780x slower
   slow-convergence                                   2.7387+-0.0642     ?      2.8791+-0.3306        ? might be 1.0513x slower
   sorting-benchmark                                 20.8358+-0.3019           20.4950+-0.2321          might be 1.0166x faster
   sparse-conditional                                 1.1947+-0.1410            1.1789+-0.0606          might be 1.0134x faster
   splice-to-remove                                  16.6397+-0.3176     ?     17.2749+-1.4743        ? might be 1.0382x slower
   string-char-code-at                               16.3120+-0.6751           16.2601+-0.8493        
   string-concat-object                               2.5890+-0.0938     ?      2.7814+-0.4054        ? might be 1.0743x slower
   string-concat-pair-object                          2.5787+-0.1791     ?      2.6702+-0.2534        ? might be 1.0355x slower
   string-concat-pair-simple                         12.0873+-0.9984           12.0544+-0.9999        
   string-concat-simple                              12.2936+-0.1043     ?     12.9039+-1.2198        ? might be 1.0496x slower
   string-cons-repeat                                 8.5324+-1.0909     ?      9.1497+-1.0150        ? might be 1.0723x slower
   string-cons-tower                                  8.6259+-0.7991     ?      8.6934+-1.0254        ?
   string-equality                                   18.6851+-0.8882           18.4803+-1.0390          might be 1.0111x faster
   string-get-by-val-big-char                         7.3290+-0.5309            7.1244+-0.0768          might be 1.0287x faster
   string-get-by-val-out-of-bounds-insane             4.1221+-0.6996            3.7914+-0.2384          might be 1.0872x faster
   string-get-by-val-out-of-bounds                    5.2445+-0.0552     ?      5.4232+-0.4482        ? might be 1.0341x slower
   string-get-by-val                                  3.2658+-0.0515     ?      3.3028+-0.1461        ? might be 1.0113x slower
   string-hash                                        2.1313+-0.2482            2.0168+-0.0115          might be 1.0567x faster
   string-long-ident-equality                        14.8256+-0.6439           14.5667+-0.1872          might be 1.0178x faster
   string-out-of-bounds                              14.9976+-0.3483           14.7776+-0.1310          might be 1.0149x faster
   string-repeat-arith                               32.8398+-3.4976     ?     34.2504+-2.4989        ? might be 1.0430x slower
   string-sub                                        64.8580+-2.3647     ?     67.2200+-2.4004        ? might be 1.0364x slower
   string-test                                        2.8808+-0.0451     ?      3.1073+-0.3682        ? might be 1.0786x slower
   string-var-equality                               33.9859+-1.4914     ?     35.2830+-1.8738        ? might be 1.0382x slower
   structure-hoist-over-transitions                   2.7795+-0.2382            2.7164+-0.1044          might be 1.0232x faster
   substring-concat-weird                            40.6672+-1.4992     ?     40.8313+-1.9525        ?
   substring-concat                                  42.5214+-2.3840     ?     42.6772+-2.1479        ?
   substring                                         46.2477+-1.0668     ?     47.2819+-2.0685        ? might be 1.0224x slower
   switch-char-constant                               2.7310+-0.0839     ?      2.7777+-0.1198        ? might be 1.0171x slower
   switch-char                                        6.9277+-1.0170            6.9072+-1.0692        
   switch-constant                                    8.6486+-0.4143            8.4929+-0.2026          might be 1.0183x faster
   switch-string-basic-big-var                       17.4106+-0.8053     ?     17.4760+-0.7813        ?
   switch-string-basic-big                           14.3651+-0.2067           14.2292+-0.2057        
   switch-string-basic-var                           14.5325+-0.1287     ?     15.3052+-1.0234        ? might be 1.0532x slower
   switch-string-basic                               13.0536+-0.6469           12.7898+-0.1302          might be 1.0206x faster
   switch-string-big-length-tower-var                19.8093+-0.2870     ?     20.2684+-1.3006        ? might be 1.0232x slower
   switch-string-length-tower-var                    14.9744+-0.2338           14.9380+-0.2146        
   switch-string-length-tower                        12.3184+-0.0730           12.3080+-0.2069        
   switch-string-short                               12.1850+-0.1951     ?     12.3017+-0.1727        ?
   switch                                            12.6895+-0.2292           12.5665+-0.1012        
   tear-off-arguments-simple                          3.5018+-0.1890     ?      3.5922+-0.2038        ? might be 1.0258x slower
   tear-off-arguments                                 4.8077+-0.1358     ?      4.8116+-0.1523        ?
   temporal-structure                                12.0252+-0.2649     ?     12.0981+-0.2116        ?
   to-int32-boolean                                  13.3348+-0.1204     ?     13.7385+-0.6945        ? might be 1.0303x slower
   try-catch-get-by-val-cloned-arguments             14.3358+-0.1792     ?     15.1010+-1.1703        ? might be 1.0534x slower
   try-catch-get-by-val-direct-arguments              6.5874+-0.3665     ?      6.6834+-0.1987        ? might be 1.0146x slower
   try-catch-get-by-val-scoped-arguments              8.0664+-1.0737     ?      8.2872+-1.3091        ? might be 1.0274x slower
   typed-array-get-set-by-val-profiling              32.4172+-0.9778           32.3330+-0.8516        
   undefined-property-access                        341.2850+-4.7073     ?    342.1524+-3.4673        ?
   undefined-test                                     3.2398+-0.3604            3.0848+-0.2325          might be 1.0502x faster
   unprofiled-licm                                   23.2740+-0.7748           23.1159+-0.5787        
   varargs-call                                      14.1946+-0.2583     ?     14.3721+-0.8107        ? might be 1.0125x slower
   varargs-construct-inline                          21.6658+-1.1628     ?     21.8522+-1.8688        ?
   varargs-construct                                 31.4531+-1.2326           31.0348+-0.5077          might be 1.0135x faster
   varargs-inline                                     8.9405+-0.2246     ?      9.0810+-0.2401        ? might be 1.0157x slower
   varargs-strict-mode                                9.7415+-0.2188     ?     10.1671+-0.9580        ? might be 1.0437x slower
   varargs                                            9.8536+-0.3290     ?      9.9344+-0.4816        ?
   weird-inlining-const-prop                          2.4982+-0.1957            2.3186+-0.1779          might be 1.0775x faster

   &lt;geometric&gt;                                        8.5592+-0.0263            8.5588+-0.0268          might be 1.0001x faster

                                                        TipOfTree                 FixFlushes                                    
AsmBench:
   bigfib.cpp                                       495.1100+-2.4052     ?    497.0655+-4.3357        ?
   cray.c                                           427.9183+-3.8993          423.7480+-2.6068        
   dry.c                                            482.6205+-9.0997          481.7394+-9.7727        
   FloatMM.c                                        724.7424+-1.9782          724.0091+-1.1654        
   gcc-loops.cpp                                   4263.0283+-9.5587     ?   4286.3566+-55.3791       ?
   n-body.c                                         976.1954+-2.1400     ?    980.9128+-4.6878        ?
   Quicksort.c                                      422.9260+-7.2008          420.2486+-1.5073        
   stepanov_container.cpp                          3621.0996+-22.2588    ?   3622.1635+-12.9061       ?
   Towers.c                                         259.7870+-0.5325     ?    261.1313+-2.6459        ?

   &lt;geometric&gt;                                      792.0364+-2.0692     ?    792.0976+-2.7174        ? might be 1.0001x slower

                                                        TipOfTree                 FixFlushes                                    
CompressionBench:
   huffman                                          374.4856+-4.5038     ^    359.8628+-4.2091        ^ definitely 1.0406x faster
   arithmetic-simple                                396.7551+-5.1287     ?    397.4955+-4.6276        ?
   arithmetic-precise                               299.9264+-3.2477     ?    303.4613+-6.1822        ? might be 1.0118x slower
   arithmetic-complex-precise                       298.6718+-4.6066          295.6637+-3.4773          might be 1.0102x faster
   arithmetic-precise-order-0                       424.4695+-6.0649          423.8506+-6.2288        
   arithmetic-precise-order-1                       330.1265+-2.8701          324.2908+-3.0070          might be 1.0180x faster
   arithmetic-precise-order-2                       364.4917+-9.1919          357.1160+-4.0710          might be 1.0207x faster
   arithmetic-simple-order-1                        423.9655+-5.6373     ?    425.0317+-4.9172        ?
   arithmetic-simple-order-2                        461.7207+-5.1088     ?    461.9953+-7.8743        ?
   lz-string                                        325.3846+-12.7547         320.9573+-3.5613          might be 1.0138x faster

   &lt;geometric&gt;                                      366.0962+-1.2592          362.9598+-1.9493          might be 1.0086x faster

                                                        TipOfTree                 FixFlushes                                    
Geomean of preferred means:
   &lt;scaled-result&gt;                                   62.3523+-0.1816           62.3465+-0.2950          might be 1.0001x faster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093854</commentid>
    <comment_count>5</comment_count>
      <attachid>252756</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-05-11 12:41:42 -0700</bug_when>
    <thetext>Comment on attachment 252756
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1093921</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-05-11 15:45:05 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/184128</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252755</attachid>
            <date>2015-05-08 16:14:32 -0700</date>
            <delta_ts>2015-05-08 17:17:52 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>16902</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgzOTMyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ4IEBA
CisyMDE1LTA1LTA3ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
R0MgaGFzIHRyb3VibGUgd2l0aCBwYXRob2xvZ2ljYWxseSBsYXJnZSBhcnJheSBhbGxvY2F0aW9u
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQ0NjA5
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIGJ1
ZyB3YXMgdGhhdCBTbG90VmlzaXRvcjo6Y29weUxhdGVyKCkgd291bGQgcmV0dXJuIGVhcmx5IGZv
ciBvdmVyc2l6ZSBibG9ja3MgKHJpZ2h0CisgICAgICAgIGFmdGVyIHBpbm5pbmcgdGhlbSksIGFu
ZCB3b3VsZCBza2lwIHRoZSBhY2NvdW50aW5nLiBUaGUgR0MgY2FsY3VsYXRlcyB0aGUgc2l6ZSBv
ZiB0aGUgaGVhcAorICAgICAgICBpbiB0YW5kZW0gd2l0aCB0aGUgc2NhbiB0byBzYXZlIHRpbWUs
IGFuZCB0aGF0IGFjY291bnRpbmcgd2FzIHBhcnQgb2YgaG93IHRoZSBHQyB3b3VsZAorICAgICAg
ICBrbm93IGhvdyBiaWcgdGhlIGhlYXAgd2FzLiBUaGUgR0Mgd291bGQgdGhlbiB0aGluayB0aGF0
IG92ZXJzaXplIGNvcGllZCBibG9ja3MgdXNlIG5vCisgICAgICAgIG1lbW9yeSwgYW5kIHdvdWxk
IHRoZW4gbWVzcyB1cCBpdHMgc2NoZWR1bGluZyBvZiB0aGUgbmV4dCBHQy4KKyAgICAgICAgCisg
ICAgICAgIEZpeGluZyB0aGlzIGJ1ZyBpcyBoYXJkZXIgdGhhbiBpdCBzZWVtcy4gV2hlbiBydW5u
aW5nIGFuIGVkZW4gR0MsIHdlIGZpZ3VyZSBvdXQgdGhlIGhlYXAKKyAgICAgICAgc2l6ZSBieSBz
dW1taW5nIHRoZSBzaXplIGZyb20gdGhlIGxhc3QgY29sbGVjdGlvbiBhbmQgdGhlIHNpemUgYnkg
d2Fsa2luZyB0aGUgZWRlbiBoZWFwLgorICAgICAgICBCdXQgdGhpcyBicmVha3Mgd2hlbiB3ZSBl
YWdlcmx5IGRlbGV0ZSBvYmplY3RzIHRoYXQgdGhlIGxhc3QgY29sbGVjdGlvbiB0b3VjaGVkLiBX
ZSBjYW4gZG8KKyAgICAgICAgdGhhdCBpbiBvbmUgY29ybmVyIGNhc2U6IGNvcGllZCBibG9jayBy
ZWFsbG9jYXRpb24uIFRoZSBvbGQgYmxvY2sgd2lsbCBiZSBkZWxldGVkIGZyb20gb2xkCisgICAg
ICAgIHNwYWNlIGR1cmluZyB0aGUgcmVhbGxvYyBhbmQgYSBuZXcgYmxvY2sgd2lsbCBiZSBhbGxv
Y2F0ZWQgaW4gbmV3IHNwYWNlLiBJbiBvcmRlciBmb3IgdGhlCisgICAgICAgIEdDIHRvIGtub3cg
dGhhdCB0aGUgc2l6ZSBvZiBvbGQgc3BhY2UgYWN0dWFsbHkgc2hyYW5rLCB3ZSBuZWVkIGEgZmll
bGQgdG8gdGVsbCB1cyBob3cgbXVjaAorICAgICAgICBzdWNoIHNocmlua2FnZSBjb3VsZCBvY2N1
ci4gU2luY2UgdGhpcyBpcyBhIHZlcnkgZGlydHkgY29ybmVyIGNhc2UgYW5kIGl0IG9ubHkgd29y
a3MgZm9yCisgICAgICAgIHZlcnkgcGFydGljdWxhciByZWFzb25zIGFyaXNpbmcgZnJvbSB0aGUg
c3BlY2lhbCBwcm9wZXJ0aWVzIG9mIGNvcGllZCBzcGFjZSAoc2luZ2xlIG93bmVyLAorICAgICAg
ICBhbmQgdGhlIHJlYWxsb2MgaXMgdXNlZCBpbiBwbGFjZXMgd2hlcmUgdGhlIGNvbXBpbGVyIGFs
cmVhZHkga25vd3MgdGhhdCBpdCBjYW5ub3QgcmVnaXN0ZXIKKyAgICAgICAgYWxsb2NhdGUgYSBw
b2ludGVyIHRvIHRoZSBvbGQgYmxvY2spLCBJIG9wdGVkIGZvciBhbiBlcXVhbGx5IGRpcnR5IHNo
cmlua2FnZSBjb3VudGVyCisgICAgICAgIGRldm90ZWQganVzdCB0byB0aGlzIGNhc2UuIEl0J3Mg
Y2FsbGVkIGJ5dGVzUmVtb3ZlZEZyb21PbGRTcGFjZUR1ZVRvUmVhbGxvY2F0aW9uLgorCisgICAg
ICAgICogaGVhcC9Db3BpZWRTcGFjZS5jcHA6CisgICAgICAgIChKU0M6OkNvcGllZFNwYWNlOjpD
b3BpZWRTcGFjZSk6IEluaXRpYWxpemUgdGhlIGRpcnR5IHNocmlua2FnZSBjb3VudGVyLgorICAg
ICAgICAoSlNDOjpDb3BpZWRTcGFjZTo6dHJ5UmVhbGxvY2F0ZU92ZXJzaXplKTogQnVtcCB0aGUg
ZGlydHkgc2hyaW5rYWdlIGNvdW50ZXIuCisgICAgICAgICogaGVhcC9Db3BpZWRTcGFjZS5oOgor
ICAgICAgICAoSlNDOjpDb3BpZWRTcGFjZTo6dGFrZUJ5dGVzUmVtb3ZlZEZyb21PbGRTcGFjZUR1
ZVRvUmVhbGxvY2F0aW9uKTogU3dhcCBvdXQgdGhlIGNvdW50ZXIuIFVzZWQgYnkgdGhlIEdDIHdo
ZW4gaXQgZG9lcyBpdHMgYWNjb3VudGluZy4KKyAgICAgICAgKiBoZWFwL0hlYXAuY3BwOgorICAg
ICAgICAoSlNDOjpIZWFwOjp1cGRhdGVPYmplY3RDb3VudHMpOiBVc2UgdGhlIGRpcnR5IHNocmlu
a2FnZSBjb3VudGVyIHRvIGdvb2QgZWZmZWN0LiBBbHNvLCBtYWtlIHRoaXMgY29kZSBsZXNzIGNv
bmZ1c2luZy4KKyAgICAgICAgKiBoZWFwL1Nsb3RWaXNpdG9ySW5saW5lcy5oOgorICAgICAgICAo
SlNDOjpTbG90VmlzaXRvcjo6Y29weUxhdGVyKTogVGhlIGVhcmx5IHJldHVybiBmb3IgaXNPdmVy
c2l6ZSgpIHdhcyB0aGUgYnVnLiBXZSBzdGlsbCBuZWVkIHRvIHJlcG9ydCB0aGVzZSBieXRlcyBh
cyBsaXZlLiBPdGhlcndpc2UgdGhlIEdDIGRvZXNuJ3Qga25vdyB0aGF0IGl0IG93bnMgdGhpcyBt
ZW1vcnkuCisgICAgICAgICoganNjLmNwcDogQWRkIHNpemUgbWVhc3VyaW5nIGhvb2tzIHRvIHdy
aXRlIHRoZSBsYXJnZWlzaCB0ZXN0LgorICAgICAgICAoR2xvYmFsT2JqZWN0OjpmaW5pc2hDcmVh
dGlvbik6CisgICAgICAgIChmdW5jdGlvbkdDQW5kU3dlZXApOgorICAgICAgICAoZnVuY3Rpb25G
dWxsR0MpOgorICAgICAgICAoZnVuY3Rpb25FZGVuR0MpOgorICAgICAgICAoZnVuY3Rpb25IZWFw
U2l6ZSk6CisgICAgICAgICogdGVzdHMvc3RyZXNzL25ldy1hcnJheS1zdG9yYWdlLWFycmF5LXdp
dGgtc2l6ZS5qczogRml4IHRoaXMgc28gdGhhdCBpdCBhY3R1YWxseSBhbGxvY2F0ZXMgQXJyYXlT
dG9yYWdlIGFycmF5cyBhbmQgdGVzdHMgdGhlIHRoaW5nIGl0IHdhcyBzdXBwb3NlZCB0byB0ZXN0
LgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9uZXctbGFyZ2Vpc2gtY29udGlndW91cy1hcnJheS13
aXRoLXNpemUuanM6IEFkZGVkLiBUaGlzIHRlc3RzIHdoYXQgdGhlIG90aGVyIHRlc3QgYWNjaWRl
bnRhbGx5IHN0YXJ0ZWQgdGVzdGluZywgYnV0IGRvZXMgc28gd2l0aG91dCBydW5uaW5nIHlvdXIg
c3lzdGVtIG91dCBvZiBtZW1vcnkuCisgICAgICAgIChmb28pOgorICAgICAgICAodGVzdCk6CisK
IDIwMTUtMDUtMDcgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMTkzMTcxNDA+IFtYY29kZV0gUmVtb3ZlIHVzYWdlIG9mIEFzcGVuRmFt
aWx5LnhjY29uZmlnIGluIFNvdXJjZS8KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2Mu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lv
biAxODM4NzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNDQ3LDYgKzQ0Nyw3IEBAIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxM
IGZ1bmMKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uR0NBbmRT
d2VlcChFeGVjU3RhdGUqKTsKIHN0YXRpYyBFbmNvZGVkSlNWYWx1ZSBKU0NfSE9TVF9DQUxMIGZ1
bmN0aW9uRnVsbEdDKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZnVuY3Rpb25FZGVuR0MoRXhlY1N0YXRlKik7CitzdGF0aWMgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkhlYXBTaXplKEV4ZWNTdGF0ZSopOwogc3RhdGljIEVuY29k
ZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25EZWxldGVBbGxDb21waWxlZENvZGUoRXhl
Y1N0YXRlKik7CiAjaWZuZGVmIE5ERUJVRwogc3RhdGljIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NU
X0NBTEwgZnVuY3Rpb25SZWxlYXNlRXhlY3V0YWJsZU1lbW9yeShFeGVjU3RhdGUqKTsKQEAgLTU4
NSw2ICs1ODYsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiZ2MiLCBm
dW5jdGlvbkdDQW5kU3dlZXAsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImZ1bGxHQyIs
IGZ1bmN0aW9uRnVsbEdDLCAwKTsKICAgICAgICAgYWRkRnVuY3Rpb24odm0sICJlZGVuR0MiLCBm
dW5jdGlvbkVkZW5HQywgMCk7CisgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiZ2NIZWFwU2l6ZSIs
IGZ1bmN0aW9uSGVhcFNpemUsIDApOwogICAgICAgICBhZGRGdW5jdGlvbih2bSwgImRlbGV0ZUFs
bENvbXBpbGVkQ29kZSIsIGZ1bmN0aW9uRGVsZXRlQWxsQ29tcGlsZWRDb2RlLCAwKTsKICNpZm5k
ZWYgTkRFQlVHCiAgICAgICAgIGFkZEZ1bmN0aW9uKHZtLCAiZHVtcENhbGxGcmFtZSIsIGZ1bmN0
aW9uRHVtcENhbGxGcmFtZSwgMCk7CkBAIC04MzEsMjEgKzgzMywyNyBAQCBFbmNvZGVkSlNWYWx1
ZSBKU0NfSE9TVF9DQUxMIGZ1bmN0aW9uR0NBCiB7CiAgICAgSlNMb2NrSG9sZGVyIGxvY2soZXhl
Yyk7CiAgICAgZXhlYy0+aGVhcCgpLT5jb2xsZWN0QWxsR2FyYmFnZSgpOwotICAgIHJldHVybiBK
U1ZhbHVlOjplbmNvZGUoanNVbmRlZmluZWQoKSk7CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc051bWJlcihleGVjLT5oZWFwKCktPnNpemVBZnRlckxhc3RGdWxsQ29sbGVjdGlvbigpKSk7
CiB9CiAKIEVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwgZnVuY3Rpb25GdWxsR0MoRXhlY1N0
YXRlKiBleGVjKQogewogICAgIEpTTG9ja0hvbGRlciBsb2NrKGV4ZWMpOwogICAgIGV4ZWMtPmhl
YXAoKS0+Y29sbGVjdChGdWxsQ29sbGVjdGlvbik7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29k
ZShqc1VuZGVmaW5lZCgpKTsKKyAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGV4
ZWMtPmhlYXAoKS0+c2l6ZUFmdGVyTGFzdEZ1bGxDb2xsZWN0aW9uKCkpKTsKIH0KIAogRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBmdW5jdGlvbkVkZW5HQyhFeGVjU3RhdGUqIGV4ZWMpCiB7
CiAgICAgSlNMb2NrSG9sZGVyIGxvY2soZXhlYyk7CiAgICAgZXhlYy0+aGVhcCgpLT5jb2xsZWN0
KEVkZW5Db2xsZWN0aW9uKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKGpzVW5kZWZpbmVk
KCkpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIoZXhlYy0+aGVhcCgpLT5z
aXplQWZ0ZXJMYXN0RWRlbkNvbGxlY3Rpb24oKSkpOworfQorCitFbmNvZGVkSlNWYWx1ZSBKU0Nf
SE9TVF9DQUxMIGZ1bmN0aW9uSGVhcFNpemUoRXhlY1N0YXRlKiBleGVjKQoreworICAgIEpTTG9j
a0hvbGRlciBsb2NrKGV4ZWMpOworICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNOdW1iZXIo
ZXhlYy0+aGVhcCgpLT5zaXplKCkpKTsKIH0KIAogRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBmdW5jdGlvbkRlbGV0ZUFsbENvbXBpbGVkQ29kZShFeGVjU3RhdGUqIGV4ZWMpCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db3BpZWRTcGFjZS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29waWVkU3BhY2UuY3BwCShyZXZpc2lvbiAxODM4
NzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db3BpZWRTcGFjZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAgQ29waWVkU3BhY2U6OkNvcGllZFNwYWNlKEhlYXAq
IGhlYXApCiAgICAgLCBtX2luQ29weWluZ1BoYXNlKGZhbHNlKQogICAgICwgbV9zaG91bGREb0Nv
cHlQaGFzZShmYWxzZSkKICAgICAsIG1fbnVtYmVyT2ZMb2FuZWRCbG9ja3MoMCkKKyAgICAsIG1f
Ynl0ZXNSZW1vdmVkRnJvbU9sZFNwYWNlRHVlVG9SZWFsbG9jYXRpb24oMCkKIHsKIH0KIApAQCAt
MTU1LDkgKzE1NiwxMCBAQCBDaGVja2VkQm9vbGVhbiBDb3BpZWRTcGFjZTo6dHJ5UmVhbGxvY2F0
CiAKICAgICBDb3BpZWRCbG9jayogb2xkQmxvY2sgPSBDb3BpZWRTcGFjZTo6YmxvY2tGb3Iob2xk
UHRyKTsKICAgICBpZiAob2xkQmxvY2stPmlzT3ZlcnNpemUoKSkgewotICAgICAgICBpZiAob2xk
QmxvY2stPmlzT2xkKCkpCisgICAgICAgIGlmIChvbGRCbG9jay0+aXNPbGQoKSkgeworICAgICAg
ICAgICAgbV9ieXRlc1JlbW92ZWRGcm9tT2xkU3BhY2VEdWVUb1JlYWxsb2NhdGlvbiArPSBvbGRC
bG9jay0+c2l6ZSgpOwogICAgICAgICAgICAgbV9vbGRHZW4ub3ZlcnNpemVCbG9ja3MucmVtb3Zl
KG9sZEJsb2NrKTsKLSAgICAgICAgZWxzZQorICAgICAgICB9IGVsc2UKICAgICAgICAgICAgIG1f
bmV3R2VuLm92ZXJzaXplQmxvY2tzLnJlbW92ZShvbGRCbG9jayk7CiAgICAgICAgIG1fYmxvY2tT
ZXQucmVtb3ZlKG9sZEJsb2NrKTsKICAgICAgICAgQ29waWVkQmxvY2s6OmRlc3Ryb3kob2xkQmxv
Y2spOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvQ29waWVkU3BhY2UuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db3BpZWRTcGFjZS5oCShyZXZp
c2lvbiAxODM4NzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaGVhcC9Db3BpZWRTcGFjZS5o
CSh3b3JraW5nIGNvcHkpCkBAIC04Niw2ICs4NiwxMyBAQCBwdWJsaWM6CiAgICAgc3RhdGljIENv
cGllZEJsb2NrKiBibG9ja0Zvcih2b2lkKik7CiAKICAgICBIZWFwKiBoZWFwKCkgY29uc3QgeyBy
ZXR1cm4gbV9oZWFwOyB9CisgICAgCisgICAgc2l6ZV90IHRha2VCeXRlc1JlbW92ZWRGcm9tT2xk
U3BhY2VEdWVUb1JlYWxsb2NhdGlvbigpCisgICAgeworICAgICAgICBzaXplX3QgcmVzdWx0ID0g
MDsKKyAgICAgICAgc3RkOjpzd2FwKG1fYnl0ZXNSZW1vdmVkRnJvbU9sZFNwYWNlRHVlVG9SZWFs
bG9jYXRpb24sIHJlc3VsdCk7CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfQogCiBwcml2
YXRlOgogICAgIHN0YXRpYyBib29sIGlzT3ZlcnNpemUoc2l6ZV90KTsKQEAgLTEzNSw2ICsxNDIs
OCBAQCBwcml2YXRlOgogICAgIE11dGV4IG1fbG9hbmVkQmxvY2tzTG9jazsgCiAgICAgVGhyZWFk
Q29uZGl0aW9uIG1fbG9hbmVkQmxvY2tzQ29uZGl0aW9uOwogICAgIHNpemVfdCBtX251bWJlck9m
TG9hbmVkQmxvY2tzOworICAgIAorICAgIHNpemVfdCBtX2J5dGVzUmVtb3ZlZEZyb21PbGRTcGFj
ZUR1ZVRvUmVhbGxvY2F0aW9uOwogCiAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBzX21heEFsbG9j
YXRpb25TaXplID0gQ29waWVkQmxvY2s6OmJsb2NrU2l6ZSAvIDI7CiAgICAgc3RhdGljIGNvbnN0
IHNpemVfdCBzX2luaXRpYWxCbG9ja051bSA9IDE2OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2hlYXAvSGVhcC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hl
YXAvSGVhcC5jcHAJKHJldmlzaW9uIDE4Mzg3MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL0hlYXAuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MTYsMTUgKzgxNiwxOCBAQCB2b2lkIEhl
YXA6OnVwZGF0ZU9iamVjdENvdW50cyhkb3VibGUgZ2NTCiAjZW5kaWYKICAgICAgICAgZGF0YUxv
Z0YoIlxuTnVtYmVyIG9mIGxpdmUgT2JqZWN0cyBhZnRlciBHQyAlbHUsIHRvb2sgJS42ZiBzZWNz
XG4iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPih2aXNpdENvdW50KSwgV1RGOjptb25vdG9u
aWNhbGx5SW5jcmVhc2luZ1RpbWUoKSAtIGdjU3RhcnRUaW1lKTsKICAgICB9Ci0KLSAgICBpZiAo
bV9vcGVyYXRpb25JblByb2dyZXNzID09IEVkZW5Db2xsZWN0aW9uKSB7Ci0gICAgICAgIG1fdG90
YWxCeXRlc1Zpc2l0ZWQgKz0gbV9zbG90VmlzaXRvci5ieXRlc1Zpc2l0ZWQoKTsKLSAgICAgICAg
bV90b3RhbEJ5dGVzQ29waWVkICs9IG1fc2xvdFZpc2l0b3IuYnl0ZXNDb3BpZWQoKTsKLSAgICB9
IGVsc2UgewotICAgICAgICBBU1NFUlQobV9vcGVyYXRpb25JblByb2dyZXNzID09IEZ1bGxDb2xs
ZWN0aW9uKTsKLSAgICAgICAgbV90b3RhbEJ5dGVzVmlzaXRlZCA9IG1fc2xvdFZpc2l0b3IuYnl0
ZXNWaXNpdGVkKCk7Ci0gICAgICAgIG1fdG90YWxCeXRlc0NvcGllZCA9IG1fc2xvdFZpc2l0b3Iu
Ynl0ZXNDb3BpZWQoKTsKLSAgICB9CisgICAgCisgICAgc2l6ZV90IGJ5dGVzUmVtb3ZlZEZyb21P
bGRTcGFjZUR1ZVRvUmVhbGxvY2F0aW9uID0KKyAgICAgICAgbV9zdG9yYWdlU3BhY2UudGFrZUJ5
dGVzUmVtb3ZlZEZyb21PbGRTcGFjZUR1ZVRvUmVhbGxvY2F0aW9uKCk7CisgICAgCisgICAgaWYg
KG1fb3BlcmF0aW9uSW5Qcm9ncmVzcyA9PSBGdWxsQ29sbGVjdGlvbikgeworICAgICAgICBtX3Rv
dGFsQnl0ZXNWaXNpdGVkID0gMDsKKyAgICAgICAgbV90b3RhbEJ5dGVzQ29waWVkID0gMDsKKyAg
ICB9IGVsc2UKKyAgICAgICAgbV90b3RhbEJ5dGVzQ29waWVkIC09IGJ5dGVzUmVtb3ZlZEZyb21P
bGRTcGFjZUR1ZVRvUmVhbGxvY2F0aW9uOworICAgIAorICAgIG1fdG90YWxCeXRlc1Zpc2l0ZWQg
Kz0gbV9zbG90VmlzaXRvci5ieXRlc1Zpc2l0ZWQoKTsKKyAgICBtX3RvdGFsQnl0ZXNDb3BpZWQg
Kz0gbV9zbG90VmlzaXRvci5ieXRlc0NvcGllZCgpOwogI2lmIEVOQUJMRShQQVJBTExFTF9HQykK
ICAgICBtX3RvdGFsQnl0ZXNWaXNpdGVkICs9IG1fc2hhcmVkRGF0YS5jaGlsZEJ5dGVzVmlzaXRl
ZCgpOwogICAgIG1fdG90YWxCeXRlc0NvcGllZCArPSBtX3NoYXJlZERhdGEuY2hpbGRCeXRlc0Nv
cGllZCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0b3JJbmxp
bmVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2hlYXAvU2xvdFZpc2l0
b3JJbmxpbmVzLmgJKHJldmlzaW9uIDE4Mzg3MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9o
ZWFwL1Nsb3RWaXNpdG9ySW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMzksOCArMjM5LDgg
QEAgaW5saW5lIHZvaWQgU2xvdFZpc2l0b3I6OmNvcHlMYXRlcihKU0NlbAogICAgIEFTU0VSVChi
eXRlcyk7CiAgICAgQ29waWVkQmxvY2sqIGJsb2NrID0gQ29waWVkU3BhY2U6OmJsb2NrRm9yKHB0
cik7CiAgICAgaWYgKGJsb2NrLT5pc092ZXJzaXplKCkpIHsKKyAgICAgICAgQVNTRVJUKGJ5dGVz
ID09IGJsb2NrLT5zaXplKCkpOwogICAgICAgICBtX3NoYXJlZC5tX2NvcGllZFNwYWNlLT5waW4o
YmxvY2spOwotICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgQVNTRVJUKGhlYXAoKS0+bV9z
dG9yYWdlU3BhY2UuY29udGFpbnMoYmxvY2spKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvbmV3LWFycmF5LXN0b3JhZ2UtYXJyYXktd2l0aC1zaXplLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvbmV3LWFycmF5LXN0
b3JhZ2UtYXJyYXktd2l0aC1zaXplLmpzCShyZXZpc2lvbiAxODM4NzIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL25ldy1hcnJheS1zdG9yYWdlLWFycmF5LXdpdGgtc2l6
ZS5qcwkod29ya2luZyBjb3B5KQpAQCAtMSwxMiArMSwxNSBAQAotLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDYwOQotLy9AIHNraXAKLQogZnVuY3Rpb24gZm9v
KHgpIHsKICAgICByZXR1cm4gbmV3IEFycmF5KHgpOwogfQogCiBub0lubGluZShmb28pOwogCisv
LyBXYXJtIHVwIHVwIHRvIGNyZWF0ZSBhcnJheSBzdG9yYWdlLgorZm9yICh2YXIgaSA9IDA7IGkg
PCAxMDAwMDsgKytpKSB7CisgICAgdmFyIGFycmF5ID0gZm9vKDEwKTsKKyAgICBhcnJheS5fX2Rl
ZmluZVNldHRlcl9fKDAsIGZ1bmN0aW9uKHYpIHsgfSk7Cit9CisKIGZ1bmN0aW9uIHRlc3Qoc2l6
ZSkgewogICAgIHZhciByZXN1bHQgPSBmb28oc2l6ZSk7CiAgICAgaWYgKHJlc3VsdC5sZW5ndGgg
IT0gc2l6ZSkKQEAgLTIyLDUgKzI1LDUgQEAgZnVuY3Rpb24gdGVzdChzaXplKSB7CiB9CiAKIGZv
ciAodmFyIGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKLSAgICB0ZXN0KDEwMDAwMDApOworICAg
IHRlc3QoMTApOwogfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9u
ZXctbGFyZ2Vpc2gtY29udGlndW91cy1hcnJheS13aXRoLXNpemUuanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9uZXctbGFyZ2Vpc2gtY29udGlndW91
cy1hcnJheS13aXRoLXNpemUuanMJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL25ldy1sYXJnZWlzaC1jb250aWd1b3VzLWFycmF5LXdpdGgtc2l6ZS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ1IEBACisvLyBXZSBvbmx5IG5lZWQgb25lIHJ1
biBvZiB0aGlzIHdpdGggYW55IEdDIG9yIEpJVCBzdHJhdGVneS4gVGhpcyB0ZXN0IGlzIG5vdCBw
YXJ0aWN1bGFybHkgZmFzdC4KKy8vIFVuZm9ydHVuYXRlbHksIGl0IG5lZWRzIHRvIHJ1biBmb3Ig
YSB3aGlsZSB0byB0ZXN0IHRoZSB0aGluZyBpdCdzIHRlc3RpbmcuCisvL0Agc2xvdyEKKy8vQCBy
dW5EZWZhdWx0CisKK2Z1bmN0aW9uIGZvbyh4KSB7CisgICAgcmV0dXJuIG5ldyBBcnJheSh4KTsK
K30KKworbm9JbmxpbmUoZm9vKTsKKworZnVuY3Rpb24gdGVzdChzaXplKSB7CisgICAgdmFyIHJl
c3VsdCA9IGZvbyhzaXplKTsKKyAgICBpZiAocmVzdWx0Lmxlbmd0aCAhPSBzaXplKQorICAgICAg
ICB0aHJvdyAiRXJyb3I6IGJhZCByZXN1bHQ6ICIgKyByZXN1bHQ7CisgICAgdmFyIHNhd1RoaW5n
cyA9IGZhbHNlOworICAgIGZvciAodmFyIHMgaW4gcmVzdWx0KQorICAgICAgICBzYXdUaGluZ3Mg
PSB0cnVlOworICAgIGlmIChzYXdUaGluZ3MpCisgICAgICAgIHRocm93ICJFcnJvcjogYXJyYXkg
aXMgaW4gYmFkIHN0YXRlOiAiICsgcmVzdWx0OworICAgIHJlc3VsdFswXSA9ICI0Mi41IjsKKyAg
ICBpZiAocmVzdWx0WzBdICE9ICI0Mi41IikKKyAgICAgICAgdGhyb3cgIkVycm9yOiBhcnJheSBp
cyBpbiB3ZWlyZCBzdGF0ZTogIiArIHJlc3VsdDsKK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCA0
MDAwMDsgKytpKSB7CisgICAgLy8gVGhlIHRlc3Qgd2FzIHdyaXR0ZW4gd2hlbiB3ZSBmb3VuZCB0
aGF0IGxhcmdlIGFycmF5IGFsbG9jYXRpb25zIHdlcmVuJ3QgYmVpbmcgYWNjb3VudGVkIGZvcgor
ICAgIC8vIGluIHRoYXQgcGFydCBvZiB0aGUgR0MncyBhY2NvdW50aW5nIHRoYXQgZGV0ZXJtaW5l
ZCB0aGUgR0MgdHJpZ2dlci4gQ29uc2VxdWVudGx5LCB0aGUgR0MKKyAgICAvLyB3b3VsZCBydW4g
dG9vIGluZnJlcXVlbnRseSBpbiB0aGlzIGxvb3AgYW5kIHdlIHdvdWxkIHVzZSBhbiBhYnN1cmQg
YW1vdW50IG9mIG1lbW9yeSB3aGVuIHRoaXMKKyAgICAvLyBsb29wIGV4aXRlZC4KKyAgICB0ZXN0
KDUwMDAwKTsKK30KKworLy8gTGFzdCB0aW1lIEkgdGVzdGVkLCB0aGUgaGVhcCBzaG91bGQgYmUg
NTI1MjA5MTQgYmVmb3JlIGFuZCA1MDEyMDE0NiBhZnRlci4gSSBkb24ndCB3YW50IHRvCisvLyBl
bmZvcmNlIGV4YWN0bHkgdGhhdC4gSWYgeW91IHJlZ3Jlc3MgdGhlIGFjY291bnRpbmcgY29kZSwg
dGhlIEdDIGhlYXAgc2l6ZSBhdCB0aGlzIHBvaW50IHdpbGwKKy8vIGJlIG11Y2ggbW9yZSB0aGFu
IHRoYXQuCit2YXIgcmVzdWx0ID0gZ2NIZWFwU2l6ZSgpOworaWYgKHJlc3VsdCA+IDEwMDAwMDAw
MCkKKyAgICB0aHJvdyAiRXJyb3I6IGhlYXAgdG9vIGJpZyBiZWZvcmUgZm9yY2VkIEdDOiAiICsg
cmVzdWx0OworCisvLyBEbyBhIGZpbmFsIGNoZWNrIGFmdGVyIEdDLCBqdXN0IGZvciBzYW5pdHku
CitnYygpOworcmVzdWx0ID0gZ2NIZWFwU2l6ZSgpOworaWYgKHJlc3VsdCA+IDEwMDAwMDAwMCkK
KyAgICB0aHJvdyAiRXJyb3I6IGhlYXAgdG9vIGJpZyBhZnRlciBmb3JjZWQgR0M6ICIgKyByZXN1
bHQ7CkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAxODM5MzIpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAg
LTEsMyArMSwxNyBAQAorMjAxNS0wNS0wNyAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29t
PgorCisgICAgICAgIEdDIGhhcyB0cm91YmxlIHdpdGggcGF0aG9sb2dpY2FsbHkgbGFyZ2UgYXJy
YXkgYWxsb2NhdGlvbnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE0NDYwOQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAg
ICAgICAKKyAgICAgICAgQWRkIGEgLS1maWx0ZXIgb3B0aW9uIHRoYXQgcmVzdHJpY3RzIHRoZSBz
ZXQgb2YgdGVzdHMgd2UgcnVuLiBJIG5lZWRlZCBpdCB0byBmaXggdGhpcyBidWcKKyAgICAgICAg
YW5kIGl0J3MgYSBmcmVxdWVudGx5IHJlcXVlc3RlZCBmZWF0dXJlLgorCisgICAgICAgICogU2Ny
aXB0cy9ydW4tamF2YXNjcmlwdGNvcmUtdGVzdHM6CisgICAgICAgIChydW5KU0NTdHJlc3NUZXN0
cyk6CisgICAgICAgICogU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0czoKKwogMjAxNS0wNS0w
NiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBpT1MgYnVp
bGQgZml4IGF0dGVtcHQKSW5kZXg6IFRvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRl
c3RzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1NjcmlwdHMvcnVuLWphdmFzY3JpcHRjb3JlLXRlc3Rz
CShyZXZpc2lvbiAxODM4NzIpCisrKyBUb29scy9TY3JpcHRzL3J1bi1qYXZhc2NyaXB0Y29yZS10
ZXN0cwkod29ya2luZyBjb3B5KQpAQCAtNjYsNiArNjYsNyBAQCBteSAkcHJvZ3JhbU5hbWUgPSBi
YXNlbmFtZSgkMCk7CiBteSAkYnVpbGRKU0NEZWZhdWx0ID0gJGJ1aWxkSlNDID8gIndpbGwgY2hl
Y2siIDogIndpbGwgbm90IGNoZWNrIjsKIG15ICR0ZXN0YXBpRGVmYXVsdCA9ICRydW5UZXN0QVBJ
ID8gIndpbGwgcnVuIiA6ICJ3aWxsIG5vdCBydW4iOwogbXkgJGpzY1N0cmVzc0RlZmF1bHQgPSAk
cnVuSlNDU3RyZXNzID8gIndpbGwgcnVuIiA6ICIgd2lsbCBub3QgcnVuIjsKK215ICRmaWx0ZXI7
CiBteSAkdXNhZ2UgPSA8PEVPRjsKIFVzYWdlOiAkcHJvZ3JhbU5hbWUgW29wdGlvbnNdIFtvcHRp
b25zIHRvIHBhc3MgdG8gYnVpbGQgc3lzdGVtXQogICAtLWhlbHAgICAgICAgICAgICAgICAgICAg
ICAgICBTaG93IHRoaXMgaGVscCBtZXNzYWdlCkBAIC04OSw2ICs5MCw3IEBAIFVzYWdlOiAkcHJv
Z3JhbU5hbWUgW29wdGlvbnNdIFtvcHRpb25zIHQKICAgLS1zaGVsbC1ydW5uZXIgICAgICAgICAg
ICAgICAgVXNlcyB0aGUgc2hlbGwtYmFzZWQgdGVzdCBydW5uZXIgaW5zdGVhZCBvZiB0aGUgZGVm
YXVsdCBtYWtlLWJhc2VkIHJ1bm5lci4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
SW4gZ2VuZXJhbCB0aGUgc2hlbGwgcnVubmVyIGlzIHNsb3dlciB0aGFuIHRoZSBtYWtlIHJ1bm5l
ci4KICAgLS1tYWtlLXJ1bm5lciAgICAgICAgICAgICAgICAgVXNlcyB0aGUgZmFzdGVyIG1ha2Ut
YmFzZWQgcnVubmVyLgorICAtLWZpbHRlciAgICAgICAgICAgICAgICAgICAgICBPbmx5IHJ1biB0
ZXN0cyB3aG9zZSBuYW1lIG1hdGNoZXMgdGhlIGdpdmVuIHJlZ3VsYXIgZXhwcmVzc2lvbi4KIAog
RU9GCiAKQEAgLTEwNiw2ICsxMDgsNyBAQCBHZXRPcHRpb25zKAogICAgICdjaGlsZC1wcm9jZXNz
ZXM9cycgPT4gXCRjaGlsZFByb2Nlc3NlcywKICAgICAnc2hlbGwtcnVubmVyJyA9PiBcJHNoZWxs
UnVubmVyLAogICAgICdtYWtlLXJ1bm5lcicgPT4gXCRtYWtlUnVubmVyLAorICAgICdmaWx0ZXI9
cycgPT4gXCRmaWx0ZXIsCiAgICAgJ2hlbHAnID0+IFwkc2hvd0hlbHAKICk7CiAKQEAgLTMxMyw2
ICszMTYsMTEgQEAgc3ViIHJ1bkpTQ1N0cmVzc1Rlc3RzCiAgICAgaWYgKCRtYWtlUnVubmVyKSB7
CiAgICAgICAgIHB1c2goQGpzY1N0cmVzc0RyaXZlckNtZCwgIi0tbWFrZS1ydW5uZXIiKTsKICAg
ICB9CisgICAgCisgICAgaWYgKCRmaWx0ZXIpIHsKKyAgICAgICAgcHVzaChAanNjU3RyZXNzRHJp
dmVyQ21kLCAiLS1maWx0ZXIiKTsKKyAgICAgICAgcHVzaChAanNjU3RyZXNzRHJpdmVyQ21kLCAk
ZmlsdGVyKTsKKyAgICB9CiAKICAgICAjIEVuZCBvcHRpb24gcHJvY2Vzc2luZywgdGhlIHJlc3Qg
b2YgdGhlIGFyZ3VtZW50cyBhcmUgdGVzdHMKICAgICBwdXNoKEBqc2NTdHJlc3NEcml2ZXJDbWQs
ICItLSIpOwpJbmRleDogVG9vbHMvU2NyaXB0cy9ydW4tanNjLXN0cmVzcy10ZXN0cwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCShyZXZpc2lvbiAxODM4
NzIpCisrKyBUb29scy9TY3JpcHRzL3J1bi1qc2Mtc3RyZXNzLXRlc3RzCSh3b3JraW5nIGNvcHkp
CkBAIC0xMDUsNiArMTA1LDcgQEAgJHJlbW90ZVBvcnQgPSBuaWwKICRyZW1vdGVEaXJlY3Rvcnkg
PSBuaWwKICRhcmNoaXRlY3R1cmUgPSBuaWwKICRob3N0T1MgPSBuaWwKKyRmaWx0ZXIgPSBuaWwK
IAogCiBkZWYgdXNhZ2UKQEAgLTEzMCw2ICsxMzEsNyBAQCBkZWYgdXNhZ2UKICAgICBwdXRzICIt
LXJlbW90ZSAgICAgICAgICAgICAgICAgICAgU3BlY2lmeSBhIHJlbW90ZSBob3N0IG9uIHdoaWNo
IHRvIHJ1biB0ZXN0cyBmcm9tIGNvbW1hbmQgbGluZSBhcmd1bWVudC4iCiAgICAgcHV0cyAiLS1y
ZW1vdGUtY29uZmlnLWZpbGUgICAgICAgIFNwZWNpZnkgYSByZW1vdGUgaG9zdCBvbiB3aGljaCB0
byBydW4gdGVzdHMgZnJvbSBKU09OIGZpbGUuIgogICAgIHB1dHMgIi0tY2hpbGQtcHJvY2Vzc2Vz
ICAgICgtYykgICBTcGVjaWZ5IHRoZSBudW1iZXIgb2YgY2hpbGQgcHJvY2Vzc2VzLiIKKyAgICBw
dXRzICItLWZpbHRlciAgICAgICAgICAgICAgICAgICAgT25seSBydW4gdGVzdHMgd2hvc2UgbmFt
ZSBtYXRjaGVzIHRoZSBnaXZlbiByZWd1bGFyIGV4cHJlc3Npb24uIgogICAgIHB1dHMgIi0taGVs
cCAgICAgICAgICAgICAgICgtaCkgICBQcmludCB0aGlzIG1lc3NhZ2UuIgogICAgIGV4aXQgMQog
ZW5kCkBAIC0xNTIsNiArMTU0LDcgQEAgR2V0b3B0TG9uZy5uZXcoWyctLWhlbHAnLCAnLWgnLCBH
ZXRvcHRMbwogICAgICAgICAgICAgICAgWyctLXJlbW90ZScsIEdldG9wdExvbmc6OlJFUVVJUkVE
X0FSR1VNRU5UXSwKICAgICAgICAgICAgICAgIFsnLS1yZW1vdGUtY29uZmlnLWZpbGUnLCBHZXRv
cHRMb25nOjpSRVFVSVJFRF9BUkdVTUVOVF0sCiAgICAgICAgICAgICAgICBbJy0tY2hpbGQtcHJv
Y2Vzc2VzJywgJy1jJywgR2V0b3B0TG9uZzo6UkVRVUlSRURfQVJHVU1FTlRdLAorICAgICAgICAg
ICAgICAgWyctLWZpbHRlcicsIEdldG9wdExvbmc6OlJFUVVJUkVEX0FSR1VNRU5UXSwKICAgICAg
ICAgICAgICAgIFsnLS12ZXJib3NlJywgJy12JywgR2V0b3B0TG9uZzo6Tk9fQVJHVU1FTlRdKS5l
YWNoIHsKICAgICB8IG9wdCwgYXJnIHwKICAgICBjYXNlIG9wdApAQCAtMTkxLDYgKzE5NCw4IEBA
IEdldG9wdExvbmcubmV3KFsnLS1oZWxwJywgJy1oJywgR2V0b3B0TG8KICAgICAgICAgJHJlbW90
ZUNvbmZpZ0ZpbGUgPSBhcmcKICAgICB3aGVuICctLWNoaWxkLXByb2Nlc3NlcycKICAgICAgICAg
JG51bUNoaWxkUHJvY2Vzc2VzID0gYXJnLnRvX2kKKyAgICB3aGVuICctLWZpbHRlcicKKyAgICAg
ICAgJGZpbHRlciA9IFJlZ2V4cC5uZXcoYXJnKQogICAgIHdoZW4gJy0tYXJjaCcKICAgICAgICAg
JGFyY2hpdGVjdHVyZSA9IGFyZwogICAgIHdoZW4gJy0tb3MnCkBAIC01OTQsNyArNTk5LDExIEBA
IGVuZAogCiBkZWYgYWRkUnVuQ29tbWFuZChraW5kLCBjb21tYW5kLCBvdXRwdXRIYW5kbGVyLCBl
cnJvckhhbmRsZXIpCiAgICAgJGRpZEFkZFJ1bkNvbW1hbmQgPSB0cnVlCi0gICAgcGxhbiA9IFBs
YW4ubmV3KCRiZW5jaG1hcmtEaXJlY3RvcnksIGNvbW1hbmQsIGJhc2VPdXRwdXROYW1lKGtpbmQp
LCBvdXRwdXRIYW5kbGVyLCBlcnJvckhhbmRsZXIpCisgICAgbmFtZSA9IGJhc2VPdXRwdXROYW1l
KGtpbmQpCisgICAgaWYgJGZpbHRlciBhbmQgbmFtZSAhfiAkZmlsdGVyCisgICAgICAgIHJldHVy
bgorICAgIGVuZAorICAgIHBsYW4gPSBQbGFuLm5ldygkYmVuY2htYXJrRGlyZWN0b3J5LCBjb21t
YW5kLCBuYW1lLCBvdXRwdXRIYW5kbGVyLCBlcnJvckhhbmRsZXIpCiAgICAgaWYgJG51bUNoaWxk
UHJvY2Vzc2VzID4gMSBhbmQgJHJ1bkNvbW1hbmRPcHRpb25zWzppc1Nsb3ddCiAgICAgICAgICRy
dW5saXN0LnVuc2hpZnQgcGxhbgogICAgIGVsc2UK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>252756</attachid>
            <date>2015-05-08 17:17:52 -0700</date>
            <delta_ts>2015-05-11 12:41:42 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>2181</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg0MDIyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDE1LTA1LTA4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
Q1BTIHJldGhyZWFkaW5nIHBoYXNlJ3MgZmx1c2ggZGV0ZWN0b3IgZmx1c2hlcyB3YXkgdG9vIG1h
bnkgU2V0TG9jYWxzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDQ4MTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAg
ICAgCisgICAgICAgIEFmdGVyIHByb2JhYmx5IHVucmVsYXRlZCBjaGFuZ2VzLCB0aGlzIGV2ZW50
dWFsbHkgY2F1c2VkIHNvbWUgYXJndW1lbnRzIGVsaW1pbmF0aW9uIHRvIHN0b3AKKyAgICAgICAg
d29ya2luZyBiZWNhdXNlIGl0IHdvdWxkIGNhdXNlIG1vcmUgU2V0TG9jYWxzIHRvIHR1cm4gaW50
byBQdXRTdGFja3MuIEJ1dCBpdCB3YXMgYSBidWcgZm9yCisgICAgICAgIGEgbG9uZyB0aW1lLiBC
YXNpY2FsbHksIHdlIGRvbid0IHdhbnQgdGhlIGNoaWxkcmVuIG9mIGEgU2V0TG9jYWwgdG8gYmUg
Zmx1c2hlZC4gRmx1c2hpbmcgaXMKKyAgICAgICAgbWVhbnQgdG8gb25seSBhZmZlY3QgdGhlIFNl
dExvY2FsIGl0c2VsZi4KKyAgICAgICAgCisgICAgICAgIFRoaXMgaXMgYSBzcGVlZC11cCBvbiBP
Y3RhbmUvZWFybGV5LgorCisgICAgICAgICogZGZnL0RGR0NQU1JldGhyZWFkaW5nUGhhc2UuY3Bw
OgorICAgICAgICAoSlNDOjpERkc6OkNQU1JldGhyZWFkaW5nUGhhc2U6OmNvbXB1dGVJc0ZsdXNo
ZWQpOgorCiAyMDE1LTA1LTA4ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgog
CiAgICAgICAgIENyZWF0aW5nIGEgbGFyZ2UgTWFya2VkQmxvY2sgc29tZXRpbWVzIHJlc3VsdHMg
aW4gbW9yZSB0aGFuIG9uZSBjZWxsIGluIHRoZSBibG9jawpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdDUFNSZXRocmVhZGluZ1BoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NQU1JldGhyZWFkaW5nUGhhc2UuY3BwCShyZXZpc2lv
biAxODQwMTYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NQU1JldGhyZWFkaW5n
UGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00ODMsOCArNDgzLDIxIEBAIHByaXZhdGU6CiAg
ICAgICAgIH0KICAgICAgICAgd2hpbGUgKCFtX2ZsdXNoZWRMb2NhbE9wV29ya2xpc3QuaXNFbXB0
eSgpKSB7CiAgICAgICAgICAgICBOb2RlKiBub2RlID0gbV9mbHVzaGVkTG9jYWxPcFdvcmtsaXN0
LnRha2VMYXN0KCk7Ci0gICAgICAgICAgICBBU1NFUlQobm9kZS0+ZmxhZ3MoKSAmIE5vZGVJc0Zs
dXNoZWQpOwotICAgICAgICAgICAgREZHX05PREVfRE9fVE9fQ0hJTERSRU4obV9ncmFwaCwgbm9k
ZSwgYWRkRmx1c2hlZExvY2FsRWRnZSk7CisgICAgICAgICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkp
IHsKKyAgICAgICAgICAgIGNhc2UgU2V0TG9jYWw6CisgICAgICAgICAgICBjYXNlIFNldEFyZ3Vt
ZW50OgorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIAorICAgICAgICAg
ICAgY2FzZSBGbHVzaDoKKyAgICAgICAgICAgIGNhc2UgUGhpOgorICAgICAgICAgICAgICAgIEFT
U0VSVChub2RlLT5mbGFncygpICYgTm9kZUlzRmx1c2hlZCk7CisgICAgICAgICAgICAgICAgREZH
X05PREVfRE9fVE9fQ0hJTERSRU4obV9ncmFwaCwgbm9kZSwgYWRkRmx1c2hlZExvY2FsRWRnZSk7
CisgICAgICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAg
ICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgsIG5vZGUsICJJbnZhbGlkIG5vZGUgaW4gZmx1c2gg
Z3JhcGgiKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0KICAgICAgICAg
fQogICAgIH0KICAgICAK
</data>
<flag name="review"
          id="277599"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>