<?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>117046</bug_id>
          
          <creation_ts>2013-05-30 14:51:39 -0700</creation_ts>
          <short_desc>fourthTier: Have the DFG forward exit on call result being zero</short_desc>
          <delta_ts>2013-12-12 13:01:47 -0800</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>INVALID</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>
          <dependson>117047</dependson>
          <blocked>117045</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>895684</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-30 14:51:39 -0700</bug_when>
    <thetext>If this is perf-neutral then this tells us that we should just convert all of JSC to do branch-after-call exception checking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>896049</commentid>
    <comment_count>1</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-31 20:24:40 -0700</bug_when>
    <thetext>This is a 1% slow-down in V8.  We should think carefully about what we want to do.


Benchmark report for SunSpider, V8Spider, Octane, Kraken, and JSRegress on oldmac (MacPro4,1).

VMs tested:
&quot;Old&quot; at /Volumes/Data/pizlo/fourthTier/secondary/OpenSource/WebKitBuild/Release/jsc (r150814)
&quot;TipOfTree&quot; at /Volumes/Data/pizlo/fourthTier/OpenSource/WebKitBuild/Release/jsc (r151061)
&quot;ExcCheck&quot; at /Volumes/Data/fromMiniMe/fourthTier/primary/OpenSource/WebKitBuild/Release/jsc (r151061)

Collected 12 samples per benchmark/VM, with 4 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.

                                                        Old                    TipOfTree                  ExcCheck                ExcCheck v. Old      
SunSpider:
   3d-cube                                         6.7699+-0.1114            6.7254+-0.1094     ^      6.3398+-0.1007        ^ definitely 1.0679x faster
   3d-morph                                        8.4900+-0.0605     ?      8.5462+-0.0947     ?      8.5856+-0.1139        ? might be 1.0113x slower
   3d-raytrace                                     8.4238+-0.1246            8.3974+-0.0970     ?      8.5197+-0.1583        ? might be 1.0114x slower
   access-binary-trees                             1.8283+-0.0161            1.8197+-0.0120     ?      1.8764+-0.0721        ? might be 1.0264x slower
   access-fannkuch                                 7.5176+-0.0821            7.5066+-0.0672     ?      7.5172+-0.0768        
   access-nbody                                    4.0465+-0.0406     ^      3.9847+-0.0165     ?      3.9851+-0.0126        ^ definitely 1.0154x faster
   access-nsieve                                   4.7101+-0.1106     ?      4.8341+-0.1569            4.7626+-0.1173        ? might be 1.0111x slower
   bitops-3bit-bits-in-byte                        1.7812+-0.0223            1.7785+-0.0205     ?      1.7833+-0.0190        ?
   bitops-bits-in-byte                             6.6626+-0.0539     ?      6.7215+-0.0987     ?      6.8200+-0.1022        ! definitely 1.0236x slower
   bitops-bitwise-and                              2.8141+-0.0167            2.8090+-0.0315            2.7846+-0.0276          might be 1.0106x faster
   bitops-nsieve-bits                              4.5375+-0.0572            4.5093+-0.0289            4.5091+-0.0358        
   controlflow-recursive                           2.9889+-0.0202     ?      3.0166+-0.0340            3.0035+-0.0084        ?
   crypto-aes                                      5.1558+-0.0792     ?      5.1968+-0.0618            5.1968+-0.0583        ?
   crypto-md5                                      3.0491+-0.0279            3.0403+-0.0229            3.0355+-0.0300        
   crypto-sha1                                     2.8224+-0.0127            2.8115+-0.0206     ?      2.8124+-0.0184        
   date-format-tofte                              14.7233+-0.2024     ?     14.9053+-0.2111           14.8184+-0.2205        ?
   date-format-xparb                               8.4229+-0.1505            8.4008+-0.1862     ?      8.4441+-0.1545        ?
   math-cordic                                     3.9290+-0.0196     ?      3.9340+-0.0118     ?      3.9762+-0.0333        ? might be 1.0120x slower
   math-partial-sums                              12.1361+-0.1150     ?     12.3424+-0.1983           12.3142+-0.2011        ? might be 1.0147x slower
   math-spectral-norm                              2.7093+-0.0195     ?      2.7096+-0.0108            2.7076+-0.0112        
   regexp-dna                                     12.6841+-0.2103           12.6783+-0.1567           12.6067+-0.2135        
   string-base64                                   5.0546+-0.0495     ?      5.0673+-0.0569     ?      5.0919+-0.0442        ?
   string-fasta                                   10.7746+-0.1626           10.7677+-0.1650     ?     10.7803+-0.1524        ?
   string-tagcloud                                14.2127+-0.1570           14.1541+-0.2107     ?     14.1825+-0.1818        
   string-unpack-code                             27.8701+-0.0824     ?     27.9042+-0.1331           27.7024+-0.0780        ^ definitely 1.0061x faster
   string-validate-input                           6.4868+-0.0742            6.4783+-0.1063     ?      6.5123+-0.1168        ?

   &lt;arithmetic&gt; *                                  7.3308+-0.0535     ?      7.3477+-0.0453            7.3334+-0.0552        ? might be 1.0004x slower
   &lt;geometric&gt;                                     5.8050+-0.0354     ?      5.8127+-0.0272            5.8099+-0.0415        ? might be 1.0008x slower
   &lt;harmonic&gt;                                      4.6885+-0.0215     ?      4.6892+-0.0161     ?      4.6963+-0.0307        ? might be 1.0017x slower

                                                        Old                    TipOfTree                  ExcCheck                ExcCheck v. Old      
