<?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>144376</bug_id>
          
          <creation_ts>2015-04-28 21:45:28 -0700</creation_ts>
          <short_desc>TypeOf should return SpecStringIdent and the DFG should know this</short_desc>
          <delta_ts>2015-04-29 08:57:50 -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>commit-queue</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>1089883</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-28 21:45:28 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089889</commentid>
    <comment_count>1</comment_count>
      <attachid>251926</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-28 22:01:34 -0700</bug_when>
    <thetext>Created attachment 251926
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089890</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-28 22:03:20 -0700</bug_when>
    <thetext>Attachment 251926 did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGAbstractValue.h:203:  The parameter name &quot;graph&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/dfg/DFGAbstractValue.h:203:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089893</commentid>
    <comment_count>3</comment_count>
      <attachid>251926</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-28 22:13:42 -0700</bug_when>
    <thetext>Comment on attachment 251926
the patch

Clearing r? for now.  Still testing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089897</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-28 22:58:00 -0700</bug_when>
    <thetext>This doesn&apos;t really speed anything up, yet.


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 (r183528)
&quot;TypeOfIdent&quot; at /Volumes/Data/pizlo/primary/OpenSource/WebKitBuild/Release/jsc (r183528)

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                TypeOfIdent                                    
SunSpider:
   3d-cube                                            5.1823+-0.1705            5.1368+-0.0998        
   3d-morph                                           5.8018+-0.1372     ?      5.9942+-0.6404        ? might be 1.0332x slower
   3d-raytrace                                        6.5859+-0.2106     ?      6.6189+-0.2311        ?
   access-binary-trees                                2.3406+-0.1998            2.2937+-0.1112          might be 1.0205x faster
   access-fannkuch                                    6.0337+-0.0866            5.9274+-0.0945          might be 1.0179x faster
   access-nbody                                       3.1799+-0.4799            3.0751+-0.3718          might be 1.0341x faster
   access-nsieve                                      3.5695+-0.2378            3.3781+-0.0816          might be 1.0567x faster
   bitops-3bit-bits-in-byte                           1.5625+-0.0564            1.5425+-0.0077          might be 1.0129x faster
   bitops-bits-in-byte                                3.3654+-0.1443            3.2948+-0.0359          might be 1.0214x faster
   bitops-bitwise-and                                 2.3787+-0.3270            2.1141+-0.0278          might be 1.1252x faster
   bitops-nsieve-bits                                 3.3383+-0.1395     ?      3.7441+-0.6417        ? might be 1.1216x slower
   controlflow-recursive                              2.2139+-0.0539     ?      2.2968+-0.1004        ? might be 1.0374x slower
   crypto-aes                                         4.5086+-0.3512            4.4307+-0.0779          might be 1.0176x faster
   crypto-md5                                         2.7984+-0.2226            2.7905+-0.1105        
   crypto-sha1                                        2.7325+-0.1827            2.5508+-0.1340          might be 1.0712x faster
   date-format-tofte                                  9.3282+-0.3817     ?      9.3887+-0.3847        ?
   date-format-xparb                                  5.7825+-0.1924     ?      6.0298+-0.6355        ? might be 1.0428x slower
   math-cordic                                        3.1092+-0.0275     ^      3.0225+-0.0169        ^ definitely 1.0287x faster
   math-partial-sums                                  5.4132+-0.6623            5.1397+-0.0859          might be 1.0532x faster
   math-spectral-norm                                 1.9539+-0.1227     ?      1.9762+-0.1011        ? might be 1.0114x slower
   regexp-dna                                         8.0592+-1.2279            7.9489+-1.2562          might be 1.0139x faster
   string-base64                                      5.1316+-0.6923     ?      5.3420+-0.7108        ? might be 1.0410x slower
   string-fasta                                       6.9233+-0.6888            6.7602+-0.2255          might be 1.0241x faster
   string-tagcloud                                    9.5901+-0.1150     ?      9.7108+-0.1914        ? might be 1.0126x slower
   string-unpack-code                                19.6253+-0.5105           19.5146+-0.6113        
   string-validate-input                              4.8958+-0.1425     ?      4.9664+-0.1871        ? might be 1.0144x slower

   &lt;arithmetic&gt;                                       5.2078+-0.0774            5.1919+-0.0778          might be 1.0031x faster

                                                        TipOfTree                TypeOfIdent                                    
LongSpider:
   3d-cube                                          867.0002+-5.5413          865.6763+-5.8172        
   3d-morph                                        1527.4375+-4.1002         1527.2702+-2.5649        
   3d-raytrace                                      738.7892+-3.8568     ^    730.1431+-4.7892        ^ definitely 1.0118x faster
   access-binary-trees                             1034.0420+-15.6061    ?   1037.7255+-11.1258       ?
   access-fannkuch                                  333.6356+-10.3702         331.9920+-15.2815       
   access-nbody                                     610.7345+-1.8536     ?    611.8720+-2.0506        ?
   access-nsieve                                    871.8826+-6.9861          855.8207+-11.8825         might be 1.0188x faster
   bitops-3bit-bits-in-byte                          44.6578+-1.6894           44.1963+-0.7550          might be 1.0104x faster
   bitops-bits-in-byte                              101.6250+-1.8821     ?    102.1388+-2.0274        ?
   bitops-nsieve-bits                               637.0878+-5.1656          634.3827+-3.7316        
   controlflow-recursive                            478.9915+-1.9160     !    482.6958+-0.4793        ! definitely 1.0077x slower
   crypto-aes                                       709.2376+-2.7877          708.0864+-6.0420        
   crypto-md5                                       522.1709+-7.1591          514.8809+-7.5209          might be 1.0142x faster
   crypto-sha1                                      598.8978+-7.9516     ?    603.6561+-3.6721        ?
   date-format-tofte                                752.4993+-13.6685         738.8432+-8.4724          might be 1.0185x faster
   date-format-xparb                                815.8718+-70.3023         811.0670+-71.6040       
   math-cordic                                      590.3120+-0.9714          590.2647+-0.9709        
   math-partial-sums                                502.8905+-2.1893     ?    505.0651+-3.0349        ?
   math-spectral-norm                               566.1390+-3.2868     ?    566.1702+-5.8068        ?
   string-base64                                    379.0055+-4.3721     ?    382.7810+-5.2700        ?
   string-fasta                                     437.1093+-5.7572     ?    444.2509+-5.9173        ? might be 1.0163x slower
   string-tagcloud                                  216.3760+-1.3535     ?    218.2474+-2.6808        ?

   &lt;geometric&gt;                                      496.3994+-2.2161          495.8032+-2.6254          might be 1.0012x faster

                                                        TipOfTree                TypeOfIdent                                    
V8Spider:
   crypto                                            55.9926+-1.5771           55.3801+-2.6283          might be 1.0111x faster
   deltablue                                        100.6003+-4.1801           94.1418+-2.4684          might be 1.0686x faster
   earley-boyer                                      45.5793+-1.2300     ?     45.7830+-0.2089        ?
   raytrace                                          41.0012+-0.6714     ?     42.5452+-2.8781        ? might be 1.0377x slower
   regexp                                            81.3528+-1.4299           81.0123+-1.3489        
   richards                                          79.3742+-2.3913           79.2581+-1.2150        
   splay                                             40.4285+-1.8281           40.2681+-2.1904        

   &lt;geometric&gt;                                       59.8227+-0.6395           59.4192+-0.4541          might be 1.0068x faster

                                                        TipOfTree                TypeOfIdent                                    
Octane:
   encrypt                                           0.20431+-0.00226          0.20364+-0.00167       
   decrypt                                           3.55421+-0.01423    ?     4.12440+-1.41857       ? might be 1.1604x slower
   deltablue                                x2       0.20760+-0.00132          0.20759+-0.00123       
   earley                                            0.53900+-0.00287    ?     0.53925+-0.00464       ?
   boyer                                             6.65946+-0.02634          6.64036+-0.02229       
   navier-stokes                            x2       5.19091+-0.02643          5.18513+-0.01883       
   raytrace                                 x2       1.29958+-0.06137          1.25194+-0.05336         might be 1.0381x faster
   richards                                 x2       0.12204+-0.00162    ?     0.12286+-0.00076       ?
   splay                                    x2       0.39781+-0.00323    ?     0.39816+-0.00263       ?
   regexp                                   x2      31.90717+-0.57403         31.85903+-0.15207       
   pdfjs                                    x2      43.45185+-0.34074         43.20168+-0.17591       
   mandreel                                 x2      50.24668+-0.19305         50.22671+-0.41267       
   gbemu                                    x2      41.73083+-0.36314    ?    43.91614+-3.17621       ? might be 1.0524x slower
   closure                                           0.55226+-0.00208    ?     0.55252+-0.00290       ?
   jquery                                            7.02387+-0.03256    ?     7.03919+-0.04657       ?
   box2d                                    x2      12.26598+-0.13429         12.26598+-0.03193       
   zlib                                     x2     384.73676+-17.96184   ?   395.24406+-3.97994       ? might be 1.0273x slower
   typescript                               x2     828.39018+-3.69105        823.32996+-7.96244       

   &lt;geometric&gt;                                       6.69838+-0.02812    ?     6.73803+-0.06107       ? might be 1.0059x slower

                                                        TipOfTree                TypeOfIdent                                    
Kraken:
   ai-astar                                          272.843+-3.484            271.736+-1.595         
   audio-beat-detection                              106.647+-0.804      ?     108.178+-1.210         ? might be 1.0144x slower
   audio-dft                                         150.733+-3.385      ?     151.121+-3.911         ?
   audio-fft                                          83.900+-4.985      ?      89.154+-3.527         ? might be 1.0626x slower
   audio-oscillator                                  207.842+-2.008      ?     208.543+-1.952         ?
   imaging-darkroom                                  104.950+-2.357      ?     105.217+-1.691         ?
   imaging-desaturate                                 62.446+-0.458      ?      63.419+-1.544         ? might be 1.0156x slower
   imaging-gaussian-blur                             114.520+-2.878            112.564+-1.681           might be 1.0174x faster
   json-parse-financial                               45.973+-2.026             45.165+-1.787           might be 1.0179x faster
   json-stringify-tinderbox                           57.371+-2.066             56.434+-0.417           might be 1.0166x faster
   stanford-crypto-aes                                66.785+-2.982             65.201+-0.712           might be 1.0243x faster
   stanford-crypto-ccm                                56.495+-4.613      ?      57.038+-4.274         ?
   stanford-crypto-pbkdf2                            169.071+-2.461      ?     170.518+-2.886         ?
   stanford-crypto-sha256-iterative                   55.152+-1.289      ?      55.658+-1.185         ?

   &lt;arithmetic&gt;                                      111.052+-0.501      ?     111.425+-0.782         ? might be 1.0034x slower

                                                        TipOfTree                TypeOfIdent                                    
