<?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>71684</bug_id>
          
          <creation_ts>2011-11-07 06:59:34 -0800</creation_ts>
          <short_desc>DFG 32_64 - registers cannot be reused arbitrarily if speculation failures are possible</short_desc>
          <delta_ts>2011-11-07 14:14:10 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>71686</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Yuqiang Xian">yuqiang.xian</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>497148</commentid>
    <comment_count>0</comment_count>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2011-11-07 06:59:34 -0800</bug_when>
    <thetext>Currently in DFG JIT, we try to reuse the physical register of an operand for temporary usage if the current use of the operand is the last use. But sometimes this can be wrong, for example if there are possible speculation failures and we need to fallback to baseline JIT, the value of the operand which is supposed to be hold in the physical register can be modified by register reusing. The fixes the last inspector failures in layout test on Mac 32-bit if switching on DFG. (BTW, I didn&apos;t observe the failure in Gtk+ port on Linux ia32 as the inspector tests are skipped in Gtk layout test, and only w/ a 32-bit Mac environment setup today can I notice this failure...)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497152</commentid>
    <comment_count>1</comment_count>
      <attachid>113863</attachid>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2011-11-07 07:02:49 -0800</bug_when>
    <thetext>Created attachment 113863
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497461</commentid>
    <comment_count>2</comment_count>
      <attachid>113863</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-07 14:14:06 -0800</bug_when>
    <thetext>Comment on attachment 113863
the patch

Clearing flags on attachment: 113863

Committed r99476: &lt;http://trac.webkit.org/changeset/99476&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497462</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-07 14:14:10 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113863</attachid>
            <date>2011-11-07 07:02:49 -0800</date>
            <delta_ts>2011-11-07 14:14:06 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>71684.patch</filename>
            <type>text/plain</type>
            <size>3277</size>
            <attacher name="Yuqiang Xian">yuqiang.xian</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTk0MTYpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAK
KzIwMTEtMTEtMDcgIFl1cWlhbmcgWGlhbiAgPHl1cWlhbmcueGlhbkBpbnRlbC5jb20+CisKKyAg
ICAgICAgREZHIDMyXzY0IC0gcmVnaXN0ZXJzIGNhbm5vdCBiZSByZXVzZWQgYXJiaXRyYXJpbHkg
aWYgc3BlY3VsYXRpb24gZmFpbHVyZXMgYXJlIHBvc3NpYmxlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTY4NAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEN1cnJlbnRseSBpbiBERkcgSklULCB3ZSB0cnkg
dG8gcmV1c2UgdGhlIHBoeXNpY2FsIHJlZ2lzdGVyIG9mIGFuCisgICAgICAgIG9wZXJhbmQgZm9y
IHRlbXBvcmFyeSB1c2FnZSBpZiB0aGUgY3VycmVudCB1c2Ugb2YgdGhlIG9wZXJhbmQgaXMgdGhl
CisgICAgICAgIGxhc3QgdXNlLiBCdXQgc29tZXRpbWVzIHRoaXMgY2FuIGJlIHdyb25nLCBmb3Ig
ZXhhbXBsZSBpZiB0aGVyZSBhcmUKKyAgICAgICAgcG9zc2libGUgc3BlY3VsYXRpb24gZmFpbHVy
ZXMgYW5kIHdlIG5lZWQgdG8gZmFsbGJhY2sgdG8gYmFzZWxpbmUgSklULAorICAgICAgICB0aGUg
dmFsdWUgb2YgdGhlIG9wZXJhbmQgd2hpY2ggaXMgc3VwcG9zZWQgdG8gYmUgaG9sZCBpbiB0aGUg
cGh5c2ljYWwKKyAgICAgICAgcmVnaXN0ZXIgY2FuIGJlIG1vZGlmaWVkIGJ5IHJlZ2lzdGVyIHJl
dXNpbmcuIFRoZSBmaXhlcyB0aGUgbGFzdAorICAgICAgICBpbnNwZWN0b3IgZmFpbHVyZXMgaW4g
bGF5b3V0IHRlc3Qgb24gTWFjIDMyLWJpdCBpZiBzd2l0Y2hpbmcgb24gREZHLgorCisgICAgICAg
ICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNw
ZWN1bGF0aXZlSklUOjplbWl0T2JqZWN0T3JPdGhlckJyYW5jaCk6CisgICAgICAgIChKU0M6OkRG
Rzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgorCiAyMDExLTExLTA2ICBGaWxpcCBQaXpsbyAg
PGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTihyOTkzNzQpOiBHVEsrIGJ1
aWxkIG9mIHRoZSBqc2MgYmluYXJ5IGRvZXNuJ3QgbGlrZSB0aGUgY2FsbApJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3Bw
CShyZXZpc2lvbiA5OTQxNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3Vs
YXRpdmVKSVQzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyNyw3ICs2MjcsNyBAQCB2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlTG9naWNhbE5vdChOCiB2b2lkIFNwZWN1bGF0aXZlSklU
OjplbWl0T2JqZWN0T3JPdGhlckJyYW5jaChOb2RlSW5kZXggbm9kZUluZGV4LCBCbG9ja0luZGV4
IHRha2VuLCBCbG9ja0luZGV4IG5vdFRha2VuLCB2b2lkICp2cHRyLCBib29sIG5lZWRTcGVjdWxh
dGlvbkNoZWNrKQogewogICAgIEpTVmFsdWVPcGVyYW5kIHZhbHVlKHRoaXMsIG5vZGVJbmRleCk7
Ci0gICAgR1BSVGVtcG9yYXJ5IHNjcmF0Y2godGhpcywgdmFsdWUpOworICAgIEdQUlRlbXBvcmFy
eSBzY3JhdGNoKHRoaXMpOwogICAgIEdQUlJlZyB2YWx1ZVRhZ0dQUiA9IHZhbHVlLnRhZ0dQUigp
OwogICAgIEdQUlJlZyB2YWx1ZVBheWxvYWRHUFIgPSB2YWx1ZS5wYXlsb2FkR1BSKCk7CiAgICAg
R1BSUmVnIHNjcmF0Y2hHUFIgPSBzY3JhdGNoLmdwcigpOwpAQCAtMTI0Myw3ICsxMjQzLDcgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogICAgIGNhc2UgQXJpdGhB
YnM6IHsKICAgICAgICAgaWYgKGF0KG5vZGUuY2hpbGQxKCkpLnNob3VsZFNwZWN1bGF0ZUludGVn
ZXIoKSAmJiBub2RlLmNhblNwZWN1bGF0ZUludGVnZXIoKSkgewogICAgICAgICAgICAgU3BlY3Vs
YXRlSW50ZWdlck9wZXJhbmQgb3AxKHRoaXMsIG5vZGUuY2hpbGQxKCkpOwotICAgICAgICAgICAg
R1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzLCBvcDEpOworICAgICAgICAgICAgR1BSVGVtcG9yYXJ5
IHJlc3VsdCh0aGlzKTsKICAgICAgICAgICAgIEdQUlRlbXBvcmFyeSBzY3JhdGNoKHRoaXMpOwog
ICAgICAgICAgICAgCiAgICAgICAgICAgICBtX2ppdC56ZXJvRXh0ZW5kMzJUb1B0cihvcDEuZ3By
KCksIHJlc3VsdC5ncHIoKSk7CkBAIC0xNDIxLDcgKzE0MjEsNyBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgICAgIFNwZWN1bGF0ZUNlbGxPcGVyYW5kIGJh
c2UodGhpcywgbm9kZS5jaGlsZDEoKSk7CiAgICAgICAgIFNwZWN1bGF0ZVN0cmljdEludDMyT3Bl
cmFuZCBwcm9wZXJ0eSh0aGlzLCBub2RlLmNoaWxkMigpKTsKICAgICAgICAgR1BSVGVtcG9yYXJ5
IHN0b3JhZ2UodGhpcyk7Ci0gICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHRUYWcodGhpcywgYmFz
ZSk7CisgICAgICAgIEdQUlRlbXBvcmFyeSByZXN1bHRUYWcodGhpcyk7CiAKICAgICAgICAgR1BS
UmVnIGJhc2VSZWcgPSBiYXNlLmdwcigpOwogICAgICAgICBHUFJSZWcgcHJvcGVydHlSZWcgPSBw
cm9wZXJ0eS5ncHIoKTsKQEAgLTE4ODgsNyArMTg4OCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICAgICAgCiAgICAgICAgIGlmIChpc090aGVyUHJlZGlj
dGlvbihhdChub2RlLmNoaWxkMSgpKS5wcmVkaWN0aW9uKCkpKSB7CiAgICAgICAgICAgICBKU1Zh
bHVlT3BlcmFuZCB0aGlzVmFsdWUodGhpcywgbm9kZS5jaGlsZDEoKSk7Ci0gICAgICAgICAgICBH
UFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzLCB0aGlzVmFsdWUpOworICAgICAgICAgICAgR1BSVGVt
cG9yYXJ5IHNjcmF0Y2godGhpcyk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIEdQUlJlZyB0
aGlzVmFsdWVUYWdHUFIgPSB0aGlzVmFsdWUudGFnR1BSKCk7CiAgICAgICAgICAgICBHUFJSZWcg
c2NyYXRjaEdQUiA9IHNjcmF0Y2guZ3ByKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>