V8Spider:
   crypto                                         79.6740+-0.1561           79.4727+-0.1427     ?     79.6083+-0.1792        
   deltablue                                     104.3897+-0.5193          103.9252+-0.8624     !    105.3514+-0.5399        ?
   earley-boyer                                   69.1266+-0.3586     ?     69.4883+-0.1606     !     70.3408+-0.2388        ! definitely 1.0176x slower
   raytrace                                       37.9461+-0.2380     ?     38.0431+-0.3628     ?     38.5130+-0.2357        ! definitely 1.0149x slower
   regexp                                         99.5935+-0.3479     !    100.2727+-0.1803     ?    100.9891+-0.6425        ! definitely 1.0140x slower
   richards                                      112.5156+-0.9943          111.6875+-0.9613     !    114.9874+-1.6955        ? might be 1.0220x slower
   splay                                          47.2261+-0.2917     ?     47.5774+-0.5622           46.9048+-0.2211        

   &lt;arithmetic&gt;                                   78.6388+-0.2242           78.6381+-0.2080     !     79.5278+-0.3387        ! definitely 1.0113x slower
   &lt;geometric&gt; *                                  73.4593+-0.1973     ?     73.5372+-0.1845     !     74.1902+-0.2749        ! definitely 1.0099x slower
   &lt;harmonic&gt;                                     67.9225+-0.2006     ?     68.0670+-0.2125     ?     68.5197+-0.2415        ! definitely 1.0088x slower

                                                        Old                    TipOfTree                  ExcCheck                ExcCheck v. Old      
Octane and V8v7:
   encrypt                                        0.46643+-0.00050          0.46630+-0.00042    !     0.46869+-0.00054       ! definitely 1.0048x slower
   decrypt                                        8.61648+-0.01083    ?     8.64593+-0.02876          8.64227+-0.03047       ?
   deltablue                             x2       0.57239+-0.00584          0.56917+-0.00188    !     0.58376+-0.00189       ! definitely 1.0199x slower
   earley                                         0.88131+-0.00293    ^     0.86996+-0.00600    ?     0.87308+-0.00644       
   boyer                                         12.98142+-0.23116         12.97907+-0.06141    ?    13.06067+-0.06188       ?
   raytrace                              x2       4.45271+-0.04724    !     4.57869+-0.02442    ?     4.63247+-0.05441       ! definitely 1.0404x slower
   regexp                                x2      32.40847+-0.11598    ?    32.51533+-0.37431         32.51215+-0.28783       ?
   richards                              x2       0.30158+-0.00238    !     0.31123+-0.00424    !     0.31973+-0.00269       ! definitely 1.0602x slower
   splay                                 x2       0.66794+-0.04501          0.63892+-0.01413          0.63813+-0.01833         might be 1.0467x faster
   navier-stokes                         x2      10.77353+-0.00534    ?    10.77593+-0.00723    ?    10.78609+-0.00639       ! definitely 1.0012x slower
   closure                                        0.31886+-0.03439          0.31868+-0.03496    ?     0.32315+-0.03526       ? might be 1.0135x slower
   jquery                                         4.51583+-0.55910    ?     4.52278+-0.55384    ?     4.57628+-0.55849       ? might be 1.0134x slower
   gbemu                                 x2     252.72132+-16.60370   ?   254.72276+-17.31471       251.64091+-16.05746      
   box2d                                 x2      32.34858+-0.12831         32.01057+-0.26254         31.94732+-0.16533       ^ definitely 1.0126x faster

V8v7:
   &lt;arithmetic&gt;                                   7.58118+-0.02308    ?     7.60874+-0.04699    ?     7.62434+-0.03299       ? might be 1.0057x slower
   &lt;geometric&gt; *                                  2.42853+-0.02150    ?     2.43205+-0.00919    !     2.45360+-0.01153       ? might be 1.0103x slower
   &lt;harmonic&gt;                                     0.92415+-0.01064    ?     0.92776+-0.00575    !     0.94277+-0.00559       ! definitely 1.0202x slower