JSRegress:
   abs-boolean                                        2.6654+-0.1003            2.6014+-0.0162          might be 1.0246x faster
   adapt-to-double-divide                            16.7216+-0.2369     ?     16.8680+-0.3674        ?
   aliased-arguments-getbyval                         1.2972+-0.0620     ?      1.3511+-0.1473        ? might be 1.0415x slower
   allocate-big-object                                3.0939+-0.3944            3.0385+-0.2625          might be 1.0182x faster
   arguments-named-and-reflective                    13.0668+-0.9683           12.9106+-0.7896          might be 1.0121x faster
   arguments-out-of-bounds                           15.1100+-0.7906           14.9805+-0.4175        
   arguments-strict-mode                             12.1214+-0.9476           11.7131+-0.3785          might be 1.0349x faster
   arguments                                         10.3480+-0.3076     ?     10.5729+-0.2799        ? might be 1.0217x slower
   arity-mismatch-inlining                            0.8799+-0.0668            0.8458+-0.0249          might be 1.0403x faster
   array-access-polymorphic-structure                 7.1606+-0.9597     ?      7.2732+-1.0709        ? might be 1.0157x slower
   array-nonarray-polymorhpic-access                 35.3881+-2.4623           34.3447+-1.4207          might be 1.0304x faster
   array-prototype-every                             86.3308+-2.5206     ?     89.0981+-1.5468        ? might be 1.0321x slower
   array-prototype-forEach                           84.1677+-1.9212     ?     85.6954+-1.9472        ? might be 1.0182x slower
   array-prototype-map                               92.6484+-2.8633     ?     94.5031+-1.2337        ? might be 1.0200x slower
   array-prototype-some                              87.0063+-2.3009     ?     89.2866+-1.2701        ? might be 1.0262x slower
   array-splice-contiguous                           41.9799+-1.7887     ?     42.5687+-2.4288        ? might be 1.0140x slower
   array-with-double-add                              4.1285+-0.0594     ?      4.1858+-0.2661        ? might be 1.0139x slower
   array-with-double-increment                        3.3940+-0.3312            3.1827+-0.0203          might be 1.0664x faster
   array-with-double-mul-add                          5.0057+-0.0330     ?      5.2693+-0.4651        ? might be 1.0527x slower
   array-with-double-sum                              3.2607+-0.0323     ?      3.2761+-0.0528        ?
   array-with-int32-add-sub                           6.7976+-0.1512            6.6857+-0.0295          might be 1.0167x faster
   array-with-int32-or-double-sum                     3.3228+-0.0435     ?      3.4498+-0.4223        ? might be 1.0382x slower
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     33.9940+-2.3081     !     39.2804+-2.4357        ! definitely 1.1555x slower
   ArrayBuffer-DataView-alloc-long-lived             14.6494+-1.9022     ?     17.6593+-1.1360        ? might be 1.2055x slower
   ArrayBuffer-Int32Array-byteOffset                  3.8419+-0.0533     ?      4.1173+-0.5243        ? might be 1.0717x slower
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     34.1149+-1.4708           33.7807+-1.9496        
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     22.7331+-1.4132     ?     23.8073+-1.8912        ? might be 1.0473x slower
   ArrayBuffer-Int8Array-alloc-long-lived            14.8595+-1.8168           12.6080+-0.5027          might be 1.1786x faster
   ArrayBuffer-Int8Array-alloc                       10.8645+-0.2669     !     12.7894+-1.6535        ! definitely 1.1772x slower
   asmjs_bool_bug                                     7.6825+-0.0879     ?      7.7481+-0.2989        ?
   assign-custom-setter-polymorphic                   3.2456+-0.4166     ?      3.3527+-0.4497        ? might be 1.0330x slower
   assign-custom-setter                               4.5208+-0.7657     ?      4.5219+-0.2690        ?
   basic-set                                          8.6742+-0.4100            8.5118+-0.2607          might be 1.0191x faster
   big-int-mul                                        4.0531+-0.2245     ?      4.2019+-0.3536        ? might be 1.0367x slower
   boolean-test                                       3.0582+-0.0424     ?      3.1806+-0.3318        ? might be 1.0400x slower
   branch-fold                                        3.6891+-0.0347     ?      3.8380+-0.4516        ? might be 1.0403x slower
   branch-on-string-as-boolean                       19.1992+-0.6031     ?     19.9891+-0.8862        ? might be 1.0411x slower
   by-val-generic                                     7.9532+-0.0836     ?      8.8035+-2.1820        ? might be 1.1069x slower
   call-spread-apply                                 29.6364+-0.8575     ?     30.6255+-1.2862        ? might be 1.0334x slower
   call-spread-call                                  24.6916+-0.5902     ?     25.7895+-0.9731        ? might be 1.0445x slower
   captured-assignments                               0.4921+-0.0658            0.4587+-0.0211          might be 1.0728x faster
   cast-int-to-double                                 5.3055+-0.1123            5.3050+-0.0873        
   cell-argument                                      8.5308+-0.3143     ?      8.5667+-0.2045        ?
   cfg-simplify                                       3.0020+-0.1174     ?      3.1183+-0.1166        ? might be 1.0387x slower
   chain-getter-access                               10.1592+-0.3988            9.8105+-0.0636          might be 1.0355x faster
   cmpeq-obj-to-obj-other                            11.5145+-0.6170     ?     12.5885+-1.6381        ? might be 1.0933x slower
   constant-test                                      5.3238+-0.7985            4.9996+-0.1245          might be 1.0648x faster
   create-lots-of-functions                          12.0103+-0.3496           11.9534+-0.4189        
   DataView-custom-properties                        40.7687+-1.4908     ?     42.8751+-2.0324        ? might be 1.0517x slower
   deconstructing-parameters-overridden-by-function   
                                                      0.5250+-0.0547            0.5045+-0.0286          might be 1.0406x faster
   delay-tear-off-arguments-strictmode               14.1348+-0.3773     ?     16.3843+-5.5144        ? might be 1.1591x slower
   deltablue-varargs                                202.5728+-1.4995     ?    203.0059+-2.0694        ?
   destructuring-arguments                           18.0509+-0.2972     ?     18.0619+-0.3492        ?
   destructuring-swap                                 5.0935+-0.0585            5.0537+-0.0426        
   direct-arguments-getbyval                          1.2434+-0.0559     ?      1.2668+-0.0854        ? might be 1.0189x slower
   div-boolean-double                                 5.2904+-0.2470            5.2076+-0.0393          might be 1.0159x faster
   div-boolean                                        7.8280+-0.0710            7.7883+-0.0618        
   double-get-by-val-out-of-bounds                    4.5761+-0.0752            4.5571+-0.1111        
   double-pollution-getbyval                          8.8702+-0.0850     ?      8.8987+-0.1489        ?
   double-pollution-putbyoffset                       4.3606+-0.0349     ?      4.4897+-0.3191        ? might be 1.0296x slower
   double-to-int32-typed-array-no-inline              2.2576+-0.0420            2.2442+-0.1064        
   double-to-int32-typed-array                        1.9493+-0.0587            1.9030+-0.0281          might be 1.0244x faster
   double-to-uint32-typed-array-no-inline             2.3346+-0.1230            2.3151+-0.0763        
   double-to-uint32-typed-array                       1.9839+-0.0186            1.9583+-0.0246          might be 1.0131x faster
   elidable-new-object-dag                           43.7915+-1.8262     ?     46.2198+-2.4679        ? might be 1.0555x slower
   elidable-new-object-roflcopter                    47.9690+-1.9397           47.1526+-1.5831          might be 1.0173x faster
   elidable-new-object-then-call                     39.7385+-1.6840     ?     40.4744+-1.8652        ? might be 1.0185x slower
   elidable-new-object-tree                          48.1565+-6.0233           45.0620+-1.5755          might be 1.0687x faster
   empty-string-plus-int                              5.4412+-0.1164     ?      5.7728+-0.5267        ? might be 1.0609x slower
   emscripten-cube2hash                              39.1001+-1.2583           38.8024+-2.0823        
   exit-length-on-plain-object                       13.8786+-0.2818     ?     14.5401+-0.9407        ? might be 1.0477x slower
   external-arguments-getbyval                        1.3184+-0.1424            1.3127+-0.1479        
   external-arguments-putbyval                        2.4475+-0.2576            2.2923+-0.0537          might be 1.0677x faster
   fixed-typed-array-storage-var-index                1.2671+-0.1678            1.2052+-0.0152          might be 1.0514x faster
   fixed-typed-array-storage                          0.9724+-0.0635            0.9449+-0.0538          might be 1.0290x faster
   Float32Array-matrix-mult                           4.7134+-0.3321     ?      4.7736+-0.5067        ? might be 1.0128x slower
   Float32Array-to-Float64Array-set                  54.4285+-0.9712     !     58.3601+-2.2105        ! definitely 1.0722x slower
   Float64Array-alloc-long-lived                     74.7330+-0.8225           74.1655+-2.8148        
   Float64Array-to-Int16Array-set                    69.9609+-2.1163           67.9749+-1.5983          might be 1.0292x faster
   fold-double-to-int                                13.5047+-0.1775           13.4758+-0.1613        
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     10.8171+-1.1727     ?     11.7738+-2.0928        ? might be 1.0884x slower
   fold-get-by-id-to-multi-get-by-offset             10.4313+-1.0734           10.1996+-1.6428          might be 1.0227x faster
   fold-multi-get-by-offset-to-get-by-offset   
                                                      9.1948+-0.8347            8.9268+-0.9126          might be 1.0300x faster
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                      8.9532+-0.7172     ?      9.5597+-0.5211        ? might be 1.0677x slower
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                     10.0522+-2.1504            7.1870+-1.1893          might be 1.3987x faster
   fold-multi-put-by-offset-to-put-by-offset   
                                                      4.4330+-0.7036     !      6.6164+-0.8288        ! definitely 1.4925x slower
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                      9.7092+-0.3976            9.5591+-0.4851          might be 1.0157x faster
   fold-put-by-id-to-multi-put-by-offset              9.9305+-0.5584            9.3226+-0.7017          might be 1.0652x faster
   fold-put-structure                                 4.3085+-0.6249     ?      5.5932+-0.7335        ? might be 1.2982x slower
   for-of-iterate-array-entries                       5.4376+-1.5323            4.6737+-0.1794          might be 1.1635x faster
   for-of-iterate-array-keys                          3.9693+-0.3420            3.8771+-0.2930          might be 1.0238x faster
   for-of-iterate-array-values                        3.7436+-0.2035            3.7033+-0.1631          might be 1.0109x faster
   fround                                            21.2242+-0.9877           20.8673+-0.4015          might be 1.0171x faster
   ftl-library-inlining-dataview                     67.3007+-1.4695           65.3380+-1.5695          might be 1.0300x faster
   ftl-library-inlining                              78.8717+-20.5108          72.6383+-18.6846         might be 1.0858x faster
   function-dot-apply                                 2.2166+-0.0827     ?      2.2764+-0.2813        ? might be 1.0270x slower
   function-test                                      3.3738+-0.1896     ?      3.6762+-0.6795        ? might be 1.0896x slower
   function-with-eval                               105.5341+-6.6663          104.6720+-3.8607        
   gcse-poly-get-less-obvious                        17.9193+-0.2532     ?     19.2290+-1.3222        ? might be 1.0731x slower
   gcse-poly-get                                     22.4303+-1.2800           21.4705+-1.0891          might be 1.0447x faster
   gcse                                               4.3384+-0.0822     ?      4.4813+-0.3963        ? might be 1.0329x slower
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      3.0534+-0.4555            2.7876+-0.1223          might be 1.0954x faster
   get-by-id-bimorphic-check-structure-elimination   
                                                      6.0863+-0.1899     ?      6.1006+-0.1872        ?
   get-by-id-chain-from-try-block                     6.8596+-0.8684            6.6012+-0.1592          might be 1.0392x faster
   get-by-id-check-structure-elimination              5.1450+-0.1277            5.1333+-0.1295        
   get-by-id-proto-or-self                           17.4159+-0.5835           17.1053+-0.8169          might be 1.0182x faster
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      3.2799+-0.1198            3.1637+-0.0801          might be 1.0368x faster
   get-by-id-self-or-proto                           17.5282+-0.6856           17.1395+-0.2361          might be 1.0227x faster
   get-by-val-out-of-bounds                           4.4176+-0.1611     ?      4.5180+-0.0750        ? might be 1.0227x slower
   get_callee_monomorphic                             2.8504+-0.0591     ?      2.8582+-0.1202        ?
   get_callee_polymorphic                             3.9694+-0.4032            3.8125+-0.2317          might be 1.0412x faster
   getter-no-activation                               4.9851+-0.1941     ?      5.2490+-0.3237        ? might be 1.0529x slower
   getter-richards                                  128.4125+-5.9457          123.4248+-5.8514          might be 1.0404x faster
   getter                                             5.9266+-0.8682     ?      6.2806+-0.6028        ? might be 1.0597x slower
   global-var-const-infer-fire-from-opt               1.0395+-0.1576            0.9804+-0.0689          might be 1.0602x faster
   global-var-const-infer                             0.7817+-0.1001     ?      0.7916+-0.0905        ? might be 1.0126x slower
   HashMap-put-get-iterate-keys                      26.6751+-0.3369     ^     25.5981+-0.6179        ^ definitely 1.0421x faster
   HashMap-put-get-iterate                           26.4040+-0.4499     ^     25.4703+-0.4456        ^ definitely 1.0367x faster
   HashMap-string-put-get-iterate                    28.2961+-1.1835           27.7478+-1.6443          might be 1.0198x faster
   hoist-make-rope                                   11.9529+-0.8866           11.8936+-0.9569        
   hoist-poly-check-structure-effectful-loop   
                                                      5.0243+-0.0591     !      5.2879+-0.1994        ! definitely 1.0525x slower
   hoist-poly-check-structure                         3.7745+-0.3079     ?      3.8041+-0.2469        ?
   imul-double-only                                   9.1565+-1.3114            8.5153+-0.2160          might be 1.0753x faster
   imul-int-only                                     10.0669+-0.4776            9.7125+-0.1539          might be 1.0365x faster
   imul-mixed                                         8.0939+-0.3439     ?      8.3414+-0.6595        ? might be 1.0306x slower
   in-four-cases                                     20.7070+-0.5159           20.6623+-0.6392        
   in-one-case-false                                 10.4450+-0.5466           10.0380+-0.3304          might be 1.0405x faster
   in-one-case-true                                  10.3108+-0.4666           10.1981+-0.4783          might be 1.0110x faster
   in-two-cases                                      10.3918+-0.4027     ?     10.5392+-0.8682        ? might be 1.0142x slower
   indexed-properties-in-objects                      3.0796+-0.0218     ^      2.9147+-0.0474        ^ definitely 1.0566x faster
   infer-closure-const-then-mov-no-inline             3.9250+-0.0805            3.9048+-0.0282        
   infer-closure-const-then-mov                      19.8742+-0.3881           19.6983+-0.3003        
   infer-closure-const-then-put-to-scope-no-inline   
                                                     14.6392+-1.4400     ?     15.9944+-1.4631        ? might be 1.0926x slower
   infer-closure-const-then-put-to-scope             23.0904+-2.0919           21.9596+-0.3801          might be 1.0515x faster
   infer-closure-const-then-reenter-no-inline   
                                                     63.5365+-2.0809           63.2638+-2.4705        
   infer-closure-const-then-reenter                  22.9411+-1.2110           22.8075+-1.0430        
   infer-constant-global-property                    30.6897+-1.3025     ?     31.1335+-1.8803        ? might be 1.0145x slower
   infer-constant-property                            3.0022+-0.4328            2.8046+-0.2389          might be 1.0705x faster
   infer-one-time-closure-ten-vars                   13.2652+-1.4031           12.2994+-0.1935          might be 1.0785x faster
   infer-one-time-closure-two-vars                   12.4240+-0.7978           12.1796+-0.4139          might be 1.0201x faster
   infer-one-time-closure                            12.8397+-1.4811     ?     12.9937+-1.3847        ? might be 1.0120x slower
   infer-one-time-deep-closure                       21.8863+-1.6102           21.4842+-1.3998          might be 1.0187x faster
   inline-arguments-access                            5.0933+-1.1749            4.6337+-0.1384          might be 1.0992x faster
   inline-arguments-aliased-access                    4.5675+-0.0637     ?      4.6658+-0.2033        ? might be 1.0215x slower
   inline-arguments-local-escape                      4.9220+-0.2172            4.6779+-0.1185          might be 1.0522x faster
   inline-get-scoped-var                              4.9831+-0.2816            4.8956+-0.1780          might be 1.0179x faster
   inlined-put-by-id-transition                      11.5997+-1.3742     ?     11.7392+-0.4985        ? might be 1.0120x slower
   int-or-other-abs-then-get-by-val                   4.7021+-0.0681     ?      4.8110+-0.1837        ? might be 1.0232x slower
   int-or-other-abs-zero-then-get-by-val             17.3150+-0.8307     ?     18.2379+-1.4309        ? might be 1.0533x slower
   int-or-other-add-then-get-by-val                   4.2816+-0.0284     ?      4.3066+-0.0686        ?
   int-or-other-add                                   5.3064+-0.0395     ?      5.3186+-0.0852        ?
   int-or-other-div-then-get-by-val                   4.4224+-0.2667            4.3042+-0.0574          might be 1.0275x faster
   int-or-other-max-then-get-by-val                   4.3708+-0.0896     ?      4.5998+-0.4378        ? might be 1.0524x slower
   int-or-other-min-then-get-by-val                   4.3404+-0.0711            4.3098+-0.0469        
   int-or-other-mod-then-get-by-val                   3.8974+-0.0780     ?      3.9434+-0.0358        ? might be 1.0118x slower
   int-or-other-mul-then-get-by-val                   4.0786+-0.3091            3.9987+-0.1231          might be 1.0200x faster
   int-or-other-neg-then-get-by-val                   4.4716+-0.0712            4.4610+-0.0224        
   int-or-other-neg-zero-then-get-by-val             17.6130+-1.2921     ?     17.7269+-1.0889        ?
   int-or-other-sub-then-get-by-val                   4.5538+-0.1024     ?      4.6015+-0.1756        ? might be 1.0105x slower
   int-or-other-sub                                   3.5225+-0.0780     ?      3.5328+-0.0825        ?
   int-overflow-local                                 4.4914+-0.0807     ?      4.5587+-0.0402        ? might be 1.0150x slower
   Int16Array-alloc-long-lived                       54.3477+-2.9692           52.5528+-1.6462          might be 1.0342x faster
   Int16Array-bubble-sort-with-byteLength            22.0527+-1.8692           20.2998+-0.3135          might be 1.0863x faster
   Int16Array-bubble-sort                            20.0788+-0.8063           19.8625+-0.6999          might be 1.0109x faster
   Int16Array-load-int-mul                            1.4843+-0.0105     ?      1.5785+-0.1986        ? might be 1.0635x slower
   Int16Array-to-Int32Array-set                      61.0695+-1.3970     ^     54.2235+-2.4962        ^ definitely 1.1263x faster
   Int32Array-alloc-large                            25.2681+-0.9787           24.1796+-0.5571          might be 1.0450x faster
   Int32Array-alloc-long-lived                       58.0286+-1.2942           58.0017+-1.8251        
   Int32Array-alloc                                   3.8952+-0.6358            3.7779+-0.5867          might be 1.0310x faster
   Int32Array-Int8Array-view-alloc                    7.2613+-0.8175            7.1745+-0.7770          might be 1.0121x faster
   int52-spill                                        6.6816+-0.4936            6.3051+-0.0773          might be 1.0597x faster
   Int8Array-alloc-long-lived                        47.8404+-1.9517           47.1786+-1.2655          might be 1.0140x faster
   Int8Array-load-with-byteLength                     3.2942+-0.0285     ?      3.4863+-0.4031        ? might be 1.0583x slower
   Int8Array-load                                     3.3127+-0.0556     ?      3.3301+-0.0442        ?
   integer-divide                                    11.1683+-0.1518     ?     11.3138+-0.2739        ? might be 1.0130x slower
   integer-modulo                                     2.0769+-0.2698            1.9375+-0.0790          might be 1.0719x faster
   large-int-captured                                 4.6495+-0.1162     ?      4.7371+-0.2155        ? might be 1.0188x slower
   large-int-neg                                     16.5066+-0.6859     ?     17.3540+-1.5072        ? might be 1.0513x slower
   large-int                                         14.7780+-0.3204     ?     15.2392+-0.6760        ? might be 1.0312x slower
   logical-not                                        4.5042+-0.0329     ?      4.5519+-0.0649        ? might be 1.0106x slower
   lots-of-fields                                    14.0853+-1.2805           13.3797+-0.2614          might be 1.0527x faster
   make-indexed-storage                               3.1451+-0.2727     ?      3.4510+-0.4706        ? might be 1.0973x slower
   make-rope-cse                                      4.6758+-0.0565     ?      4.7587+-0.1072        ? might be 1.0177x slower
   marsaglia-larger-ints                             37.4832+-2.5578           36.6517+-1.5106          might be 1.0227x faster
   marsaglia-osr-entry                               23.0893+-0.5585     ?     23.2957+-0.7043        ?
   max-boolean                                        2.6709+-0.3666            2.4772+-0.0689          might be 1.0782x faster
   method-on-number                                  18.5754+-1.3875           18.2144+-0.6840          might be 1.0198x faster
   min-boolean                                        2.5216+-0.0205            2.4892+-0.0814          might be 1.0130x faster
   minus-boolean-double                               3.2431+-0.1219            3.1626+-0.0810          might be 1.0255x faster
   minus-boolean                                      2.3249+-0.1065     ?      2.4358+-0.2636        ? might be 1.0477x slower
   misc-strict-eq                                    38.7653+-3.2262           37.2339+-0.8392          might be 1.0411x faster
   mod-boolean-double                                11.0147+-0.2708           10.8885+-0.0649          might be 1.0116x faster
   mod-boolean                                        7.9388+-0.2192            7.9373+-0.2375        
   mul-boolean-double                                 3.6915+-0.0522     ?      3.7469+-0.0957        ? might be 1.0150x slower
   mul-boolean                                        2.8965+-0.1038     ?      2.9387+-0.0807        ? might be 1.0146x slower
   neg-boolean                                        3.1954+-0.0460            3.1411+-0.0269          might be 1.0173x faster
   negative-zero-divide                               0.3599+-0.0430            0.3557+-0.0134          might be 1.0118x faster
   negative-zero-modulo                               0.3619+-0.0345            0.3503+-0.0205          might be 1.0329x faster
   negative-zero-negate                               0.3256+-0.0088     ?      0.3503+-0.0503        ? might be 1.0758x slower
   nested-function-parsing                           39.1965+-0.9686     ?     39.5031+-1.9494        ?
   new-array-buffer-dead                            112.5312+-3.9894          110.8641+-2.2148          might be 1.0150x faster
   new-array-buffer-push                              7.6421+-0.8607            6.9059+-0.2118          might be 1.1066x faster
   new-array-dead                                    19.6283+-0.4838           19.2686+-0.9070          might be 1.0187x faster
   new-array-push                                     4.0417+-0.1760            3.9254+-0.0366          might be 1.0296x faster
   no-inline-constructor                            123.7073+-2.4042     ?    125.3618+-2.5408        ? might be 1.0134x slower
   number-test                                        3.0370+-0.0451     ?      3.1348+-0.3226        ? might be 1.0322x slower
   object-closure-call                                5.5560+-0.0535     ?      5.5818+-0.1025        ?
   object-test                                        3.1282+-0.0430     ?      3.2223+-0.2928        ? might be 1.0301x slower
   obvious-sink-pathology-taken                     139.8198+-1.8389     ?    140.9669+-1.5839        ?
   obvious-sink-pathology                           132.8145+-1.1405          131.3753+-3.5439          might be 1.0110x faster
   obviously-elidable-new-object                     36.5460+-1.7441           35.3612+-1.1989          might be 1.0335x faster
   plus-boolean-arith                                 2.4899+-0.0557     ?      2.5815+-0.3216        ? might be 1.0368x slower
   plus-boolean-double                                3.3267+-0.4112            3.1829+-0.0506          might be 1.0452x faster
   plus-boolean                                       2.3869+-0.0775     ?      2.3895+-0.1100        ?
   poly-chain-access-different-prototypes-simple   
                                                      3.2785+-0.0353     ?      3.3176+-0.0877        ? might be 1.0119x slower
   poly-chain-access-different-prototypes             2.7081+-0.3084            2.6779+-0.2624          might be 1.0113x faster
   poly-chain-access-simpler                          3.2823+-0.0491     ?      3.6102+-0.4685        ? might be 1.0999x slower
   poly-chain-access                                  2.6131+-0.1046     ?      2.8523+-0.4463        ? might be 1.0916x slower
   poly-stricteq                                     64.5607+-3.3154           63.8735+-1.5439          might be 1.0108x faster
   polymorphic-array-call                             1.2188+-0.0450     ?      1.2812+-0.0768        ? might be 1.0512x slower
   polymorphic-get-by-id                              3.2569+-0.3650            3.2486+-0.4246        
   polymorphic-put-by-id                             29.9312+-2.0821           28.5216+-2.1039          might be 1.0494x faster
   polymorphic-structure                             14.8744+-0.2710     ?     14.9255+-0.1238        ?
   polyvariant-monomorphic-get-by-id                  8.5388+-0.1950     ?      8.6619+-0.3829        ? might be 1.0144x slower
   proto-getter-access                                9.8733+-0.1134     ?     10.0288+-0.2567        ? might be 1.0158x slower
   put-by-id-replace-and-transition                   9.4556+-0.2518            9.1565+-0.1987          might be 1.0327x faster
   put-by-id-slightly-polymorphic                     2.8470+-0.0723     ?      2.8475+-0.1230        ?
   put-by-id                                         12.7736+-0.4685           12.6323+-0.2610          might be 1.0112x faster
   put-by-val-direct                                  0.4932+-0.0532            0.4441+-0.0203          might be 1.1106x faster
   put-by-val-large-index-blank-indexing-type   
                                                      6.1431+-0.8975     ?      6.1920+-0.7072        ?
   put-by-val-machine-int                             2.9229+-0.3434            2.8288+-0.1054          might be 1.0333x faster
   rare-osr-exit-on-local                            15.0174+-0.2729     ?     15.4200+-0.5485        ? might be 1.0268x slower
   register-pressure-from-osr                        21.5786+-0.2227           21.4773+-0.2791        
   setter                                             5.8504+-0.6947            5.8326+-0.6643        
   simple-activation-demo                            25.0827+-1.3163     ?     25.2025+-0.8883        ?
   simple-getter-access                              12.8554+-0.1248           12.7362+-0.3154        
   simple-poly-call-nested                            8.3132+-0.4289     ?      8.3917+-0.2113        ?
   simple-poly-call                                   1.2941+-0.0414     ?      1.3112+-0.0894        ? might be 1.0131x slower
   sin-boolean                                       23.0984+-2.4799     ?     23.2791+-1.7344        ?
   singleton-scope                                   67.6131+-1.5724     ?     67.8698+-1.2654        ?
   sink-function                                     12.1923+-0.1718     ?     12.5061+-0.3093        ? might be 1.0257x slower
   sinkable-new-object-dag                           70.3283+-1.7334     ?     70.4615+-0.8007        ?
   sinkable-new-object-taken                         50.3127+-2.8370     ?     53.2383+-4.1250        ? might be 1.0581x slower
   sinkable-new-object                               40.0362+-1.5631           39.1900+-1.3512          might be 1.0216x faster
   slow-array-profile-convergence                     2.9570+-0.3346            2.7748+-0.1744          might be 1.0657x faster
   slow-convergence                                   2.8565+-0.2856            2.7101+-0.1094          might be 1.0540x faster
   sorting-benchmark                                 24.3114+-1.0634     ?     26.3831+-1.5458        ? might be 1.0852x slower
   sparse-conditional                                 1.1098+-0.0174     ?      1.1112+-0.0226        ?
   splice-to-remove                                  16.9087+-1.3228     ?     17.0302+-1.3071        ?
   string-char-code-at                               17.4495+-0.8190           17.0788+-0.2067          might be 1.0217x faster
   string-concat-object                               2.5155+-0.0526     ?      2.6513+-0.2412        ? might be 1.0540x slower
   string-concat-pair-object                          2.5625+-0.0992            2.5611+-0.2796        
   string-concat-pair-simple                         11.7334+-0.3091     ?     11.7992+-0.6071        ?
   string-concat-simple                              12.4244+-0.3056     ^     11.8579+-0.1473        ^ definitely 1.0478x faster
   string-cons-repeat                                 8.1908+-0.8246     ?      8.8242+-1.0655        ? might be 1.0773x slower
   string-cons-tower                                  8.9299+-1.0495            8.6378+-1.1768          might be 1.0338x faster
   string-equality                                   17.5027+-0.3002     ?     17.5140+-0.2461        ?
   string-get-by-val-big-char                         7.1233+-0.0510     ?      7.1560+-0.1889        ?
   string-get-by-val-out-of-bounds-insane             3.5767+-0.0470     !      3.7152+-0.0818        ! definitely 1.0387x slower
   string-get-by-val-out-of-bounds                    5.2645+-0.0904            5.2189+-0.0992        
   string-get-by-val                                  3.2490+-0.0478     ?      3.3470+-0.1514        ? might be 1.0302x slower
   string-hash                                        2.0219+-0.0078     ?      2.0362+-0.0200        ?
   string-long-ident-equality                        15.0305+-0.1621           14.9161+-0.1169        
   string-out-of-bounds                              14.7691+-0.1551     ?     14.8027+-0.1419        ?
   string-repeat-arith                               32.0194+-1.7914     ?     34.4071+-3.7733        ? might be 1.0746x slower
   string-sub                                        70.9157+-2.6685           69.0497+-3.9459          might be 1.0270x faster
   string-test                                        2.9006+-0.0091     ?      3.0493+-0.3412        ? might be 1.0513x slower
   string-var-equality                               32.0376+-1.7324           31.0959+-1.6494          might be 1.0303x faster
   structure-hoist-over-transitions                   2.5623+-0.0581     ?      2.5887+-0.0375        ? might be 1.0103x slower
   substring-concat-weird                            39.8503+-1.5230     ?     40.1762+-0.9750        ?
   substring-concat                                  44.8466+-9.8404           41.5787+-1.9262          might be 1.0786x faster
   substring                                         45.4343+-0.9285     ?     52.2975+-11.8364       ? might be 1.1511x slower
   switch-char-constant                               2.7964+-0.1919     ?      2.8228+-0.3454        ?
   switch-char                                        7.3765+-0.7599            6.9538+-0.9304          might be 1.0608x faster
   switch-constant                                    8.6269+-0.3680            8.5361+-0.2334          might be 1.0106x faster
   switch-string-basic-big-var                       18.5095+-0.7153           18.3168+-0.3529          might be 1.0105x faster
   switch-string-basic-big                           14.5746+-0.6063     ?     14.6904+-0.6175        ?
   switch-string-basic-var                           14.6552+-0.0893           14.5047+-0.2086          might be 1.0104x faster
   switch-string-basic                               14.2575+-1.1958           13.7200+-0.1677          might be 1.0392x faster
   switch-string-big-length-tower-var                20.6095+-1.2182     ?     20.8282+-1.1872        ? might be 1.0106x slower
   switch-string-length-tower-var                    15.1734+-0.2720           15.0629+-0.2345        
   switch-string-length-tower                        12.9201+-0.1573     ?     13.4049+-1.4000        ? might be 1.0375x slower
   switch-string-short                               12.7295+-0.1346     ?     12.8243+-0.1467        ?
   switch                                            12.8604+-0.3818           12.7188+-0.1645          might be 1.0111x faster
   tear-off-arguments-simple                          3.4758+-0.0771     ?      3.5573+-0.3486        ? might be 1.0234x slower
   tear-off-arguments                                 4.8117+-0.1504     ?      4.8839+-0.2737        ? might be 1.0150x slower
   temporal-structure                                12.2255+-0.2300           12.1271+-0.1737        
   to-int32-boolean                                  14.2917+-1.2511           14.1716+-1.1351        
   try-catch-get-by-val-cloned-arguments             14.9744+-1.2001           14.9017+-1.1180        
   try-catch-get-by-val-direct-arguments              6.4493+-0.1360     ?      7.3229+-1.2019        ? might be 1.1354x slower
   try-catch-get-by-val-scoped-arguments              8.4476+-0.9678            7.8149+-0.3201          might be 1.0810x faster
   typed-array-get-set-by-val-profiling              32.6546+-2.4144           31.8855+-0.8556          might be 1.0241x faster
   undefined-property-access                        354.6744+-4.6668     ?    355.8507+-2.7347        ?
   undefined-test                                     3.0464+-0.0735     ?      3.1900+-0.3706        ? might be 1.0471x slower
   unprofiled-licm                                   23.1767+-1.2647     ?     23.1802+-0.6783        ?
   varargs-call                                      16.0331+-1.0511     ?     16.4089+-1.5274        ? might be 1.0234x slower
   varargs-construct-inline                          22.7558+-0.9335     ?     23.1265+-1.3583        ? might be 1.0163x slower
   varargs-construct                                 32.2726+-0.6144     ?     32.4931+-0.5839        ?
   varargs-inline                                     9.2894+-0.1672     ?      9.3176+-0.0649        ?
   varargs-strict-mode                               10.3754+-0.4189     ?     10.4444+-0.3240        ?
   varargs                                           10.4442+-0.3229     ?     10.5597+-0.5305        ? might be 1.0111x slower
   weird-inlining-const-prop                          2.4345+-0.2579     ?      2.4795+-0.2009        ? might be 1.0185x slower

   &lt;geometric&gt;                                        8.9446+-0.0402     ?      8.9627+-0.0522        ? might be 1.0020x slower

                                                        TipOfTree                TypeOfIdent                                    
