<?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>65949</bug_id>
          
          <creation_ts>2011-08-09 16:35:54 -0700</creation_ts>
          <short_desc>DFG JIT does not speculative integers as aggressively as it should</short_desc>
          <delta_ts>2011-08-09 18:12:47 -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="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>448880</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-09 16:35:54 -0700</bug_when>
    <thetext>The DFG JIT assumes that values are doubles unless it has reason to speculate integer.  But it does not do so transitively.  For example, it will successfull speculate that x is an integer here:

var x = … stuff …
var tmp = array[x];

But not here:

var x = … stuff …
var tmp = array[x * 2];

This is because the attempt to predict that &quot;x * 2&quot; is a no-op, since the prediction code has no way of propagating the prediction past the multiply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448881</commentid>
    <comment_count>1</comment_count>
      <attachid>103416</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-09 16:38:33 -0700</bug_when>
    <thetext>Created attachment 103416
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448884</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-09 16:42:57 -0700</bug_when>
    <thetext>Note: this is a 75% speed-up on imaging-gaussian-blur.  But I&apos;m doing an svn up to make sure that this is still the case with latest commits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448903</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-09 17:17:24 -0700</bug_when>
    <thetext>Here are the complete performance numbers.


                                           TipOfTree          MoreIntPrediction  
SunSpider:
   3d-cube                               7.6745+-0.1019   ?     7.6835+-0.1166      ?
   3d-morph                              7.4896+-0.2832   ?     7.4942+-0.0978      ?
   3d-raytrace                           7.7863+-0.1357         7.6264+-0.1290        might be 1.0210x faster
   access-binary-trees                   2.2473+-0.0589         2.2113+-0.0360        might be 1.0163x faster
   access-fannkuch                      11.7730+-0.2411   ?    11.7908+-0.2121      ?
   access-nbody                          4.1934+-0.0454   ?     4.3190+-0.0906      ? might be 1.0299x slower
   access-nsieve                         2.4448+-0.0406   ?     2.5105+-0.0462      ? might be 1.0269x slower
   bitops-3bit-bits-in-byte              1.7384+-0.0393         1.7228+-0.0528      
   bitops-bits-in-byte                   4.2191+-0.1023         4.1484+-0.0980        might be 1.0170x faster
   bitops-bitwise-and                    3.6774+-0.0775   ?     3.6978+-0.0712      ?
   bitops-nsieve-bits                    5.5151+-0.0851         5.5048+-0.0794      
   controlflow-recursive                 2.0880+-0.0292   ?     2.1112+-0.0401      ? might be 1.0111x slower
   crypto-aes                            6.5138+-0.1300         6.4731+-0.1229      
   crypto-md5                            2.7793+-0.0392   ?     2.8046+-0.0638      ?
   crypto-sha1                           2.2024+-0.0386   ?     2.2396+-0.0330      ? might be 1.0169x slower
   date-format-tofte                    10.0715+-0.1753   ?    10.0717+-0.1696      ?
   date-format-xparb                     8.8285+-0.2281         8.7777+-0.1663      
   math-cordic                           6.3224+-0.0819         6.2717+-0.0913      
   math-partial-sums                     7.7275+-0.1963         7.6841+-0.0915      
   math-spectral-norm                    2.5223+-0.0466         2.4793+-0.0546        might be 1.0174x faster
   regexp-dna                           10.3466+-0.1322   ?    10.3785+-0.0831      ?
   string-base64                         5.9888+-0.1269   ?     6.0098+-0.1060      ?
   string-fasta                          7.2988+-0.1264   ?     7.3690+-0.1294      ?
   string-tagcloud                      13.3424+-0.1679        13.2359+-0.1711      
   string-unpack-code                   18.7737+-0.2036   ?    18.8364+-0.2646      ?
   string-validate-input                 6.9843+-0.1404   ?     7.0288+-0.1377      ?

   &lt;arithmetic&gt;                          6.5596+-0.0285         6.5570+-0.0190      
   &lt;geometric&gt;                           5.4297+-0.0187   ?     5.4328+-0.0129      ?
   &lt;harmonic&gt;                            4.4360+-0.0188   ?     4.4419+-0.0175      ?

                                           TipOfTree          MoreIntPrediction  