Octane including V8v7:
   &lt;arithmetic&gt;                                  31.64879+-1.51783    ?    31.82036+-1.57624         31.54842+-1.46994         might be 1.0032x faster
   &lt;geometric&gt; *                                  4.38918+-0.05213    ?     4.39345+-0.06625    ?     4.42132+-0.06179       ? might be 1.0073x slower
   &lt;harmonic&gt;                                     1.05670+-0.01568    ?     1.06028+-0.01855    ?     1.07695+-0.01830       ? might be 1.0192x slower

                                                        Old                    TipOfTree                  ExcCheck                ExcCheck v. Old      
Kraken:
   ai-astar                                       492.399+-0.871      ?     492.540+-0.422            492.509+-0.384         ?
   audio-beat-detection                           242.431+-0.623            240.848+-1.354            239.385+-0.671         ^ definitely 1.0127x faster
   audio-dft                                      309.472+-0.745            308.176+-1.321      ?     309.185+-1.367         
   audio-fft                                      143.274+-0.152            143.266+-0.090      ?     144.101+-1.952         ?
   audio-oscillator                               234.227+-1.147            232.584+-0.562      !     235.408+-0.770         ?
   imaging-darkroom                               291.227+-0.636      ?     294.345+-3.250            289.832+-1.337         
   imaging-desaturate                             159.976+-0.114      ?     160.050+-0.165            159.916+-0.121         
   imaging-gaussian-blur                          405.830+-5.084            402.120+-1.060            401.663+-0.149           might be 1.0104x faster
   json-parse-financial                            80.981+-0.328      ^      80.139+-0.412      ?      80.701+-0.311         
   json-stringify-tinderbox                       101.335+-0.597      ?     102.042+-0.415      ^     100.655+-0.382         
   stanford-crypto-aes                             95.745+-2.423             93.448+-0.279      !      94.566+-0.773           might be 1.0125x faster
   stanford-crypto-ccm                            101.180+-2.397            100.965+-2.582            100.742+-2.523         
   stanford-crypto-pbkdf2                         271.968+-3.492      ^     267.819+-0.611            267.607+-0.786         ^ definitely 1.0163x faster
   stanford-crypto-sha256-iterative               115.164+-0.153      ?     115.662+-0.503            115.410+-0.155         ?

   &lt;arithmetic&gt; *                                 217.515+-0.617            216.715+-0.401            216.549+-0.363           might be 1.0045x faster
   &lt;geometric&gt;                                    185.764+-0.721            185.023+-0.500            184.991+-0.517           might be 1.0042x faster
   &lt;harmonic&gt;                                     159.608+-0.857            158.879+-0.616      ?     158.967+-0.631           might be 1.0040x faster

                                                        Old                    TipOfTree                  ExcCheck                ExcCheck v. Old      