AsmBench:
   bigfib.cpp                                       500.1051+-12.0136         493.5783+-3.6240          might be 1.0132x faster
   cray.c                                           425.3289+-1.2464     ?    427.8199+-4.5723        ?
   dry.c                                            476.7131+-5.8241     ?    486.2112+-6.7189        ? might be 1.0199x slower
   FloatMM.c                                        722.7296+-0.5943     ?    724.5918+-2.6263        ?
   gcc-loops.cpp                                   4261.0323+-8.0316     ?   4271.8162+-10.2777       ?
   n-body.c                                         980.8115+-5.2200          980.6610+-4.5030        
   Quicksort.c                                      419.2447+-4.1600     ?    421.6214+-3.1715        ?
   stepanov_container.cpp                          3598.9666+-13.8942    ?   3600.3155+-8.5198        ?
   Towers.c                                         259.7772+-1.4078          259.3262+-1.0578        

   &lt;geometric&gt;                                      790.1216+-3.3768     ?    792.0352+-1.1707        ? might be 1.0024x slower

                                                        TipOfTree                TypeOfIdent                                    
CompressionBench:
   huffman                                          365.5679+-4.2561     ?    365.8752+-3.6739        ?
   arithmetic-simple                                396.5279+-3.8896     ?    398.2270+-4.7194        ?
   arithmetic-precise                               300.3682+-4.1108     ?    300.7069+-5.5804        ?
   arithmetic-complex-precise                       296.4917+-6.2460     ?    297.0837+-3.6115        ?
   arithmetic-precise-order-0                       425.6515+-8.8740          419.8252+-6.3885          might be 1.0139x faster
   arithmetic-precise-order-1                       326.9722+-4.5968     ?    329.2802+-6.4777        ?
   arithmetic-precise-order-2                       359.8385+-4.5993          359.3593+-4.0346        
   arithmetic-simple-order-1                        421.3988+-3.1094     ?    445.2970+-56.6161       ? might be 1.0567x slower
   arithmetic-simple-order-2                        469.6098+-9.3403     ?    470.3293+-5.0949        ?
   lz-string                                        327.5420+-6.1878          324.7174+-2.7991        

   &lt;geometric&gt;                                      364.9167+-2.2243     ?    366.5009+-3.9100        ? might be 1.0043x slower

                                                        TipOfTree                TypeOfIdent                                    
