<?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>64254</bug_id>
          
          <creation_ts>2011-07-11 01:37:36 -0700</creation_ts>
          <short_desc>DFG Speculative JIT does not always insert speculation checks when speculating arrays</short_desc>
          <delta_ts>2011-07-11 11:39:33 -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>0</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>434706</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-07-11 01:37:36 -0700</bug_when>
    <thetext>The DFG Speculative JIT attempts to guess the type of variables.  Sometimes, it guesses that a variable is an array.  The JIT should insert checking code that validates that variables that are speculate-array are actually arrays.  However, the JIT does not insert these checks at PutLocal instructions, even though subsequent code assumes that specualte-array variables that are retrieved via GetLocal are already validated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434708</commentid>
    <comment_count>1</comment_count>
      <attachid>100254</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-07-11 01:49:16 -0700</bug_when>
    <thetext>Created attachment 100254
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>434970</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-07-11 10:21:24 -0700</bug_when>
    <thetext>Is there a reason why this doesn&apos;t have a regression test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435047</commentid>
    <comment_count>3</comment_count>
      <attachid>100254</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-11 11:39:29 -0700</bug_when>
    <thetext>Comment on attachment 100254
the patch

Clearing flags on attachment: 100254

Committed r90768: &lt;http://trac.webkit.org/changeset/90768&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>435049</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-11 11:39:33 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>100254</attachid>
            <date>2011-07-11 01:49:16 -0700</date>
            <delta_ts>2011-07-11 11:39:29 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>specarray_patch_1.diff</filename>
            <type>text/plain</type>
            <size>1944</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTA3MjcpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTEtMDctMTEgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBE
RkcgU3BlY3VsYXRpdmUgSklUIGRvZXMgbm90IGFsd2F5cyBpbnNlcnQgc3BlY3VsYXRpb24gY2hl
Y2tzIHdoZW4gc3BlY3VsYXRpbmcKKyAgICAgICAgYXJyYXlzLgorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQyNTQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIENoYW5nZWQgdGhlIFNldExvY2Fs
IGluc3RydWN0aW9uIHRvIGFsd2F5cyB2YWxpZGF0ZSB0aGF0IHRoZSB2YWx1ZSBiZWluZyBzdG9y
ZWQKKyAgICAgICAgaW50byB0aGUgbG9jYWwgdmFyaWFibGUgaXMgYW4gYXJyYXksIGlmIHRoYXQg
dmFyaWFibGUgd2FzIG1hcmtlZCBQcmVkaWN0QXJyYXkuCisgICAgICAgIFRoaXMgaXMgbmVjZXNz
YXJ5IHNpbmNlIHVzZXMgb2YgYXJyYXlzIGFzc3VtZSB0aGF0IGlmIGEgUHJlZGljdEFycmF5IHZh
bHVlIGlzCisgICAgICAgIGluIGEgbG9jYWwgdmFyaWFibGUgdGhlbiB0aGUgc3BlY3VsYXRpb24g
Y2hlY2sgdmFsaWRhdGluZyB0aGF0IHRoZSB2YWx1ZSBpcyBhbgorICAgICAgICBhcnJheSB3YXMg
YWxyZWFkeSBwZXJmb3JtZWQuCisKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3Bw
OgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKwogMjAxMS0w
Ny0wOSAgVGhvdXJheWEgQW5kb2xzaSAgPHRob3VyYXlhLmFuZG9sc2lAc3QuY29tPgogCiAgICAg
ICAgIEZpeCB1bmFsaWduZWQgdXNlcnNwYWNlIGFjY2VzcyBmb3IgU0g0IHBsYXRmb3Jtcy4gCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNw
cAkocmV2aXNpb24gOTA3MjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDkxLDcgKzQ5MSw5IEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKICAgICAgICAgfQogICAgICAgICBjYXNl
IFByZWRpY3RBcnJheTogewogICAgICAgICAgICAgU3BlY3VsYXRlQ2VsbE9wZXJhbmQgY2VsbCh0
aGlzLCBub2RlLmNoaWxkMSgpKTsKLSAgICAgICAgICAgIG1faml0LnN0b3JlUHRyKGNlbGwuZ3By
KCksIEpJVENvbXBpbGVyOjphZGRyZXNzRm9yKG5vZGUubG9jYWwoKSkpOworICAgICAgICAgICAg
R1BSUmVnIGNlbGxHUFIgPSBjZWxsLmdwcigpOworICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVj
ayhtX2ppdC5icmFuY2hQdHIoTWFjcm9Bc3NlbWJsZXI6Ok5vdEVxdWFsLCBNYWNyb0Fzc2VtYmxl
cjo6QWRkcmVzcyhjZWxsR1BSKSwgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIobV9qaXQu
Z2xvYmFsRGF0YSgpLT5qc0FycmF5VlB0cikpKTsKKyAgICAgICAgICAgIG1faml0LnN0b3JlUHRy
KGNlbGxHUFIsIEpJVENvbXBpbGVyOjphZGRyZXNzRm9yKG5vZGUubG9jYWwoKSkpOwogICAgICAg
ICAgICAgbm9SZXN1bHQobV9jb21waWxlSW5kZXgpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAg
ICAgIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>