JSRegress:
   adapt-to-double-divide                         22.5125+-0.0550           22.4732+-0.0512     ?     22.5917+-0.0696        ?
   aliased-arguments-getbyval                      0.8478+-0.0138            0.8350+-0.0069            0.8328+-0.0072          might be 1.0180x faster
   allocate-big-object                             2.4773+-0.0300            2.4690+-0.0232            2.4633+-0.0283        
   arity-mismatch-inlining                         0.7843+-0.0205            0.7694+-0.0196     ?      0.7817+-0.0176        
   array-access-polymorphic-structure              6.8340+-0.0968            6.8000+-0.1089            6.7869+-0.0994        
   array-nonarray-polymorhpic-access             208.7441+-4.4749          202.5068+-5.9443     ?    204.1625+-4.8563          might be 1.0224x faster
   array-with-double-add                           5.8257+-0.0695     ?      5.8764+-0.0793            5.8321+-0.0779        ?
   array-with-double-increment                     4.2121+-0.0893            4.1051+-0.0396     ?      4.1225+-0.0337          might be 1.0217x faster
   array-with-double-mul-add                       7.1318+-0.0985     ^      6.6857+-0.0942     ?      6.7361+-0.0637        ^ definitely 1.0587x faster
   array-with-double-sum                           7.8947+-0.1025     ?      7.9102+-0.0834            7.8869+-0.0909        
   array-with-int32-add-sub                       10.5363+-0.0871     ?     10.5655+-0.0874     ?     10.5670+-0.0984        ?
   array-with-int32-or-double-sum                  7.9827+-0.0793     ?      8.0520+-0.1017            7.9977+-0.0789        ?
   big-int-mul                                     4.7705+-0.0646     ?      4.7717+-0.0656     ?      4.8198+-0.0408        ? might be 1.0103x slower
   boolean-test                                    4.4568+-0.0814            4.3902+-0.0723     ?      4.3987+-0.0639          might be 1.0132x faster
   branch-fold                                    16.8245+-0.0815     ^     16.1593+-0.0801     !     16.5644+-0.2826          might be 1.0157x faster
   cast-int-to-double                             13.8244+-0.0873     ?     13.9731+-0.1835           13.9454+-0.2956        ?
   cell-argument                                  14.4642+-0.1203     ?     14.4646+-0.1125           14.3937+-0.0772        
   cfg-simplify                                    3.9663+-0.0624            3.9568+-0.0579     ?      3.9755+-0.0616        ?
   cmpeq-obj-to-obj-other                         10.6918+-0.2201     !     11.3579+-0.3509     ?     11.3868+-0.3607        ! definitely 1.0650x slower
   constant-test                                   8.6457+-0.0967            8.6135+-0.0839            8.5077+-0.1332          might be 1.0162x faster
   direct-arguments-getbyval                       0.7317+-0.0111     ?      0.7321+-0.0126     ?      0.7327+-0.0118        ?
   double-pollution-getbyval                      10.8464+-0.0764           10.8186+-0.0838     ?     10.9920+-0.1481        ? might be 1.0134x slower
   double-pollution-putbyoffset                    5.0464+-0.0834            5.0393+-0.0743            5.0190+-0.1139        
   empty-string-plus-int                          10.8117+-0.1831     ?     11.0870+-0.2920           10.9166+-0.1602        ?
   external-arguments-getbyval                     2.0117+-0.0182     ^      1.9167+-0.0107     ?      1.9458+-0.0217        ^ definitely 1.0339x faster
   external-arguments-putbyval                     3.1754+-0.0870            3.1659+-0.0248     ?      3.3026+-0.1163        ? might be 1.0401x slower
   Float32Array-matrix-mult                       13.9186+-0.3104     ?     14.1360+-0.2810     ^     13.6797+-0.0821          might be 1.0175x faster
   fold-double-to-int                             22.1552+-0.2193           21.9825+-0.1621     !     23.3852+-0.1978        ! definitely 1.0555x slower
   function-dot-apply                              3.1299+-0.0262            3.1069+-0.0116     !      3.2669+-0.0165        ! definitely 1.0438x slower
   function-test                                   5.1696+-0.0642     ^      4.9557+-0.1080     ?      5.0005+-0.1020        ^ definitely 1.0338x faster
   get-by-id-chain-from-try-block                  6.5923+-0.0944     ?      6.7499+-0.1623            6.6680+-0.1881        ? might be 1.0115x slower
   HashMap-put-get-iterate-keys                   90.7248+-1.4257     ?     91.9169+-1.2704           91.8881+-3.4669        ? might be 1.0128x slower
   HashMap-put-get-iterate                        93.7226+-1.3381     ?     95.1308+-0.6062           93.7521+-0.8851        ?
   HashMap-string-put-get-iterate                 72.5284+-2.2217           72.2549+-0.3975           71.7639+-0.5544          might be 1.0107x faster
   imul-double-only                                    ERROR                     ERROR                     ERROR             
   imul-int-only                                       ERROR                     ERROR                     ERROR             
   imul-mixed                                          ERROR                     ERROR                     ERROR             
   indexed-properties-in-objects                   4.4275+-0.0145            4.3740+-0.0473            4.3591+-0.0576          might be 1.0157x faster
   inline-arguments-access                         1.2491+-0.0127     ?      1.2516+-0.0121     ?      1.2520+-0.0115        ?
   inline-arguments-local-escape                  25.3789+-0.6412     ^     23.5458+-0.4273           23.0822+-0.1915        ^ definitely 1.0995x faster
   inline-get-scoped-var                           6.6262+-0.1387     ?      6.6282+-0.0970            6.5863+-0.1024        
   inlined-put-by-id-transition                   16.2858+-0.2901     ?     16.3706+-0.1242           16.3334+-0.2679        ?
   int-or-other-abs-then-get-by-val                8.7339+-0.1053     !      8.9589+-0.1034     ?      8.9685+-0.1139        ! definitely 1.0269x slower
   int-or-other-abs-zero-then-get-by-val          36.9924+-0.1220           36.9184+-0.1012     ?     37.1192+-0.1532        ?
   int-or-other-add-then-get-by-val               10.1859+-0.0751     ?     10.2029+-0.0720     ?     10.3861+-0.1635        ? might be 1.0197x slower
   int-or-other-add                               10.4749+-0.0677     ?     10.4814+-0.0645     ?     10.5407+-0.1191        ?
   int-or-other-div-then-get-by-val                6.3123+-0.0829     ?      6.4394+-0.0745            6.3086+-0.0734        
   int-or-other-max-then-get-by-val                7.3653+-0.0830            7.2906+-0.0850     ?      7.3117+-0.0903        
   int-or-other-min-then-get-by-val                7.3436+-0.0889            7.3002+-0.0818            7.2864+-0.0772        
   int-or-other-mod-then-get-by-val                6.1291+-0.0901     ?      6.1845+-0.0845            6.1270+-0.0837        
   int-or-other-mul-then-get-by-val                6.4786+-0.0789            6.4428+-0.0918     ?      6.5085+-0.1177        ?
   int-or-other-neg-then-get-by-val                8.0976+-0.0866            8.0755+-0.1108     ?      8.0801+-0.1065        
   int-or-other-neg-zero-then-get-by-val          37.2310+-0.3095           37.0290+-0.4082     ?     37.2360+-0.3507        ?
   int-or-other-sub-then-get-by-val               10.3009+-0.1624           10.2253+-0.0918     ?     10.2290+-0.1334        
   int-or-other-sub                                8.1995+-0.1006     ?      8.2122+-0.0931            8.1765+-0.0878        
   int-overflow-local                             11.6840+-0.0808     ?     11.7619+-0.1089     ?     11.8750+-0.1492        ? might be 1.0163x slower
   Int16Array-bubble-sort                         49.1516+-0.1077     ?     49.1946+-0.1517     !     49.6835+-0.0745        ! definitely 1.0108x slower
   Int16Array-load-int-mul                         1.9205+-0.0117            1.9187+-0.0102     ?      1.9209+-0.0145        ?
   Int8Array-load                                  4.8175+-0.0555            4.8172+-0.0578            4.8013+-0.0629        
   integer-divide                                 15.2602+-0.1281           15.2449+-0.1036           15.2113+-0.1288        
   integer-modulo                                  1.9853+-0.0211            1.9730+-0.0171     ?      1.9780+-0.0120        
   make-indexed-storage                            3.7529+-0.0473            3.7212+-0.0576     ?      3.7869+-0.0441        ?
   method-on-number                               26.1491+-0.6090     ^     25.1895+-0.2804     ?     25.2145+-0.6299          might be 1.0371x faster
   negative-zero-divide                            0.3315+-0.0174            0.3298+-0.0178     ?      0.3300+-0.0166        
   negative-zero-modulo                            0.3419+-0.0296            0.3222+-0.0212     ?      0.3248+-0.0213          might be 1.0526x faster
   negative-zero-negate                            0.3097+-0.0222            0.3097+-0.0218     ?      0.3107+-0.0224        ?
   nested-function-parsing-random                383.2400+-13.0458    !    409.8920+-12.8997         388.5887+-12.7613       ? might be 1.0140x slower
   nested-function-parsing                        47.8582+-0.9793     ?     47.9202+-1.0114     ?     48.0087+-1.0638        ?
   new-array-buffer-dead                           3.6726+-0.0393            3.6558+-0.0142     ?      3.6700+-0.0299        
   new-array-buffer-push                          10.2118+-0.2051           10.2017+-0.1986     ?     10.2380+-0.1030        ?
   new-array-dead                                 28.3627+-0.1045           28.3340+-0.0814     ?     28.7300+-0.4882        ? might be 1.0130x slower
   new-array-push                                  7.1222+-0.2683            6.8309+-0.1026            6.8210+-0.0732          might be 1.0442x faster
   number-test                                     4.3280+-0.0650     ?      4.3742+-0.0613            4.3320+-0.0575        ?
   object-closure-call                            11.8983+-2.0564           11.2866+-2.0490     ?     13.5982+-1.6023        ? might be 1.1429x slower
   object-test                                     4.8343+-0.0739     !      4.9921+-0.0673            4.9591+-0.0531        ? might be 1.0258x slower
   poly-stricteq                                  92.8363+-1.0921           92.2200+-0.5972     ?     92.4510+-0.6966        
   polymorphic-structure                          20.9108+-0.1892     ?     21.1539+-0.3487           20.8679+-0.2015        
   polyvariant-monomorphic-get-by-id              12.5982+-0.1264           12.5022+-0.0704     ?     12.5280+-0.0733        
   rare-osr-exit-on-local                         20.1514+-0.2860     ?     20.3955+-0.3427           20.1216+-0.1250        
   register-pressure-from-osr                     31.6137+-0.4227           31.3083+-0.1082     !     31.6614+-0.1015        ?
   simple-activation-demo                         34.2591+-0.1061     ?     34.3190+-0.1401           34.2734+-0.1207        ?
   slow-array-profile-convergence                  3.8527+-0.0552     ?      3.8606+-0.0178            3.8497+-0.0440        
   slow-convergence                                3.4245+-0.0110            3.4175+-0.0149     !      3.4535+-0.0155        ! definitely 1.0085x slower
   sparse-conditional                              1.3212+-0.0259     ?      1.3223+-0.0228            1.3179+-0.0177        
   splice-to-remove                               50.1231+-0.7759     ?     50.5586+-1.0269     ?     51.4415+-0.4869        ! definitely 1.0263x slower
   string-concat-object                            2.7022+-0.0209            2.7012+-0.0189     ?      2.7133+-0.0219        ?
   string-concat-pair-object                       2.6937+-0.0716            2.6239+-0.0166     ?      2.6655+-0.0633          might be 1.0106x faster
   string-concat-pair-simple                      17.1083+-0.3377           17.0095+-0.2973           17.0063+-0.2527        
   string-concat-simple                           17.2902+-0.4492           17.1071+-0.2531     ?     17.1353+-0.3342        
   string-cons-repeat                             10.1584+-0.0268     ?     10.4298+-0.3399           10.1643+-0.0229        ?
   string-cons-tower                              10.8892+-0.0697           10.8514+-0.0451           10.8465+-0.0319        
   string-equality                               108.3457+-1.6232          106.1997+-3.2230          104.8456+-0.7004        ^ definitely 1.0334x faster
   string-hash                                     2.5548+-0.0130            2.5505+-0.0103            2.5497+-0.0091        
   string-repeat-arith                            44.5344+-0.2932           44.4526+-0.1795     ?     45.3228+-1.0834        ? might be 1.0177x slower
   string-sub                                     89.1360+-1.5228     ?     89.4738+-0.9872           88.7199+-0.7574        
   string-test                                     4.2365+-0.0464     ?      4.2657+-0.0481            4.2365+-0.0337        
   structure-hoist-over-transitions                3.2041+-0.0405            3.1677+-0.0235     ?      3.1772+-0.0267        
   tear-off-arguments-simple                       1.7572+-0.0087            1.7549+-0.0082     ?      1.7570+-0.0073        
   tear-off-arguments                              3.2962+-0.1545            3.1949+-0.0198            3.1921+-0.0182          might be 1.0326x faster
   temporal-structure                             21.0567+-0.1893           20.9513+-0.0762     ?     21.0121+-0.0764        
   to-int32-boolean                               23.1818+-0.0884     ?     23.2797+-0.1967           23.2248+-0.1410        ?
   undefined-test                                  4.4935+-0.0469            4.4715+-0.0406            4.4626+-0.0494        

   &lt;arithmetic&gt;                                        ERROR                     ERROR                     ERROR             
   &lt;geometric&gt; *                                       ERROR                     ERROR                     ERROR             
   &lt;harmonic&gt;                                          ERROR                     ERROR                     ERROR             

                                                        Old                    TipOfTree                  ExcCheck                ExcCheck v. Old      