Geomean of preferred means:
   &lt;scaled-result&gt;                                   64.4212+-0.1199     ?     64.4772+-0.2138        ? might be 1.0009x slower</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089898</commentid>
    <comment_count>5</comment_count>
      <attachid>251927</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-28 22:59:06 -0700</bug_when>
    <thetext>Created attachment 251927
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089899</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-04-28 23:01:43 -0700</bug_when>
    <thetext>Attachment 251927 did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGAbstractValue.h:203:  The parameter name &quot;graph&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/dfg/DFGAbstractValue.h:203:  The parameter name &quot;type&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Total errors found: 2 in 10 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089995</commentid>
    <comment_count>7</comment_count>
      <attachid>251927</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2015-04-29 08:38:34 -0700</bug_when>
    <thetext>Comment on attachment 251927
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1090009</commentid>
    <comment_count>8</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-04-29 08:57:50 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/183548</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251926</attachid>
            <date>2015-04-28 22:01:34 -0700</date>
            <delta_ts>2015-04-28 22:59:06 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>10556</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgzNTI4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBA
CisyMDE1LTA0LTI4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
VHlwZU9mIHNob3VsZCByZXR1cm4gU3BlY1N0cmluZ0lkZW50IGFuZCB0aGUgREZHIHNob3VsZCBr
bm93IHRoaXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0NDM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAK
KyAgICAgICAgTWFrZSBUeXBlT2YgcmV0dXJuIGF0b21pYyBzdHJpbmdzLiBUaGF0J3MgYSBzaW1w
bGUgY2hhbmdlIGluIFNtYWxsU3RyaW5ncy4KKyAgICAgICAgCisgICAgICAgIE1ha2UgdGhlIERG
RyBrbm93IHRoaXMgYW5kIHVzZSBpdCBmb3Igb3B0aW1pemF0aW9uLiBUaGlzIG1ha2VzIFN3aXRj
aChUeXBlT2YpIGEgYml0IGxlc3MKKyAgICAgICAgYmFkLgorCisgICAgICAgICogZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RJ
bnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAgICAgICAg
KiBkZmcvREZHQWJzdHJhY3RWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RW
YWx1ZTo6c2V0VHlwZSk6CisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0VmFsdWUuaDoKKyAgICAg
ICAgKEpTQzo6REZHOjpBYnN0cmFjdFZhbHVlOjpzZXRUeXBlKToKKyAgICAgICAgKiBkZmcvREZH
SW5QbGFjZUFic3RyYWN0U3RhdGUuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkluUGxhY2VBYnN0
cmFjdFN0YXRlOjppbml0aWFsaXplKToKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlvblByb3Bh
Z2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlByZWRpY3Rpb25Qcm9wYWdhdGlv
blBoYXNlOjpwcm9wYWdhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvU21hbGxTdHJpbmdzLmNwcDoK
KyAgICAgICAgKEpTQzo6U21hbGxTdHJpbmdzOjppbml0aWFsaXplKToKKwogMjAxNS0wNC0yOCAg
Sm9zZXBoIFBlY29yYXJvICA8cGVjb3Jhcm9AYXBwbGUuY29tPgogCiAgICAgICAgIERlYWRsb2Nr
IG9uIGFwcGxpY2F0aW9ucyB1c2luZyBKU0NvbnRleHQgb24gbm9uLW1haW4gdGhyZWFkCkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVz
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdElu
dGVycHJldGVySW5saW5lcy5oCShyZXZpc2lvbiAxODM1MjgpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0Fic3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTM0Nyw3ICszNDcsNyBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0
ZVR5CiAgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCBqc0RvdWJsZU51bWJlcihjaGlsZC5h
c051bWJlcigpKSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICBmb3JO
b2RlKG5vZGUpLnNldFR5cGUoZm9yTm9kZShub2RlLT5jaGlsZDEoKSkubV90eXBlKTsKKyAgICAg
ICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKG1fZ3JhcGgsIGZvck5vZGUobm9kZS0+Y2hpbGQxKCkp
Lm1fdHlwZSk7CiAgICAgICAgIGZvck5vZGUobm9kZSkuZml4VHlwZUZvclJlcHJlc2VudGF0aW9u
KG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC0zNzAsNyArMzcwLDcgQEAgYm9vbCBB
YnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeQogICAgICAgICAgICAgYnJlYWs7CiAg
ICAgICAgIH0KICAgICAgICAgCi0gICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShmb3JOb2Rl
KG5vZGUtPmNoaWxkMSgpKS5tX3R5cGUgJiB+U3BlY0RvdWJsZUltcHVyZU5hTik7CisgICAgICAg
IGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dyYXBoLCBmb3JOb2RlKG5vZGUtPmNoaWxkMSgpKS5t
X3R5cGUgJiB+U3BlY0RvdWJsZUltcHVyZU5hTik7CiAgICAgICAgIGZvck5vZGUobm9kZSkuZml4
VHlwZUZvclJlcHJlc2VudGF0aW9uKG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC0z
NzgsNyArMzc4LDcgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeQog
ICAgIGNhc2UgVmFsdWVBZGQ6IHsKICAgICAgICAgQVNTRVJUKG5vZGUtPmJpbmFyeVVzZUtpbmQo
KSA9PSBVbnR5cGVkVXNlKTsKICAgICAgICAgY2xvYmJlcldvcmxkKG5vZGUtPm9yaWdpbi5zZW1h
bnRpYywgY2xvYmJlckxpbWl0KTsKLSAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKFNwZWNT
dHJpbmcgfCBTcGVjQnl0ZWNvZGVOdW1iZXIpOworICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5
cGUobV9ncmFwaCwgU3BlY1N0cmluZyB8IFNwZWNCeXRlY29kZU51bWJlcik7CiAgICAgICAgIGJy
ZWFrOwogICAgIH0KICAgICAgICAgCkBAIC05MTAsNyArOTEwLDcgQEAgYm9vbCBBYnN0cmFjdElu
dGVycHJldGVyPEFic3RyYWN0U3RhdGVUeQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0K
IAotICAgICAgICBmb3JOb2RlKG5vZGUpLnNldChtX2dyYXBoLCBtX2dyYXBoLm1fdm0uc3RyaW5n
U3RydWN0dXJlLmdldCgpKTsKKyAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKG1fZ3JhcGgs
IFNwZWNTdHJpbmdJZGVudCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICAgICAgICAgIApA
QCAtMTAwOSw3ICsxMDA5LDcgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3Rh
dGVUeQogICAgICAgICBicmVhazsKICAgICAgICAgCiAgICAgY2FzZSBTdHJpbmdGcm9tQ2hhckNv
ZGU6Ci0gICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShTcGVjU3RyaW5nKTsKKyAgICAgICAg
Zm9yTm9kZShub2RlKS5zZXRUeXBlKG1fZ3JhcGgsIFNwZWNTdHJpbmcpOwogICAgICAgICBicmVh
azsKIAogICAgIGNhc2UgU3RyaW5nQ2hhckF0OgpAQCAtMTI2OCw3ICsxMjY4LDcgQEAgYm9vbCBB
YnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeQogICAgICAgICAKICAgICAgICAgY2xv
YmJlcldvcmxkKG5vZGUtPm9yaWdpbi5zZW1hbnRpYywgY2xvYmJlckxpbWl0KTsKICAgICAgICAg
Ci0gICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZSgoU3BlY0hlYXBUb3AgJiB+U3BlY0NlbGwp
IHwgU3BlY1N0cmluZyB8IFNwZWNDZWxsT3RoZXIpOworICAgICAgICBmb3JOb2RlKG5vZGUpLnNl
dFR5cGUobV9ncmFwaCwgKFNwZWNIZWFwVG9wICYgflNwZWNDZWxsKSB8IFNwZWNTdHJpbmcgfCBT
cGVjQ2VsbE90aGVyKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgICAgICAKQEAgLTEzMTUs
NyArMTMxNSw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAg
ICAgICAgYnJlYWs7CiAKICAgICBjYXNlIE5ld0FycmF5V2l0aFNpemU6Ci0gICAgICAgIGZvck5v
ZGUobm9kZSkuc2V0VHlwZShTcGVjQXJyYXkpOworICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5
cGUobV9ncmFwaCwgU3BlY0FycmF5KTsKICAgICAgICAgYnJlYWs7CiAgICAgICAgIAogICAgIGNh
c2UgTmV3VHlwZWRBcnJheToKQEAgLTEzNTQsNyArMTM1NCw3IEBAIGJvb2wgQWJzdHJhY3RJbnRl
cnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKIAogICAgIGNhc2UgQ3JlYXRlVGhpczogewogICAgICAg
ICAvLyBGSVhNRTogV2UgY2FuIGZvbGQgdGhpcyB0byBOZXdPYmplY3QgaWYgdGhlIGluY29taW5n
IGNhbGxlZSBpcyBhIGNvbnN0YW50LgotICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUoU3Bl
Y0ZpbmFsT2JqZWN0KTsKKyAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKG1fZ3JhcGgsIFNw
ZWNGaW5hbE9iamVjdCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICAgICAgCkBAIC0xNDAy
LDcgKzE0MDIsNyBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5CiAg
ICAgICAgIGJyZWFrOwogICAgICAgICAKICAgICBjYXNlIENyZWF0ZUNsb25lZEFyZ3VtZW50czoK
LSAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKFNwZWNPYmplY3RPdGhlcik7CisgICAgICAg
IGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dyYXBoLCBTcGVjT2JqZWN0T3RoZXIpOwogICAgICAg
ICBicmVhazsKICAgICAgICAgCiAgICAgY2FzZSBOZXdGdW5jdGlvbjoKQEAgLTE0MjAsNyArMTQy
MCw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAgICAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBmb3JOb2Rl
KG5vZGUpLnNldFR5cGUoU3BlY0Z1bmN0aW9uKTsKKyAgICAgICAgZm9yTm9kZShub2RlKS5zZXRU
eXBlKG1fZ3JhcGgsIFNwZWNGdW5jdGlvbik7CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKICAg
ICBjYXNlIEdldEFyZ3VtZW50Q291bnQ6CkBAIC0xNDM3LDcgKzE0MzcsNyBAQCBib29sIEFic3Ry
YWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5CiAgICAgICAgICAgICB9CiAgICAgICAgIH0K
ICAgICAgICAgCi0gICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShTcGVjT2JqZWN0KTsKKyAg
ICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKG1fZ3JhcGgsIFNwZWNPYmplY3QpOwogICAgICAg
ICBicmVhazsKICAgICB9CiAgICAgICAgIApAQCAtMTQ1MSw3ICsxNDUxLDcgQEAgYm9vbCBBYnN0
cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeQogICAgICAgICAgICAgfQogICAgICAgICB9
CiAgICAgICAgIAotICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUoU3BlY09iamVjdCk7Cisg
ICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dyYXBoLCBTcGVjT2JqZWN0KTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQogICAgICAgICAKQEAgLTE0NjIsNyArMTQ2Miw3IEBAIGJvb2wgQWJz
dHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUo
U3BlY09iamVjdE90aGVyKTsKKyAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKG1fZ3JhcGgs
IFNwZWNPYmplY3RPdGhlcik7CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBTa2lwU2NvcGU6
IHsKQEAgLTE0NzEsNyArMTQ3MSw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFj
dFN0YXRlVHkKICAgICAgICAgICAgIHNldENvbnN0YW50KG5vZGUsICptX2dyYXBoLmZyZWV6ZShK
U1ZhbHVlKGpzQ2FzdDxKU1Njb3BlKj4oY2hpbGQuYXNDZWxsKCkpLT5uZXh0KCkpKSk7CiAgICAg
ICAgICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUo
U3BlY09iamVjdE90aGVyKTsKKyAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKG1fZ3JhcGgs
IFNwZWNPYmplY3RPdGhlcik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KIApAQCAtMTg3NCw3ICsx
ODc0LDcgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeQogICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgfQogICAgICAgICB9Ci0gICAgICAgIGZvck5v
ZGUobm9kZSkuc2V0VHlwZShTcGVjQ2VsbE90aGVyKTsKKyAgICAgICAgZm9yTm9kZShub2RlKS5z
ZXRUeXBlKG1fZ3JhcGgsIFNwZWNDZWxsT3RoZXIpOwogICAgICAgICBicmVhazsKICAgICB9CiAg
ICAgCkBAIC0xOTk3LDE5ICsxOTk3LDE5IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0
cmFjdFN0YXRlVHkKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgR2V0UHJvcGVydHlF
bnVtZXJhdG9yOiB7Ci0gICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShTcGVjQ2VsbCk7Cisg
ICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dyYXBoLCBTcGVjQ2VsbCk7CiAgICAgICAg
IGJyZWFrOwogICAgIH0KICAgICBjYXNlIEdldEVudW1lcmF0b3JTdHJ1Y3R1cmVQbmFtZTogewot
ICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUoU3BlY1N0cmluZyB8IFNwZWNPdGhlcik7Cisg
ICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dyYXBoLCBTcGVjU3RyaW5nIHwgU3BlY090
aGVyKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgR2V0RW51bWVyYXRvckdlbmVy
aWNQbmFtZTogewotICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUoU3BlY1N0cmluZyB8IFNw
ZWNPdGhlcik7CisgICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dyYXBoLCBTcGVjU3Ry
aW5nIHwgU3BlY090aGVyKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQogICAgIGNhc2UgVG9JbmRl
eFN0cmluZzogewotICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUoU3BlY1N0cmluZyk7Cisg
ICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dyYXBoLCBTcGVjU3RyaW5nKTsKICAgICAg
ICAgYnJlYWs7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fi
c3RyYWN0VmFsdWUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQWJzdHJhY3RWYWx1ZS5jcHAJKHJldmlzaW9uIDE4MzUyOCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQWJzdHJhY3RWYWx1ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExOCw2
ICsxMTgsMjQgQEAgdm9pZCBBYnN0cmFjdFZhbHVlOjpzZXQoR3JhcGgmIGdyYXBoLCBjbwogICAg
IGFzc2VydElzUmVnaXN0ZXJlZChncmFwaCk7CiB9CiAKK3ZvaWQgQWJzdHJhY3RWYWx1ZTo6c2V0
VHlwZShHcmFwaCYgZ3JhcGgsIFNwZWN1bGF0ZWRUeXBlIHR5cGUpCit7CisgICAgU3BlY3VsYXRl
ZFR5cGUgY2VsbFR5cGUgPSB0eXBlICYgU3BlY0NlbGw7CisgICAgaWYgKGNlbGxUeXBlKSB7Cisg
ICAgICAgIGlmICghKGNlbGxUeXBlICYgflNwZWNTdHJpbmcpKQorICAgICAgICAgICAgbV9zdHJ1
Y3R1cmUgPSBncmFwaC5tX3ZtLnN0cmluZ1N0cnVjdHVyZS5nZXQoKTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgbV9zdHJ1Y3R1cmUubWFrZVRvcCgpOworICAgICAgICBtX2FycmF5TW9kZXMg
PSBBTExfQVJSQVlfTU9ERVM7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbV9zdHJ1Y3R1cmUuY2xl
YXIoKTsKKyAgICAgICAgbV9hcnJheU1vZGVzID0gMDsKKyAgICB9CisgICAgbV90eXBlID0gdHlw
ZTsKKyAgICBtX3ZhbHVlID0gSlNWYWx1ZSgpOworICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKK30K
Kwogdm9pZCBBYnN0cmFjdFZhbHVlOjpmaXhUeXBlRm9yUmVwcmVzZW50YXRpb24oTm9kZUZsYWdz
IHJlcHJlc2VudGF0aW9uKQogewogICAgIGlmIChyZXByZXNlbnRhdGlvbiA9PSBOb2RlUmVzdWx0
RG91YmxlKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0VmFs
dWUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0
VmFsdWUuaAkocmV2aXNpb24gMTgzNTI4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBYnN0cmFjdFZhbHVlLmgJKHdvcmtpbmcgY29weSkKQEAgLTE5OSwxNSArMTk5LDE1IEBAIHN0
cnVjdCBBYnN0cmFjdFZhbHVlIHsKICAgICB2b2lkIHNldChHcmFwaCYsIFN0cnVjdHVyZSopOwog
ICAgIHZvaWQgc2V0KEdyYXBoJiwgY29uc3QgU3RydWN0dXJlU2V0Jik7CiAgICAgCisgICAgLy8g
U2V0IHRoaXMgdmFsdWUgdG8gcmVwcmVzZW50IHRoZSBnaXZlbiBzZXQgb2YgdHlwZXMgYXMgcHJl
Y2lzZWx5IGFzIHBvc3NpYmxlLgorICAgIHZvaWQgc2V0VHlwZShHcmFwaCYgZ3JhcGgsIFNwZWN1
bGF0ZWRUeXBlIHR5cGUpOworICAgIAorICAgIC8vIEFzIGFib3ZlLCBidXQgb25seSB2YWxpZCBm
b3Igbm9uLWNlbGwgdHlwZXMuCiAgICAgdm9pZCBzZXRUeXBlKFNwZWN1bGF0ZWRUeXBlIHR5cGUp
CiAgICAgewotICAgICAgICBpZiAodHlwZSAmIFNwZWNDZWxsKSB7Ci0gICAgICAgICAgICBtX3N0
cnVjdHVyZS5tYWtlVG9wKCk7Ci0gICAgICAgICAgICBtX2FycmF5TW9kZXMgPSBBTExfQVJSQVlf
TU9ERVM7Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBtX3N0cnVjdHVyZS5jbGVhcigp
OwotICAgICAgICAgICAgbV9hcnJheU1vZGVzID0gMDsKLSAgICAgICAgfQorICAgICAgICBSRUxF
QVNFX0FTU0VSVCghKHR5cGUgJiBTcGVjQ2VsbCkpOworICAgICAgICBtX3N0cnVjdHVyZS5jbGVh
cigpOworICAgICAgICBtX2FycmF5TW9kZXMgPSAwOwogICAgICAgICBtX3R5cGUgPSB0eXBlOwog
ICAgICAgICBtX3ZhbHVlID0gSlNWYWx1ZSgpOwogICAgICAgICBjaGVja0NvbnNpc3RlbmN5KCk7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0luUGxhY2VBYnN0cmFjdFN0YXRl
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0luUGxhY2VB
YnN0cmFjdFN0YXRlLmNwcAkocmV2aXNpb24gMTgzNTI4KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdJblBsYWNlQWJzdHJhY3RTdGF0ZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEx
OCw3ICsxMTgsNyBAQCB2b2lkIEluUGxhY2VBYnN0cmFjdFN0YXRlOjppbml0aWFsaXplKCkKICAg
ICAgICAgICAgIHJvb3QtPnZhbHVlc0F0SGVhZC5hcmd1bWVudChpKS5zZXRUeXBlKFNwZWNCb29s
ZWFuKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEZsdXNoZWRDZWxsOgotICAg
ICAgICAgICAgcm9vdC0+dmFsdWVzQXRIZWFkLmFyZ3VtZW50KGkpLnNldFR5cGUoU3BlY0NlbGwp
OworICAgICAgICAgICAgcm9vdC0+dmFsdWVzQXRIZWFkLmFyZ3VtZW50KGkpLnNldFR5cGUobV9n
cmFwaCwgU3BlY0NlbGwpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgRmx1c2hl
ZEpTVmFsdWU6CiAgICAgICAgICAgICByb290LT52YWx1ZXNBdEhlYWQuYXJndW1lbnQoaSkubWFr
ZUhlYXBUb3AoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlv
blByb3BhZ2F0aW9uUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCShyZXZpc2lvbiAxODM1Mjgp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBo
YXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzc5LDcgKzM3OSw3IEBAIHByaXZhdGU6CiAgICAg
ICAgIH0KIAogICAgICAgICBjYXNlIFR5cGVPZjogewotICAgICAgICAgICAgY2hhbmdlZCB8PSBz
ZXRQcmVkaWN0aW9uKFNwZWNTdHJpbmcpOworICAgICAgICAgICAgY2hhbmdlZCB8PSBzZXRQcmVk
aWN0aW9uKFNwZWNTdHJpbmdJZGVudCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQog
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmluZ3MuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1NtYWxsU3RyaW5ncy5j
cHAJKHJldmlzaW9uIDE4MzUyOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1Nt
YWxsU3RyaW5ncy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEzMCw3ICsxMzAsNyBAQCBTdHJpbmdJ
bXBsKiBTbWFsbFN0cmluZ3M6OnNpbmdsZUNoYXJhY3RlCiAKIHZvaWQgU21hbGxTdHJpbmdzOjpp
bml0aWFsaXplKFZNKiB2bSwgSlNTdHJpbmcqJiBzdHJpbmcsIGNvbnN0IGNoYXIqIHZhbHVlKQog
ewotICAgIHN0cmluZyA9IEpTU3RyaW5nOjpjcmVhdGUoKnZtLCBTdHJpbmdJbXBsOjpjcmVhdGUo
dmFsdWUpKTsKKyAgICBzdHJpbmcgPSBKU1N0cmluZzo6Y3JlYXRlKCp2bSwgSWRlbnRpZmllcjo6
ZnJvbVN0cmluZyh2bSwgdmFsdWUpLmltcGwoKSk7CiAgICAgbV9uZWVkc1RvQmVWaXNpdGVkID0g
dHJ1ZTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251927</attachid>
            <date>2015-04-28 22:59:06 -0700</date>
            <delta_ts>2015-04-29 08:38:34 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>14157</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgzNTMwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM4IEBA