V8:
   crypto                               89.5519+-0.4226        89.2459+-0.4849      
   deltablue                           267.0146+-1.9752       266.9575+-1.6417      
   earley-boyer                        100.1948+-0.4290   ?   101.2045+-0.6564      ? might be 1.0101x slower
   raytrace                             78.3700+-0.4048        77.7418+-0.4722      
   regexp                              107.9905+-0.6120   ?   109.0274+-0.8690      ?
   richards                            252.3878+-1.3620   ^   247.8854+-1.0892      ^ definitely 1.0182x faster
   splay                               108.9475+-0.6675   ?   109.2536+-0.5530      ?

   &lt;arithmetic&gt;                        143.4939+-0.3942       143.0452+-0.4092      
   &lt;geometric&gt;                         127.8141+-0.2470       127.6807+-0.3624      
   &lt;harmonic&gt;                          116.5470+-0.1965       116.5441+-0.3588      

                                           TipOfTree          MoreIntPrediction  
Kraken:
   ai-astar                           1098.7387+-5.3837      1093.7142+-4.3138      
   audio-beat-detection                469.0803+-2.4284   ^   461.5361+-2.3209      ^ definitely 1.0163x faster
   audio-dft                           428.4697+-5.4192   ?   429.9280+-5.5726      ?
   audio-fft                           366.5176+-2.1237   ?   368.1275+-2.9561      ?
   audio-oscillator                    380.0753+-1.7885       378.3811+-0.9690      
   imaging-darkroom                    586.0195+-5.1337   ?   594.1783+-17.3111     ? might be 1.0139x slower
   imaging-desaturate                  597.5276+-2.3314       594.4309+-2.4371      
   imaging-gaussian-blur              2970.7402+-4.8706   ^  1738.6283+-3.3785      ^ definitely 1.7087x faster
   json-parse-financial                 49.2663+-0.3575        48.8788+-0.3181      
   json-stringify-tinderbox             61.7510+-0.2202   ?    61.9327+-0.2707      ?
   stanford-crypto-aes                 143.6676+-0.7414   ?   145.2050+-1.0337      ? might be 1.0107x slower
   stanford-crypto-ccm                 112.0324+-0.4927       111.4733+-0.3494      
   stanford-crypto-pbkdf2              373.0106+-2.9323       370.2925+-1.5627      
   stanford-crypto-sha256-iterative    140.1264+-0.6707       139.2418+-0.6824      

   &lt;arithmetic&gt;                        555.5017+-0.7214   ^   466.8535+-1.4057      ^ definitely 1.1899x faster
   &lt;geometric&gt;                         311.7203+-0.5547   ^   299.5131+-0.7081      ^ definitely 1.0408x faster
   &lt;harmonic&gt;                          182.6274+-0.5036   ^   181.6548+-0.4620      ^ definitely 1.0054x faster

                                           TipOfTree          MoreIntPrediction  
All benchmarks:
   &lt;arithmetic&gt;                        190.4687+-0.2287   ^   163.9946+-0.4317      ^ definitely 1.1614x faster
   &lt;geometric&gt;                          29.0427+-0.0535   ^    28.7038+-0.0385      ^ definitely 1.0118x faster
   &lt;harmonic&gt;                            7.8361+-0.0325   ?     7.8458+-0.0302      ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448911</commentid>
    <comment_count>4</comment_count>
      <attachid>103424</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-09 17:31:16 -0700</bug_when>
    <thetext>Created attachment 103424
the patch (merged to ToT, added perf numbers in ChangeLog)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448912</commentid>
    <comment_count>5</comment_count>
      <attachid>103424</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-09 17:32:03 -0700</bug_when>
    <thetext>Comment on attachment 103424
the patch (merged to ToT, added perf numbers in ChangeLog)