All benchmarks:
   &lt;arithmetic&gt;                                        ERROR                     ERROR                     ERROR             
   &lt;geometric&gt;                                         ERROR                     ERROR                     ERROR             
   &lt;harmonic&gt;                                          ERROR                     ERROR                     ERROR             

                                                        Old                    TipOfTree                  ExcCheck                ExcCheck v. Old      
Geomean of preferred means:
   &lt;scaled-result&gt;                                     ERROR                     ERROR                     ERROR</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>896151</commentid>
    <comment_count>2</comment_count>
      <attachid>203498</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-06-01 20:04:12 -0700</bug_when>
    <thetext>Created attachment 203498
work in progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>959309</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-12-12 13:01:47 -0800</bug_when>
    <thetext>No.  This is too much of a slow-down.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>203498</attachid>
            <date>2013-06-01 20:04:12 -0700</date>
            <delta_ts>2013-06-01 20:04:12 -0700</delta_ts>
            <desc>work in progress</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>5125</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUxMDc4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBA
CisyMDEzLTA2LTAxICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
Zm91cnRoVGllcjogSGF2ZSB0aGUgREZHIGZvcndhcmQgZXhpdCBvbiBjYWxsIHJlc3VsdCBiZWlu
ZyB6ZXJvCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MTcwNDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisg
ICAgICAgIFdvcmsgaW4gcHJvZ3Jlc3MuIFRoaXMgaXMgcmlnaHQgbm93IGEgMSUgVjh2NyByZWdy
ZXNzaW9uLgorCisgICAgICAgICogYnl0ZWNvZGUvRXhpdEtpbmQuY3BwOgorICAgICAgICAoSlND
OjpleGl0S2luZFRvU3RyaW5nKToKKyAgICAgICAgKiBieXRlY29kZS9FeGl0S2luZC5oOgorICAg
ICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwpOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0
aXZlSklUOjpjb21waWxlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKToKKyAgICAgICAg
KEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisKIDIwMTMtMDYtMDEgIEZpbGlw
IFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXggc29tZSBtaW5vciBpc3N1
ZXMgaW4gdGhlIERGRydzIHByb2ZpbGluZyBvZiBoZWFwIGFjY2Vzc2VzCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvRXhpdEtpbmQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FeGl0S2luZC5jcHAJKHJldmlzaW9uIDE1MTA2MSkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9FeGl0S2luZC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTY2LDE0ICs2NiwxNSBAQCBjb25zdCBjaGFyKiBleGl0S2luZFRvU3RyaW5nKEV4
aXRLaW5kIGtpCiAgICAgICAgIHJldHVybiAiQXJndW1lbnRzRXNjYXBlZCI7CiAgICAgY2FzZSBO
b3RTdHJpbmdPYmplY3Q6CiAgICAgICAgIHJldHVybiAiTm90U3RyaW5nT2JqZWN0IjsKKyAgICBj
YXNlIEV4Y2VwdGlvbjoKKyAgICAgICAgcmV0dXJuICJFeGNlcHRpb24iOwogICAgIGNhc2UgVW5j
b3VudGFibGU6CiAgICAgICAgIHJldHVybiAiVW5jb3VudGFibGUiOwogICAgIGNhc2UgVW5jb3Vu
dGFibGVXYXRjaHBvaW50OgogICAgICAgICByZXR1cm4gIlVuY291bnRhYmxlV2F0Y2hwb2ludCI7
Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAg
ICAgICAgcmV0dXJuICJVbmtub3duIjsKICAgICB9CisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JF
QUNIRUQoKTsKKyAgICByZXR1cm4gIlVua25vd24iOwogfQogCiBib29sIGV4aXRLaW5kSXNDb3Vu
dGFibGUoRXhpdEtpbmQga2luZCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9FeGl0S2luZC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29k
ZS9FeGl0S2luZC5oCShyZXZpc2lvbiAxNTEwNjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvRXhpdEtpbmQuaAkod29ya2luZyBjb3B5KQpAQCAtNDUsNiArNDUsNyBAQCBlbnVt
IEV4aXRLaW5kIHsKICAgICBJbmFkZXF1YXRlQ292ZXJhZ2UsIC8vIFdlIGV4aXRlZCBiZWNhdXNl
IHdlIGVuZGVkIHVwIGluIGNvZGUgdGhhdCBkaWRuJ3QgaGF2ZSBwcm9maWxpbmcgY292ZXJhZ2Uu
CiAgICAgQXJndW1lbnRzRXNjYXBlZCwgLy8gV2UgZXhpdGVkIGJlY2F1c2UgYXJndW1lbnRzIGVz
Y2FwZWQgYnV0IHdlIGRpZG4ndCBleHBlY3QgdGhlbSB0by4KICAgICBOb3RTdHJpbmdPYmplY3Qs
IC8vIFdlIGV4aXRlZCBiZWNhdXNlIHdlIHNob3VsZG4ndCBoYXZlIGF0dGVtcHRlZCB0byBvcHRp
bWl6ZSBzdHJpbmcgb2JqZWN0IGFjY2Vzcy4KKyAgICBFeGNlcHRpb24sIC8vIFdlIGV4aXRlZCBi
ZWNhdXNlIG9mIGFuIGV4Y2VwdGlvbi4gQ3VycmVudGx5IHRoZSBERkcgaGFuZGxlcyBleGNlcHRp
b25zIGJ5IGV4aXRpbmcuCiAgICAgVW5jb3VudGFibGUsIC8vIFdlIGV4aXRlZCBmb3Igbm9uZSBv
ZiB0aGUgYWJvdmUgcmVhc29ucywgYW5kIHdlIHNob3VsZCBub3QgY291bnQgaXQuIE1vc3QgdXNl
cyBvZiB0aGlzIHNob3VsZCBiZSB2aWV3ZWQgYXMgYSBGSVhNRS4KICAgICBVbmNvdW50YWJsZVdh
dGNocG9pbnQgLy8gV2UgZXhpdGVkIGJlY2F1c2Ugb2YgYSB3YXRjaHBvaW50LCB3aGljaCBpc24n
dCBjb3VudGVkIGJlY2F1c2Ugd2F0Y2hwb2ludHMgZG8gdHJhY2tpbmcgdGhlbXNlbHZlcy4KIH07
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQzMl82NC5jcHAJKHJldmlzaW9uIDE1MTA2MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg0Nyw2
ICs4NDcsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwoTm9kZSogbm9kZQogICAg
IGRvbmUubGluaygmbV9qaXQpOwogCiAgICAgbV9qaXQuc2V0dXBSZXN1bHRzKHJlc3VsdFBheWxv
YWRHUFIsIHJlc3VsdFRhZ0dQUik7CisgICAgCisgICAgZm9yd2FyZFNwZWN1bGF0aW9uQ2hlY2so
CisgICAgICAgIEV4Y2VwdGlvbiwgSlNWYWx1ZVNvdXJjZSgpLCAwLAorICAgICAgICBtX2ppdC5i
cmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6RXF1YWwsIHJlc3VsdFRhZ0dQUiwgVHJ1c3RlZEltbTMy
KEVtcHR5VmFsdWVUYWcpKSwKKyAgICAgICAgVmFsdWVSZWNvdmVyeTo6aW5QYWlyKHJlc3VsdFRh
Z0dQUiwgcmVzdWx0UGF5bG9hZEdQUikpOwogCiAgICAganNWYWx1ZVJlc3VsdChyZXN1bHRUYWdH
UFIsIHJlc3VsdFBheWxvYWRHUFIsIG5vZGUsIERhdGFGb3JtYXRKUywgVXNlQ2hpbGRyZW5DYWxs
ZWRFeHBsaWNpdGx5KTsKIApAQCAtMzI2OSw3ICszMjc0LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgIGNhc2UgVGhyb3dSZWZlcmVuY2VFcnJvcjogewog
ICAgICAgICAvLyBXZSBleHBlY3QgdGhhdCB0aHJvdyBzdGF0ZW1lbnRzIGFyZSByYXJlIGFuZCBh
cmUgaW50ZW5kZWQgdG8gZXhpdCB0aGUgY29kZSBibG9jawogICAgICAgICAvLyBhbnl3YXksIHNv
IHdlIGp1c3QgT1NSIGJhY2sgdG8gdGhlIG9sZCBKSVQgZm9yIG5vdy4KLSAgICAgICAgdGVybWlu
YXRlU3BlY3VsYXRpdmVFeGVjdXRpb24oVW5jb3VudGFibGUsIEpTVmFsdWVSZWdzKCksIDApOwor
ICAgICAgICB0ZXJtaW5hdGVTcGVjdWxhdGl2ZUV4ZWN1dGlvbihFeGNlcHRpb24sIEpTVmFsdWVS
ZWdzKCksIDApOwogICAgICAgICBicmVhazsKICAgICB9CiAgICAgICAgIApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZp
c2lvbiAxNTEwNjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04MDgsNiArODA4LDEwIEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUKICAgICAKICAgICBtX2ppdC5tb3ZlKEdQUklu
Zm86OnJldHVyblZhbHVlR1BSLCByZXN1bHRHUFIpOwogICAgIAorICAgIGZvcndhcmRTcGVjdWxh
dGlvbkNoZWNrKAorICAgICAgICBFeGNlcHRpb24sIEpTVmFsdWVTb3VyY2UoKSwgMCwgbV9qaXQu
YnJhbmNoVGVzdDY0KE1hY3JvQXNzZW1ibGVyOjpaZXJvLCByZXN1bHRHUFIpLAorICAgICAgICBW
YWx1ZVJlY292ZXJ5OjppbkdQUihyZXN1bHRHUFIsIERhdGFGb3JtYXRKUykpOworICAgIAogICAg
IGpzVmFsdWVSZXN1bHQocmVzdWx0R1BSLCBtX2N1cnJlbnROb2RlLCBEYXRhRm9ybWF0SlMsIFVz
ZUNoaWxkcmVuQ2FsbGVkRXhwbGljaXRseSk7CiAgICAgCiAgICAgbV9qaXQuYWRkSlNDYWxsKGZh
c3RDYWxsLCBzbG93Q2FsbCwgdGFyZ2V0VG9DaGVjaywgY2FsbFR5cGUsIGNhbGxlZUdQUiwgbV9j
dXJyZW50Tm9kZS0+Y29kZU9yaWdpbik7CkBAIC0zMjAwLDcgKzMyMDQsNyBAQCB2b2lkIFNwZWN1
bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgY2FzZSBUaHJvd1JlZmVyZW5jZUVy
cm9yOiB7CiAgICAgICAgIC8vIFdlIGV4cGVjdCB0aGF0IHRocm93IHN0YXRlbWVudHMgYXJlIHJh
cmUgYW5kIGFyZSBpbnRlbmRlZCB0byBleGl0IHRoZSBjb2RlIGJsb2NrCiAgICAgICAgIC8vIGFu
eXdheSwgc28gd2UganVzdCBPU1IgYmFjayB0byB0aGUgb2xkIEpJVCBmb3Igbm93LgotICAgICAg
ICB0ZXJtaW5hdGVTcGVjdWxhdGl2ZUV4ZWN1dGlvbihVbmNvdW50YWJsZSwgSlNWYWx1ZVJlZ3Mo
KSwgMCk7CisgICAgICAgIHRlcm1pbmF0ZVNwZWN1bGF0aXZlRXhlY3V0aW9uKEV4Y2VwdGlvbiwg
SlNWYWx1ZVJlZ3MoKSwgMCk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICAgICAgCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>