CisyMDE1LTA0LTI4ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
VHlwZU9mIHNob3VsZCByZXR1cm4gU3BlY1N0cmluZ0lkZW50IGFuZCB0aGUgREZHIHNob3VsZCBr
bm93IHRoaXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE0NDM3NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAK
KyAgICAgICAgTWFrZSBUeXBlT2YgcmV0dXJuIGF0b21pYyBzdHJpbmdzLiBUaGF0J3MgYSBzaW1w
bGUgY2hhbmdlIGluIFNtYWxsU3RyaW5ncy4KKyAgICAgICAgCisgICAgICAgIE1ha2UgdGhlIERG
RyBrbm93IHRoaXMgYW5kIHVzZSBpdCBmb3Igb3B0aW1pemF0aW9uLiBUaGlzIG1ha2VzIFN3aXRj
aChUeXBlT2YpIGEgYml0IGxlc3MKKyAgICAgICAgYmFkLgorCisgICAgICAgICogZGZnL0RGR0Fi
c3RyYWN0SW50ZXJwcmV0ZXJJbmxpbmVzLmg6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RJ
bnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHlwZT46OmV4ZWN1dGVFZmZlY3RzKToKKyAgICAgICAg
KiBkZmcvREZHQWJzdHJhY3RWYWx1ZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RW
YWx1ZTo6c2V0VHlwZSk6CisgICAgICAgICogZGZnL0RGR0Fic3RyYWN0VmFsdWUuaDoKKyAgICAg
ICAgKEpTQzo6REZHOjpBYnN0cmFjdFZhbHVlOjpzZXRUeXBlKToKKyAgICAgICAgKiBkZmcvREZH
SW5QbGFjZUFic3RyYWN0U3RhdGUuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkluUGxhY2VBYnN0
cmFjdFN0YXRlOjppbml0aWFsaXplKToKKyAgICAgICAgKiBkZmcvREZHUHJlZGljdGlvblByb3Bh
Z2F0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlByZWRpY3Rpb25Qcm9wYWdhdGlv
blBoYXNlOjpwcm9wYWdhdGUpOgorICAgICAgICAqIHJ1bnRpbWUvU21hbGxTdHJpbmdzLmNwcDoK
KyAgICAgICAgKEpTQzo6U21hbGxTdHJpbmdzOjppbml0aWFsaXplKToKKyAgICAgICAgKiB0ZXN0
cy9zdHJlc3Mvc3dpdGNoLXR5cGVvZi1pbmRpcmVjdC5qczogQWRkZWQuCisgICAgICAgIChiYXIp
OgorICAgICAgICAoZm9vKToKKyAgICAgICAgKHRlc3QpOgorICAgICAgICAqIHRlc3RzL3N0cmVz
cy9zd2l0Y2gtdHlwZW9mLXNsaWdodGx5LWluZGlyZWN0LmpzOiBBZGRlZC4KKyAgICAgICAgKGZv
byk6CisgICAgICAgICh0ZXN0KToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3Mvc3dpdGNoLXR5cGVv
Zi5qczogQWRkZWQuCisgICAgICAgIChmb28pOgorICAgICAgICAodGVzdCk6CisKIDIwMTUtMDQt
MjggIEpvc2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBEZWFk
bG9jayBvbiBhcHBsaWNhdGlvbnMgdXNpbmcgSlNDb250ZXh0IG9uIG5vbi1tYWluIHRocmVhZApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5s
aW5lcy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJh
Y3RJbnRlcnByZXRlcklubGluZXMuaAkocmV2aXNpb24gMTgzNTI4KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zNDcsNyArMzQ3LDcgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0
U3RhdGVUeQogICAgICAgICAgICAgc2V0Q29uc3RhbnQobm9kZSwganNEb3VibGVOdW1iZXIoY2hp
bGQuYXNOdW1iZXIoKSkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAg
Zm9yTm9kZShub2RlKS5zZXRUeXBlKGZvck5vZGUobm9kZS0+Y2hpbGQxKCkpLm1fdHlwZSk7Cisg
ICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dyYXBoLCBmb3JOb2RlKG5vZGUtPmNoaWxk
MSgpKS5tX3R5cGUpOwogICAgICAgICBmb3JOb2RlKG5vZGUpLmZpeFR5cGVGb3JSZXByZXNlbnRh
dGlvbihub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMzcwLDcgKzM3MCw3IEBAIGJv
b2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUoZm9y
Tm9kZShub2RlLT5jaGlsZDEoKSkubV90eXBlICYgflNwZWNEb3VibGVJbXB1cmVOYU4pOworICAg
ICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUobV9ncmFwaCwgZm9yTm9kZShub2RlLT5jaGlsZDEo
KSkubV90eXBlICYgflNwZWNEb3VibGVJbXB1cmVOYU4pOwogICAgICAgICBmb3JOb2RlKG5vZGUp
LmZpeFR5cGVGb3JSZXByZXNlbnRhdGlvbihub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpA
QCAtMzc4LDcgKzM3OCw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRl
VHkKICAgICBjYXNlIFZhbHVlQWRkOiB7CiAgICAgICAgIEFTU0VSVChub2RlLT5iaW5hcnlVc2VL
aW5kKCkgPT0gVW50eXBlZFVzZSk7CiAgICAgICAgIGNsb2JiZXJXb3JsZChub2RlLT5vcmlnaW4u
c2VtYW50aWMsIGNsb2JiZXJMaW1pdCk7Ci0gICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShT
cGVjU3RyaW5nIHwgU3BlY0J5dGVjb2RlTnVtYmVyKTsKKyAgICAgICAgZm9yTm9kZShub2RlKS5z
ZXRUeXBlKG1fZ3JhcGgsIFNwZWNTdHJpbmcgfCBTcGVjQnl0ZWNvZGVOdW1iZXIpOwogICAgICAg
ICBicmVhazsKICAgICB9CiAgICAgICAgIApAQCAtOTEwLDcgKzkxMCw3IEBAIGJvb2wgQWJzdHJh
Y3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICB9CiAKLSAgICAgICAgZm9yTm9kZShub2RlKS5zZXQobV9ncmFwaCwgbV9ncmFwaC5tX3ZtLnN0
cmluZ1N0cnVjdHVyZS5nZXQoKSk7CisgICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dy
YXBoLCBTcGVjU3RyaW5nSWRlbnQpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgICAgICAg
ICAKQEAgLTEwMDksNyArMTAwOSw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFj
dFN0YXRlVHkKICAgICAgICAgYnJlYWs7CiAgICAgICAgIAogICAgIGNhc2UgU3RyaW5nRnJvbUNo
YXJDb2RlOgotICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUoU3BlY1N0cmluZyk7CisgICAg
ICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dyYXBoLCBTcGVjU3RyaW5nKTsKICAgICAgICAg
YnJlYWs7CiAKICAgICBjYXNlIFN0cmluZ0NoYXJBdDoKQEAgLTEyNjgsNyArMTI2OCw3IEBAIGJv
b2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAgICAgICAgCiAgICAgICAg
IGNsb2JiZXJXb3JsZChub2RlLT5vcmlnaW4uc2VtYW50aWMsIGNsb2JiZXJMaW1pdCk7CiAgICAg
ICAgIAotICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUoKFNwZWNIZWFwVG9wICYgflNwZWND
ZWxsKSB8IFNwZWNTdHJpbmcgfCBTcGVjQ2VsbE90aGVyKTsKKyAgICAgICAgZm9yTm9kZShub2Rl
KS5zZXRUeXBlKG1fZ3JhcGgsIChTcGVjSGVhcFRvcCAmIH5TcGVjQ2VsbCkgfCBTcGVjU3RyaW5n
IHwgU3BlY0NlbGxPdGhlcik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICAgICAgCkBAIC0x
MzE1LDcgKzEzMTUsNyBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5
CiAgICAgICAgIGJyZWFrOwogCiAgICAgY2FzZSBOZXdBcnJheVdpdGhTaXplOgotICAgICAgICBm
b3JOb2RlKG5vZGUpLnNldFR5cGUoU3BlY0FycmF5KTsKKyAgICAgICAgZm9yTm9kZShub2RlKS5z
ZXRUeXBlKG1fZ3JhcGgsIFNwZWNBcnJheSk7CiAgICAgICAgIGJyZWFrOwogICAgICAgICAKICAg
ICBjYXNlIE5ld1R5cGVkQXJyYXk6CkBAIC0xMzU0LDcgKzEzNTQsNyBAQCBib29sIEFic3RyYWN0
SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5CiAKICAgICBjYXNlIENyZWF0ZVRoaXM6IHsKICAg
ICAgICAgLy8gRklYTUU6IFdlIGNhbiBmb2xkIHRoaXMgdG8gTmV3T2JqZWN0IGlmIHRoZSBpbmNv
bWluZyBjYWxsZWUgaXMgYSBjb25zdGFudC4KLSAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBl
KFNwZWNGaW5hbE9iamVjdCk7CisgICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dyYXBo
LCBTcGVjRmluYWxPYmplY3QpOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgICAgIApAQCAt
MTQwMiw3ICsxNDAyLDcgQEAgYm9vbCBBYnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVU
eQogICAgICAgICBicmVhazsKICAgICAgICAgCiAgICAgY2FzZSBDcmVhdGVDbG9uZWRBcmd1bWVu
dHM6Ci0gICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShTcGVjT2JqZWN0T3RoZXIpOworICAg
ICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUobV9ncmFwaCwgU3BlY09iamVjdE90aGVyKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIAogICAgIGNhc2UgTmV3RnVuY3Rpb246CkBAIC0xNDIwLDcg
KzE0MjAsNyBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5CiAgICAg
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgZm9y
Tm9kZShub2RlKS5zZXRUeXBlKFNwZWNGdW5jdGlvbik7CisgICAgICAgIGZvck5vZGUobm9kZSku
c2V0VHlwZShtX2dyYXBoLCBTcGVjRnVuY3Rpb24pOwogICAgICAgICBicmVhazsKICAgICAgICAg
CiAgICAgY2FzZSBHZXRBcmd1bWVudENvdW50OgpAQCAtMTQzNyw3ICsxNDM3LDcgQEAgYm9vbCBB
YnN0cmFjdEludGVycHJldGVyPEFic3RyYWN0U3RhdGVUeQogICAgICAgICAgICAgfQogICAgICAg
ICB9CiAgICAgICAgIAotICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUoU3BlY09iamVjdCk7
CisgICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dyYXBoLCBTcGVjT2JqZWN0KTsKICAg
ICAgICAgYnJlYWs7CiAgICAgfQogICAgICAgICAKQEAgLTE0NTEsNyArMTQ1MSw3IEBAIGJvb2wg
QWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAgICAgICAgICAgIH0KICAgICAg
ICAgfQogICAgICAgICAKLSAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKFNwZWNPYmplY3Qp
OworICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUobV9ncmFwaCwgU3BlY09iamVjdCk7CiAg
ICAgICAgIGJyZWFrOwogICAgIH0KICAgICAgICAgCkBAIC0xNDYyLDcgKzE0NjIsNyBAQCBib29s
IEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5CiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KLSAgICAgICAgZm9yTm9kZShub2RlKS5zZXRU
eXBlKFNwZWNPYmplY3RPdGhlcik7CisgICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dy
YXBoLCBTcGVjT2JqZWN0T3RoZXIpOwogICAgICAgICBicmVhazsKIAogICAgIGNhc2UgU2tpcFNj
b3BlOiB7CkBAIC0xNDcxLDcgKzE0NzEsNyBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJz
dHJhY3RTdGF0ZVR5CiAgICAgICAgICAgICBzZXRDb25zdGFudChub2RlLCAqbV9ncmFwaC5mcmVl
emUoSlNWYWx1ZShqc0Nhc3Q8SlNTY29wZSo+KGNoaWxkLmFzQ2VsbCgpKS0+bmV4dCgpKSkpOwog
ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KLSAgICAgICAgZm9yTm9kZShub2RlKS5zZXRU
eXBlKFNwZWNPYmplY3RPdGhlcik7CisgICAgICAgIGZvck5vZGUobm9kZSkuc2V0VHlwZShtX2dy
YXBoLCBTcGVjT2JqZWN0T3RoZXIpOwogICAgICAgICBicmVhazsKICAgICB9CiAKQEAgLTE4NzQs
NyArMTg3NCw3IEBAIGJvb2wgQWJzdHJhY3RJbnRlcnByZXRlcjxBYnN0cmFjdFN0YXRlVHkKICAg
ICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgIH0KICAgICAgICAgfQotICAgICAgICBm
b3JOb2RlKG5vZGUpLnNldFR5cGUoU3BlY0NlbGxPdGhlcik7CisgICAgICAgIGZvck5vZGUobm9k
ZSkuc2V0VHlwZShtX2dyYXBoLCBTcGVjQ2VsbE90aGVyKTsKICAgICAgICAgYnJlYWs7CiAgICAg
fQogICAgIApAQCAtMTk5NywxOSArMTk5NywxOSBAQCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8
QWJzdHJhY3RTdGF0ZVR5CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIEdldFByb3Bl
cnR5RW51bWVyYXRvcjogewotICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUoU3BlY0NlbGwp
OworICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUobV9ncmFwaCwgU3BlY0NlbGwpOwogICAg
ICAgICBicmVhazsKICAgICB9CiAgICAgY2FzZSBHZXRFbnVtZXJhdG9yU3RydWN0dXJlUG5hbWU6
IHsKLSAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKFNwZWNTdHJpbmcgfCBTcGVjT3RoZXIp
OworICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUobV9ncmFwaCwgU3BlY1N0cmluZyB8IFNw
ZWNPdGhlcik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIEdldEVudW1lcmF0b3JH
ZW5lcmljUG5hbWU6IHsKLSAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKFNwZWNTdHJpbmcg
fCBTcGVjT3RoZXIpOworICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUobV9ncmFwaCwgU3Bl
Y1N0cmluZyB8IFNwZWNPdGhlcik7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICBjYXNlIFRv
SW5kZXhTdHJpbmc6IHsKLSAgICAgICAgZm9yTm9kZShub2RlKS5zZXRUeXBlKFNwZWNTdHJpbmcp
OworICAgICAgICBmb3JOb2RlKG5vZGUpLnNldFR5cGUobV9ncmFwaCwgU3BlY1N0cmluZyk7CiAg
ICAgICAgIGJyZWFrOwogICAgIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdBYnN0cmFjdFZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0Fic3RyYWN0VmFsdWUuY3BwCShyZXZpc2lvbiAxODM1MjgpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0Fic3RyYWN0VmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTgsNiArMTE4LDI0IEBAIHZvaWQgQWJzdHJhY3RWYWx1ZTo6c2V0KEdyYXBoJiBncmFwaCwgY28K
ICAgICBhc3NlcnRJc1JlZ2lzdGVyZWQoZ3JhcGgpOwogfQogCit2b2lkIEFic3RyYWN0VmFsdWU6
OnNldFR5cGUoR3JhcGgmIGdyYXBoLCBTcGVjdWxhdGVkVHlwZSB0eXBlKQoreworICAgIFNwZWN1
bGF0ZWRUeXBlIGNlbGxUeXBlID0gdHlwZSAmIFNwZWNDZWxsOworICAgIGlmIChjZWxsVHlwZSkg
eworICAgICAgICBpZiAoIShjZWxsVHlwZSAmIH5TcGVjU3RyaW5nKSkKKyAgICAgICAgICAgIG1f
c3RydWN0dXJlID0gZ3JhcGgubV92bS5zdHJpbmdTdHJ1Y3R1cmUuZ2V0KCk7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIG1fc3RydWN0dXJlLm1ha2VUb3AoKTsKKyAgICAgICAgbV9hcnJheU1v
ZGVzID0gQUxMX0FSUkFZX01PREVTOworICAgIH0gZWxzZSB7CisgICAgICAgIG1fc3RydWN0dXJl
LmNsZWFyKCk7CisgICAgICAgIG1fYXJyYXlNb2RlcyA9IDA7CisgICAgfQorICAgIG1fdHlwZSA9
IHR5cGU7CisgICAgbV92YWx1ZSA9IEpTVmFsdWUoKTsKKyAgICBjaGVja0NvbnNpc3RlbmN5KCk7
Cit9CisKIHZvaWQgQWJzdHJhY3RWYWx1ZTo6Zml4VHlwZUZvclJlcHJlc2VudGF0aW9uKE5vZGVG
bGFncyByZXByZXNlbnRhdGlvbikKIHsKICAgICBpZiAocmVwcmVzZW50YXRpb24gPT0gTm9kZVJl
c3VsdERvdWJsZSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFj
dFZhbHVlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0
cmFjdFZhbHVlLmgJKHJldmlzaW9uIDE4MzUyOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQWJzdHJhY3RWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTksMTUgKzE5OSwxNSBA
QCBzdHJ1Y3QgQWJzdHJhY3RWYWx1ZSB7CiAgICAgdm9pZCBzZXQoR3JhcGgmLCBTdHJ1Y3R1cmUq
KTsKICAgICB2b2lkIHNldChHcmFwaCYsIGNvbnN0IFN0cnVjdHVyZVNldCYpOwogICAgIAorICAg
IC8vIFNldCB0aGlzIHZhbHVlIHRvIHJlcHJlc2VudCB0aGUgZ2l2ZW4gc2V0IG9mIHR5cGVzIGFz
IHByZWNpc2VseSBhcyBwb3NzaWJsZS4KKyAgICB2b2lkIHNldFR5cGUoR3JhcGgmIGdyYXBoLCBT
cGVjdWxhdGVkVHlwZSB0eXBlKTsKKyAgICAKKyAgICAvLyBBcyBhYm92ZSwgYnV0IG9ubHkgdmFs
aWQgZm9yIG5vbi1jZWxsIHR5cGVzLgogICAgIHZvaWQgc2V0VHlwZShTcGVjdWxhdGVkVHlwZSB0
eXBlKQogICAgIHsKLSAgICAgICAgaWYgKHR5cGUgJiBTcGVjQ2VsbCkgewotICAgICAgICAgICAg
bV9zdHJ1Y3R1cmUubWFrZVRvcCgpOwotICAgICAgICAgICAgbV9hcnJheU1vZGVzID0gQUxMX0FS
UkFZX01PREVTOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgbV9zdHJ1Y3R1cmUuY2xl
YXIoKTsKLSAgICAgICAgICAgIG1fYXJyYXlNb2RlcyA9IDA7Ci0gICAgICAgIH0KKyAgICAgICAg
UkVMRUFTRV9BU1NFUlQoISh0eXBlICYgU3BlY0NlbGwpKTsKKyAgICAgICAgbV9zdHJ1Y3R1cmUu
Y2xlYXIoKTsKKyAgICAgICAgbV9hcnJheU1vZGVzID0gMDsKICAgICAgICAgbV90eXBlID0gdHlw
ZTsKICAgICAgICAgbV92YWx1ZSA9IEpTVmFsdWUoKTsKICAgICAgICAgY2hlY2tDb25zaXN0ZW5j
eSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdJblBsYWNlQWJzdHJhY3RT
dGF0ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdJblBs
YWNlQWJzdHJhY3RTdGF0ZS5jcHAJKHJldmlzaW9uIDE4MzUyOCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHSW5QbGFjZUFic3RyYWN0U3RhdGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTgsNyArMTE4LDcgQEAgdm9pZCBJblBsYWNlQWJzdHJhY3RTdGF0ZTo6aW5pdGlhbGl6ZSgp
CiAgICAgICAgICAgICByb290LT52YWx1ZXNBdEhlYWQuYXJndW1lbnQoaSkuc2V0VHlwZShTcGVj
Qm9vbGVhbik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2FzZSBGbHVzaGVkQ2VsbDoK
LSAgICAgICAgICAgIHJvb3QtPnZhbHVlc0F0SGVhZC5hcmd1bWVudChpKS5zZXRUeXBlKFNwZWND
ZWxsKTsKKyAgICAgICAgICAgIHJvb3QtPnZhbHVlc0F0SGVhZC5hcmd1bWVudChpKS5zZXRUeXBl
KG1fZ3JhcGgsIFNwZWNDZWxsKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIEZs
dXNoZWRKU1ZhbHVlOgogICAgICAgICAgICAgcm9vdC0+dmFsdWVzQXRIZWFkLmFyZ3VtZW50KGkp
Lm1ha2VIZWFwVG9wKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWRp
Y3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1ByZWRpY3Rpb25Qcm9wYWdhdGlvblBoYXNlLmNwcAkocmV2aXNpb24gMTgz
NTI4KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRp
b25QaGFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3OSw3ICszNzksNyBAQCBwcml2YXRlOgog
ICAgICAgICB9CiAKICAgICAgICAgY2FzZSBUeXBlT2Y6IHsKLSAgICAgICAgICAgIGNoYW5nZWQg
fD0gc2V0UHJlZGljdGlvbihTcGVjU3RyaW5nKTsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gc2V0
UHJlZGljdGlvbihTcGVjU3RyaW5nSWRlbnQpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAg
IH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvU21hbGxTdHJpbmdzLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9TbWFsbFN0cmlu
Z3MuY3BwCShyZXZpc2lvbiAxODM1MjgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9TbWFsbFN0cmluZ3MuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzAsNyArMTMwLDcgQEAgU3Ry
aW5nSW1wbCogU21hbGxTdHJpbmdzOjpzaW5nbGVDaGFyYWN0ZQogCiB2b2lkIFNtYWxsU3RyaW5n
czo6aW5pdGlhbGl6ZShWTSogdm0sIEpTU3RyaW5nKiYgc3RyaW5nLCBjb25zdCBjaGFyKiB2YWx1
ZSkKIHsKLSAgICBzdHJpbmcgPSBKU1N0cmluZzo6Y3JlYXRlKCp2bSwgU3RyaW5nSW1wbDo6Y3Jl
YXRlKHZhbHVlKSk7CisgICAgc3RyaW5nID0gSlNTdHJpbmc6OmNyZWF0ZSgqdm0sIElkZW50aWZp
ZXI6OmZyb21TdHJpbmcodm0sIHZhbHVlKS5pbXBsKCkpOwogICAgIG1fbmVlZHNUb0JlVmlzaXRl
ZCA9IHRydWU7CiB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
c3dpdGNoLXR5cGVvZi1pbmRpcmVjdC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL3N3aXRjaC10eXBlb2YtaW5kaXJlY3QuanMJKHJldmlzaW9uIDAp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL3N3aXRjaC10eXBlb2YtaW5k
aXJlY3QuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MSBAQAorZnVuY3Rpb24gYmFyKHZh
bHVlKSB7CisgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZTsKK30KK25vSW5saW5lKGJhcik7CisKK2Z1
bmN0aW9uIGZvbyh2YWx1ZSkgeworICAgIHN3aXRjaCAoYmFyKHZhbHVlKSkgeworICAgIGNhc2Ug
InVuZGVmaW5lZCI6CisgICAgICAgIHJldHVybiAwOworICAgIGNhc2UgIm9iamVjdCI6CisgICAg
ICAgIHJldHVybiAxOworICAgIGNhc2UgImZ1bmN0aW9uIjoKKyAgICAgICAgcmV0dXJuIDI7Cisg
ICAgY2FzZSAiYm9vbGVhbiI6CisgICAgICAgIHJldHVybiAzOworICAgIGNhc2UgIm51bWJlciI6
CisgICAgICAgIHJldHVybiA0OworICAgIGNhc2UgInN0cmluZyI6CisgICAgICAgIHJldHVybiA1
OworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiA2OworICAgIH0KK30KKworbm9JbmxpbmUo
Zm9vKTsKKworZnVuY3Rpb24gdGVzdCh2YWx1ZSwgZXhwZWN0ZWQpIHsKKyAgICB2YXIgcmVzdWx0
ID0gZm9vKHZhbHVlKTsKKyAgICBpZiAocmVzdWx0ICE9IGV4cGVjdGVkKQorICAgICAgICB0aHJv
dyAiRXJyb3I6IGJhZCB0eXBlIGNvZGUgZm9yICIgKyB2YWx1ZSArICI6ICIgKyByZXN1bHQgKyAi
IChleHBlY3RlZCAiICsgZXhwZWN0ZWQgKyAiKSI7Cit9CisKK2ZvciAodmFyIGkgPSAwOyBpIDwg
MTAwMDA7ICsraSkgeworICAgIHRlc3Qodm9pZCAwLCAwKTsKKyAgICB0ZXN0KHt9LCAxKTsKKyAg
ICB0ZXN0KGZ1bmN0aW9uKCkgeyByZXR1cm4gNDI7IH0sIDIpOworICAgIHRlc3QodHJ1ZSwgMyk7
CisgICAgdGVzdCg0MiwgNCk7CisgICAgdGVzdCg0Mi41LCA0KTsKKyAgICB0ZXN0KCJoZWxsbyIs
IDUpOworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9zd2l0Y2gt
dHlwZW9mLXNsaWdodGx5LWluZGlyZWN0LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3Mvc3dpdGNoLXR5cGVvZi1zbGlnaHRseS1pbmRpcmVjdC5qcwko
cmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvc3dpdGNo
LXR5cGVvZi1zbGlnaHRseS1pbmRpcmVjdC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM5
IEBACitmdW5jdGlvbiBmb28odmFsdWUpIHsKKyAgICB2YXIgdCA9IHR5cGVvZiB2YWx1ZTsKKyAg
ICBpZiAoIXQpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBzd2l0Y2ggKHQpIHsKKyAgICBjYXNl
ICJ1bmRlZmluZWQiOgorICAgICAgICByZXR1cm4gMDsKKyAgICBjYXNlICJvYmplY3QiOgorICAg
ICAgICByZXR1cm4gMTsKKyAgICBjYXNlICJmdW5jdGlvbiI6CisgICAgICAgIHJldHVybiAyOwor
ICAgIGNhc2UgImJvb2xlYW4iOgorICAgICAgICByZXR1cm4gMzsKKyAgICBjYXNlICJudW1iZXIi
OgorICAgICAgICByZXR1cm4gNDsKKyAgICBjYXNlICJzdHJpbmciOgorICAgICAgICByZXR1cm4g
NTsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gNjsKKyAgICB9Cit9CisKK25vSW5saW5l
KGZvbyk7CisKK2Z1bmN0aW9uIHRlc3QodmFsdWUsIGV4cGVjdGVkKSB7CisgICAgdmFyIHJlc3Vs
dCA9IGZvbyh2YWx1ZSk7CisgICAgaWYgKHJlc3VsdCAhPSBleHBlY3RlZCkKKyAgICAgICAgdGhy
b3cgIkVycm9yOiBiYWQgdHlwZSBjb2RlIGZvciAiICsgdmFsdWUgKyAiOiAiICsgcmVzdWx0ICsg
IiAoZXhwZWN0ZWQgIiArIGV4cGVjdGVkICsgIikiOworfQorCitmb3IgKHZhciBpID0gMDsgaSA8
IDEwMDAwOyArK2kpIHsKKyAgICB0ZXN0KHZvaWQgMCwgMCk7CisgICAgdGVzdCh7fSwgMSk7Cisg
ICAgdGVzdChmdW5jdGlvbigpIHsgcmV0dXJuIDQyOyB9LCAyKTsKKyAgICB0ZXN0KHRydWUsIDMp
OworICAgIHRlc3QoNDIsIDQpOworICAgIHRlc3QoNDIuNSwgNCk7CisgICAgdGVzdCgiaGVsbG8i
LCA1KTsKK30KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mvc3dpdGNo
LXR5cGVvZi5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL3N3aXRjaC10eXBlb2YuanMJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvdGVzdHMvc3RyZXNzL3N3aXRjaC10eXBlb2YuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwzNiBAQAorZnVuY3Rpb24gZm9vKHZhbHVlKSB7CisgICAgc3dpdGNoICh0eXBlb2YgdmFsdWUp
IHsKKyAgICBjYXNlICJ1bmRlZmluZWQiOgorICAgICAgICByZXR1cm4gMDsKKyAgICBjYXNlICJv
YmplY3QiOgorICAgICAgICByZXR1cm4gMTsKKyAgICBjYXNlICJmdW5jdGlvbiI6CisgICAgICAg
IHJldHVybiAyOworICAgIGNhc2UgImJvb2xlYW4iOgorICAgICAgICByZXR1cm4gMzsKKyAgICBj
YXNlICJudW1iZXIiOgorICAgICAgICByZXR1cm4gNDsKKyAgICBjYXNlICJzdHJpbmciOgorICAg
ICAgICByZXR1cm4gNTsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gNjsKKyAgICB9Cit9
CisKK25vSW5saW5lKGZvbyk7CisKK2Z1bmN0aW9uIHRlc3QodmFsdWUsIGV4cGVjdGVkKSB7Cisg
ICAgdmFyIHJlc3VsdCA9IGZvbyh2YWx1ZSk7CisgICAgaWYgKHJlc3VsdCAhPSBleHBlY3RlZCkK
KyAgICAgICAgdGhyb3cgIkVycm9yOiBiYWQgdHlwZSBjb2RlIGZvciAiICsgdmFsdWUgKyAiOiAi
ICsgcmVzdWx0ICsgIiAoZXhwZWN0ZWQgIiArIGV4cGVjdGVkICsgIikiOworfQorCitmb3IgKHZh
ciBpID0gMDsgaSA8IDEwMDAwOyArK2kpIHsKKyAgICB0ZXN0KHZvaWQgMCwgMCk7CisgICAgdGVz
dCh7fSwgMSk7CisgICAgdGVzdChmdW5jdGlvbigpIHsgcmV0dXJuIDQyOyB9LCAyKTsKKyAgICB0
ZXN0KHRydWUsIDMpOworICAgIHRlc3QoNDIsIDQpOworICAgIHRlc3QoNDIuNSwgNCk7CisgICAg
dGVzdCgiaGVsbG8iLCA1KTsKK30K
</data>
<flag name="review"
          id="276733"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>