Ooops, I accidentally posted the wrong patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448913</commentid>
    <comment_count>6</comment_count>
      <attachid>103425</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-08-09 17:33:04 -0700</bug_when>
    <thetext>Created attachment 103425
the patch (merged to ToT, added perf numbers to ChangeLog, and added Gavin as reviewer)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448924</commentid>
    <comment_count>7</comment_count>
      <attachid>103425</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-09 18:12:42 -0700</bug_when>
    <thetext>Comment on attachment 103425
the patch (merged to ToT, added perf numbers to ChangeLog, and added Gavin as reviewer)

Clearing flags on attachment: 103425

Committed r92736: &lt;http://trac.webkit.org/changeset/92736&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448925</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-09 18:12:47 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103416</attachid>
            <date>2011-08-09 16:38:33 -0700</date>
            <delta_ts>2011-08-09 17:31:16 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>aggressiveint_patch_1.diff</filename>
            <type>text/plain</type>
            <size>2604</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTI3MjUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTEtMDgtMDkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBE
RkcgSklUIGRvZXMgbm90IHNwZWN1bGF0aXZlIGludGVnZXJzIGFzIGFnZ3Jlc3NpdmVseSBhcyBp
dCBzaG91bGQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY1OTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAor
ICAgICAgICBBZGRlZCBhIHRyZWUgd2FsayB0byBwcm9wYWdhdGUgaW50ZWdlciBwcmVkaWN0aW9u
cyB0aHJvdWdoIGFyaXRobWV0aWMKKyAgICAgICAgZXhwcmVzc2lvbnMuCisKKyAgICAgICAgKiBk
ZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFy
c2VyOjpwcmVkaWN0SW50MzIpOgorCiAyMDExLTA4LTA5ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0Bh
cHBsZS5jb20+CiAKICAgICAgICAgREZHIEpJVCBmYWlsdXJlIGxvYWRpbmcgd2ViIHNpdGUKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3Bw
CShyZXZpc2lvbiA5MjY2NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzUsMTUgKzQzNSwzMiBAQCBwcml2YXRl
OgogCiAgICAgdm9pZCBwcmVkaWN0SW50MzIoTm9kZUluZGV4IG5vZGVJbmRleCkKICAgICB7Ci0g
ICAgICAgIE5vZGUqIG5vZGVQdHIgPSAmbV9ncmFwaFtub2RlSW5kZXhdOwotCi0gICAgICAgIGlm
IChub2RlUHRyLT5vcCA9PSBWYWx1ZVRvTnVtYmVyKQotICAgICAgICAgICAgbm9kZVB0ciA9ICZt
X2dyYXBoW25vZGVQdHItPmNoaWxkMSgpXTsKLQotICAgICAgICBpZiAobm9kZVB0ci0+b3AgPT0g
VmFsdWVUb0ludDMyKQotICAgICAgICAgICAgbm9kZVB0ciA9ICZtX2dyYXBoW25vZGVQdHItPmNo
aWxkMSgpXTsKKyAgICAgICAgQVNTRVJUKG1fcmV1c2FibGVOb2RlU3RhY2suaXNFbXB0eSgpKTsK
KyAgICAgICAgbV9yZXVzYWJsZU5vZGVTdGFjay5hcHBlbmQoJm1fZ3JhcGhbbm9kZUluZGV4XSk7
CiAgICAgICAgIAotICAgICAgICBtX2dyYXBoLnByZWRpY3QoKm5vZGVQdHIsIFByZWRpY3RJbnQz
Mik7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIE5vZGUqIG5vZGVQdHIgPSBtX3JldXNhYmxl
Tm9kZVN0YWNrLmxhc3QoKTsKKyAgICAgICAgICAgIG1fcmV1c2FibGVOb2RlU3RhY2sucmVtb3Zl
TGFzdCgpOworICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAobm9kZVB0ci0+b3AgPT0gVmFs
dWVUb051bWJlcikKKyAgICAgICAgICAgICAgICBub2RlUHRyID0gJm1fZ3JhcGhbbm9kZVB0ci0+
Y2hpbGQxKCldOworICAgICAgICAgICAgCisgICAgICAgICAgICBpZiAobm9kZVB0ci0+b3AgPT0g
VmFsdWVUb0ludDMyKQorICAgICAgICAgICAgICAgIG5vZGVQdHIgPSAmbV9ncmFwaFtub2RlUHRy
LT5jaGlsZDEoKV07CisgICAgICAgICAgICAKKyAgICAgICAgICAgIHN3aXRjaCAobm9kZVB0ci0+
b3ApIHsKKyAgICAgICAgICAgIGNhc2UgQXJpdGhBZGQ6CisgICAgICAgICAgICBjYXNlIEFyaXRo
U3ViOgorICAgICAgICAgICAgY2FzZSBBcml0aE11bDoKKyAgICAgICAgICAgIGNhc2UgVmFsdWVB
ZGQ6CisgICAgICAgICAgICAgICAgbV9yZXVzYWJsZU5vZGVTdGFjay5hcHBlbmQoJm1fZ3JhcGhb
bm9kZVB0ci0+Y2hpbGQxKCldKTsKKyAgICAgICAgICAgICAgICBtX3JldXNhYmxlTm9kZVN0YWNr
LmFwcGVuZCgmbV9ncmFwaFtub2RlUHRyLT5jaGlsZDIoKV0pOworICAgICAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBtX2dyYXBoLnByZWRp
Y3QoKm5vZGVQdHIsIFByZWRpY3RJbnQzMik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0gd2hpbGUgKCFtX3JldXNhYmxlTm9kZVN0YWNrLmlzRW1wdHko
KSk7CiAgICAgfQogCiAgICAgSlNHbG9iYWxEYXRhKiBtX2dsb2JhbERhdGE7CkBAIC01MTYsNiAr
NTMzLDggQEAgcHJpdmF0ZToKICAgICB9OwogICAgIFZlY3RvcjxQaGlTdGFja0VudHJ5LCAxNj4g
bV9hcmd1bWVudFBoaVN0YWNrOwogICAgIFZlY3RvcjxQaGlTdGFja0VudHJ5LCAxNj4gbV9sb2Nh
bFBoaVN0YWNrOworICAgIAorICAgIFZlY3RvcjxOb2RlKiwgMTY+IG1fcmV1c2FibGVOb2RlU3Rh
Y2s7CiB9OwogCiAjZGVmaW5lIE5FWFRfT1BDT0RFKG5hbWUpIFwK
</data>
<flag name="review"
          id="99021"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103424</attachid>
            <date>2011-08-09 17:31:16 -0700</date>
            <delta_ts>2011-08-09 17:33:04 -0700</delta_ts>
            <desc>the patch (merged to ToT, added perf numbers in ChangeLog)</desc>
            <filename>aggressiveint_patch_2.diff</filename>
            <type>text/plain</type>
            <size>2936</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTI3MjUpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTEtMDgtMDkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBE
RkcgSklUIGRvZXMgbm90IHNwZWN1bGF0aXZlIGludGVnZXJzIGFzIGFnZ3Jlc3NpdmVseSBhcyBp
dCBzaG91bGQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY1OTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAor
ICAgICAgICBBZGRlZCBhIHRyZWUgd2FsayB0byBwcm9wYWdhdGUgaW50ZWdlciBwcmVkaWN0aW9u
cyB0aHJvdWdoIGFyaXRobWV0aWMKKyAgICAgICAgZXhwcmVzc2lvbnMuCisgICAgICAgIAorICAg
ICAgICBUaGlzIGlzIGEgNzUlIHNwZWVkLXVwIG9uIEtyYWtlbidzIGltYWdpbmctZ2F1c3NpYW4t
Ymx1ci4gIEl0J3MKKyAgICAgICAgbW9zdGx5IG5ldXRyYWwgb24gb3RoZXIgYmVuY2htYXJrcy4g
IEl0J3MgY29tcGxldGVseSBuZXV0cmFsIG9uCisgICAgICAgIFN1blNwaWRlci4gIFRoZXJlJ3Mg
YSBzdGF0aXN0aWNhbGx5IHNpZ25pZmljYW50IDEuNCUgc2xvdy1kb3duIG9uCisgICAgICAgIHY4
LXNwbGF5LCBsZWFkaW5nIHRvIGEgc3RhdGlzdGljYWxseSBzaWduaWZpY2FudCAwLjUlIHNsb3ct
ZG93biBpbgorICAgICAgICB0aGUgVjggZ2VvbWVhbi4KKworICAgICAgICAqIGRmZy9ERkdCeXRl
Q29kZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OnByZWRp
Y3RJbnQzMik6CisKIDIwMTEtMDgtMDkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4K
IAogICAgICAgICBERkcgSklUIGZhaWx1cmUgbG9hZGluZyB3ZWIgc2l0ZQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHJldmlzaW9u
IDkyNjY2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTQzNSwxNSArNDM1LDMyIEBAIHByaXZhdGU6CiAKICAgICB2
b2lkIHByZWRpY3RJbnQzMihOb2RlSW5kZXggbm9kZUluZGV4KQogICAgIHsKLSAgICAgICAgTm9k
ZSogbm9kZVB0ciA9ICZtX2dyYXBoW25vZGVJbmRleF07Ci0KLSAgICAgICAgaWYgKG5vZGVQdHIt
Pm9wID09IFZhbHVlVG9OdW1iZXIpCi0gICAgICAgICAgICBub2RlUHRyID0gJm1fZ3JhcGhbbm9k
ZVB0ci0+Y2hpbGQxKCldOwotCi0gICAgICAgIGlmIChub2RlUHRyLT5vcCA9PSBWYWx1ZVRvSW50
MzIpCi0gICAgICAgICAgICBub2RlUHRyID0gJm1fZ3JhcGhbbm9kZVB0ci0+Y2hpbGQxKCldOwor
ICAgICAgICBBU1NFUlQobV9yZXVzYWJsZU5vZGVTdGFjay5pc0VtcHR5KCkpOworICAgICAgICBt
X3JldXNhYmxlTm9kZVN0YWNrLmFwcGVuZCgmbV9ncmFwaFtub2RlSW5kZXhdKTsKICAgICAgICAg
Ci0gICAgICAgIG1fZ3JhcGgucHJlZGljdCgqbm9kZVB0ciwgUHJlZGljdEludDMyKTsKKyAgICAg
ICAgZG8geworICAgICAgICAgICAgTm9kZSogbm9kZVB0ciA9IG1fcmV1c2FibGVOb2RlU3RhY2su
bGFzdCgpOworICAgICAgICAgICAgbV9yZXVzYWJsZU5vZGVTdGFjay5yZW1vdmVMYXN0KCk7Cisg
ICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChub2RlUHRyLT5vcCA9PSBWYWx1ZVRvTnVtYmVy
KQorICAgICAgICAgICAgICAgIG5vZGVQdHIgPSAmbV9ncmFwaFtub2RlUHRyLT5jaGlsZDEoKV07
CisgICAgICAgICAgICAKKyAgICAgICAgICAgIGlmIChub2RlUHRyLT5vcCA9PSBWYWx1ZVRvSW50
MzIpCisgICAgICAgICAgICAgICAgbm9kZVB0ciA9ICZtX2dyYXBoW25vZGVQdHItPmNoaWxkMSgp
XTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgc3dpdGNoIChub2RlUHRyLT5vcCkgeworICAg
ICAgICAgICAgY2FzZSBBcml0aEFkZDoKKyAgICAgICAgICAgIGNhc2UgQXJpdGhTdWI6CisgICAg
ICAgICAgICBjYXNlIEFyaXRoTXVsOgorICAgICAgICAgICAgY2FzZSBWYWx1ZUFkZDoKKyAgICAg
ICAgICAgICAgICBtX3JldXNhYmxlTm9kZVN0YWNrLmFwcGVuZCgmbV9ncmFwaFtub2RlUHRyLT5j
aGlsZDEoKV0pOworICAgICAgICAgICAgICAgIG1fcmV1c2FibGVOb2RlU3RhY2suYXBwZW5kKCZt
X2dyYXBoW25vZGVQdHItPmNoaWxkMigpXSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAg
ICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIG1fZ3JhcGgucHJlZGljdCgqbm9kZVB0
ciwgUHJlZGljdEludDMyKTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfSB3aGlsZSAoIW1fcmV1c2FibGVOb2RlU3RhY2suaXNFbXB0eSgpKTsKICAgICB9
CiAKICAgICBKU0dsb2JhbERhdGEqIG1fZ2xvYmFsRGF0YTsKQEAgLTUxNiw2ICs1MzMsOCBAQCBw
cml2YXRlOgogICAgIH07CiAgICAgVmVjdG9yPFBoaVN0YWNrRW50cnksIDE2PiBtX2FyZ3VtZW50
UGhpU3RhY2s7CiAgICAgVmVjdG9yPFBoaVN0YWNrRW50cnksIDE2PiBtX2xvY2FsUGhpU3RhY2s7
CisgICAgCisgICAgVmVjdG9yPE5vZGUqLCAxNj4gbV9yZXVzYWJsZU5vZGVTdGFjazsKIH07CiAK
ICNkZWZpbmUgTkVYVF9PUENPREUobmFtZSkgXAo=
</data>
<flag name="commit-queue"
          id="99032"
          type_id="3"
          status="-"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103425</attachid>
            <date>2011-08-09 17:33:04 -0700</date>
            <delta_ts>2011-08-09 18:12:42 -0700</delta_ts>
            <desc>the patch (merged to ToT, added perf numbers to ChangeLog, and added Gavin as reviewer)</desc>
            <filename>aggressiveint_patch_3.diff</filename>
            <type>text/plain</type>
            <size>2791</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTI3MjYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTEtMDgtMDkgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBE
RkcgSklUIGRvZXMgbm90IHNwZWN1bGF0aXZlIGludGVnZXJzIGFzIGFnZ3Jlc3NpdmVseSBhcyBp
dCBzaG91bGQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTY1OTQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgR2F2aW4gQmFycmFjbG91Z2guCisgICAgICAg
IAorICAgICAgICBBZGRlZCBhIHRyZWUgd2FsayB0byBwcm9wYWdhdGUgaW50ZWdlciBwcmVkaWN0
aW9ucyB0aHJvdWdoIGFyaXRobWV0aWMKKyAgICAgICAgZXhwcmVzc2lvbnMuCisgICAgICAgIAor
ICAgICAgICBUaGlzIGlzIGEgNzElIHNwZWVkLXVwIG9uIEtyYWtlbidzIGltYWdpbmctZ2F1c3Np
YW4tYmx1ciwgd2hpY2gKKyAgICAgICAgdHJhbnNsYXRlcyB0byBhIDE5JSBzcGVlZC11cCBvbiBL
cmFrZW4gb3ZlcmFsbC4gIEl0J3MgbmV1dHJhbCBvbgorICAgICAgICBvdGhlciBiZW5jaG1hcmtz
LgorCisgICAgICAgICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEpTQzo6
REZHOjpCeXRlQ29kZVBhcnNlcjo6cHJlZGljdEludDMyKToKKwogMjAxMS0wOC0wOSAgRmlsaXAg
UGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIERGRyBKSVQgZmFpbHVyZSBsb2Fk
aW5nIHdlYiBzaXRlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2Rl
UGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5
dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNpb24gOTI3MjYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDM1LDE1ICs0
MzUsMzIgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgcHJlZGljdEludDMyKE5vZGVJbmRleCBub2Rl
SW5kZXgpCiAgICAgewotICAgICAgICBOb2RlKiBub2RlUHRyID0gJm1fZ3JhcGhbbm9kZUluZGV4
XTsKLQotICAgICAgICBpZiAobm9kZVB0ci0+b3AgPT0gVmFsdWVUb051bWJlcikKLSAgICAgICAg
ICAgIG5vZGVQdHIgPSAmbV9ncmFwaFtub2RlUHRyLT5jaGlsZDEoKV07Ci0KLSAgICAgICAgaWYg
KG5vZGVQdHItPm9wID09IFZhbHVlVG9JbnQzMikKLSAgICAgICAgICAgIG5vZGVQdHIgPSAmbV9n
cmFwaFtub2RlUHRyLT5jaGlsZDEoKV07CisgICAgICAgIEFTU0VSVChtX3JldXNhYmxlTm9kZVN0
YWNrLmlzRW1wdHkoKSk7CisgICAgICAgIG1fcmV1c2FibGVOb2RlU3RhY2suYXBwZW5kKCZtX2dy
YXBoW25vZGVJbmRleF0pOwogICAgICAgICAKLSAgICAgICAgbV9ncmFwaC5wcmVkaWN0KCpub2Rl
UHRyLCBQcmVkaWN0SW50MzIpOworICAgICAgICBkbyB7CisgICAgICAgICAgICBOb2RlKiBub2Rl
UHRyID0gbV9yZXVzYWJsZU5vZGVTdGFjay5sYXN0KCk7CisgICAgICAgICAgICBtX3JldXNhYmxl
Tm9kZVN0YWNrLnJlbW92ZUxhc3QoKTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYgKG5v
ZGVQdHItPm9wID09IFZhbHVlVG9OdW1iZXIpCisgICAgICAgICAgICAgICAgbm9kZVB0ciA9ICZt
X2dyYXBoW25vZGVQdHItPmNoaWxkMSgpXTsKKyAgICAgICAgICAgIAorICAgICAgICAgICAgaWYg
KG5vZGVQdHItPm9wID09IFZhbHVlVG9JbnQzMikKKyAgICAgICAgICAgICAgICBub2RlUHRyID0g
Jm1fZ3JhcGhbbm9kZVB0ci0+Y2hpbGQxKCldOworICAgICAgICAgICAgCisgICAgICAgICAgICBz
d2l0Y2ggKG5vZGVQdHItPm9wKSB7CisgICAgICAgICAgICBjYXNlIEFyaXRoQWRkOgorICAgICAg
ICAgICAgY2FzZSBBcml0aFN1YjoKKyAgICAgICAgICAgIGNhc2UgQXJpdGhNdWw6CisgICAgICAg
ICAgICBjYXNlIFZhbHVlQWRkOgorICAgICAgICAgICAgICAgIG1fcmV1c2FibGVOb2RlU3RhY2su
YXBwZW5kKCZtX2dyYXBoW25vZGVQdHItPmNoaWxkMSgpXSk7CisgICAgICAgICAgICAgICAgbV9y
ZXVzYWJsZU5vZGVTdGFjay5hcHBlbmQoJm1fZ3JhcGhbbm9kZVB0ci0+Y2hpbGQyKCldKTsKKyAg
ICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICAg
ICAgbV9ncmFwaC5wcmVkaWN0KCpub2RlUHRyLCBQcmVkaWN0SW50MzIpOworICAgICAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAgICAgICB9IHdoaWxlICghbV9yZXVzYWJsZU5v
ZGVTdGFjay5pc0VtcHR5KCkpOwogICAgIH0KIAogICAgIEpTR2xvYmFsRGF0YSogbV9nbG9iYWxE
YXRhOwpAQCAtNTE2LDYgKzUzMyw4IEBAIHByaXZhdGU6CiAgICAgfTsKICAgICBWZWN0b3I8UGhp
U3RhY2tFbnRyeSwgMTY+IG1fYXJndW1lbnRQaGlTdGFjazsKICAgICBWZWN0b3I8UGhpU3RhY2tF
bnRyeSwgMTY+IG1fbG9jYWxQaGlTdGFjazsKKyAgICAKKyAgICBWZWN0b3I8Tm9kZSosIDE2PiBt
X3JldXNhYmxlTm9kZVN0YWNrOwogfTsKIAogI2RlZmluZSBORVhUX09QQ09ERShuYW1lKSBcCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>