<?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>65397</bug_id>
          
          <creation_ts>2011-07-29 15:07:57 -0700</creation_ts>
          <short_desc>LayoutTests does not have a test for array speculation pathologies in the JavaScriptCore DFG JIT</short_desc>
          <delta_ts>2011-07-29 19:07:17 -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>Tools / Tests</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>444134</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-07-29 15:07:57 -0700</bug_when>
    <thetext>The JavaScriptCore DFG JIT may speculate that a value is an array.  The code is relatively tricky, since a distinction is made between speculating that a variable is an array throughout the entire procedure, versus speculating that a variable happens to reference an array during the course of a particular array access.  The latter code path has not been exercised in existing tests, so a new test is needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444136</commentid>
    <comment_count>1</comment_count>
      <attachid>102404</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-07-29 15:12:41 -0700</bug_when>
    <thetext>Created attachment 102404
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444208</commentid>
    <comment_count>2</comment_count>
      <attachid>102404</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-07-29 18:06:36 -0700</bug_when>
    <thetext>Comment on attachment 102404
the patch

View in context: https://bugs.webkit.org/attachment.cgi?id=102404&amp;action=review

&gt; LayoutTests/fast/js/array-type-speculation-expected.txt:6
&gt; +PASS result is &quot;foo&quot;

When possible, it&apos;s better to construct the test so that you can see what is being tested in the test output. Just seeing &quot;result&quot; is not so great. One way to do that is to make sure that the argument to shouldBe itself contains arguments that make it clear which test is which.

But I know that with JavaScript testing it can be tricky to achieve that since different ways of executing code exercise different code paths.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444229</commentid>
    <comment_count>3</comment_count>
      <attachid>102404</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-29 19:07:12 -0700</bug_when>
    <thetext>Comment on attachment 102404
the patch

Clearing flags on attachment: 102404

Committed r92040: &lt;http://trac.webkit.org/changeset/92040&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>444230</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-07-29 19:07:17 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>102404</attachid>
            <date>2011-07-29 15:12:41 -0700</date>
            <delta_ts>2011-07-29 19:07:12 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>arrayspectest_patch_1.diff</filename>
            <type>text/plain</type>
            <size>4764</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDkyMDE2KQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMDctMjkgIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KKworICAgICAgICBMYXlvdXRUZXN0cyBkb2VzIG5vdCBoYXZlIGEgdGVz
dCBmb3IgYXJyYXkgc3BlY3VsYXRpb24gcGF0aG9sb2dpZXMgaW4gdGhlIEphdmFTY3JpcHRDb3Jl
IERGRyBKSVQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02NTM5NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAK
KyAgICAgICAgVGhpcyB0ZXN0IHJlcHJvZHVjZXMgdGhlIGNyYXNoIHNlZW4gaW4gaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1MzI3LCBhbmQgaXMKKyAgICAgICAgZGVz
aWduZWQgdG8gZ3VhcmQgaXRzZWxmIGFnYWluc3QgcG9zc2libGUgdmFyaWFudHMgb2YgYXJyYXkg
c3BlY3VsYXRpb24gZmFpbHVyZS4gIEl0IHdpbGwKKyAgICAgICAgdGVzdCBib3RoIHRoZSBjYXNl
IHdoZXJlIGEgc3BlY3VsYXRlLWFycmF5IHZhbHVlIGlzIGFjdHVhbGx5IGEgbm9uLWFycmF5IG9i
amVjdCwgYW5kIHRoZQorICAgICAgICBjYXNlIHdoZXJlIGl0IGlzIGEgbnVtYmVyLiAgUGFydGlj
dWxhciBjYXJlIGlzIHRha2VuIHRvIGluY3JlYXNlIHRoZSBsaWtlbGlob29kIHRoYXQgdGhlCisg
ICAgICAgIHRlc3QgcmVtYWlucyByZWxldmFudCBpZiB0aGUgSklUIHBlcmZvcm1zIHNwZWN1bGF0
aW9uIGJhc2VkIG9uIGFjdHVhbCBhcmd1bWVudCB0eXBlcyBhbmQKKyAgICAgICAgdmFsdWVzIGF0
IHRoZSB0aW1lIG9mIGNvbXBpbGF0aW9uLgorCisgICAgICAgICogZmFzdC9qcy9hcnJheS10eXBl
LXNwZWN1bGF0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9hcnJh
eS10eXBlLXNwZWN1bGF0aW9uLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvc2NyaXB0
LXRlc3RzL2FycmF5LXR5cGUtc3BlY3VsYXRpb24uanM6IEFkZGVkLgorCiAyMDExLTA3LTI5ICBE
YW4gQmVybnN0ZWluICA8bWl0ekBhcHBsZS5jb20+CiAKICAgICAgICAgVGVzdCBmb3IgPHJkYXI6
Ly9wcm9ibGVtLzk4NjQ1Nzg+IFJlZ2lvbmFsIGluZGljYXRvciBzeW1ib2xzIGRvIG5vdCBjb21i
aW5lIGludG8gbmF0aW9uYWwgZmxhZ3MKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvYXJyYXkt
dHlwZS1zcGVjdWxhdGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9qcy9hcnJheS10eXBlLXNwZWN1bGF0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvanMvYXJyYXktdHlwZS1zcGVjdWxhdGlvbi1leHBlY3RlZC50
eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjUgQEAKK1RoaXMgdGVzdHMgdGhhdCBzdG9yaW5n
IGludG8gc29tZXRoaW5nIHRoYXQgaXMgbm90IGFycmF5IGRvZXMgbm90IGNyYXNoLgorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyByZXN1bHQgaXMgImZvbyIKK1BBU1MgcmVz
dWx0IGlzICJmb28iCitQQVNTIHJlc3VsdCBpcyB1bmRlZmluZWQKK1BBU1MgcmVzdWx0IGlzIHVu
ZGVmaW5lZAorUEFTUyByZXN1bHQgaXMgdW5kZWZpbmVkCitQQVNTIHJlc3VsdCBpcyAiZm9vIgor
UEFTUyByZXN1bHQgaXMgdW5kZWZpbmVkCitQQVNTIHJlc3VsdCBpcyAiZm9vIgorUEFTUyByZXN1
bHQgaXMgImZvbyIKK1BBU1MgcmVzdWx0IGlzIHVuZGVmaW5lZAorUEFTUyByZXN1bHQgaXMgImZv
byIKK1BBU1MgcmVzdWx0IGlzIHVuZGVmaW5lZAorUEFTUyByZXN1bHQgaXMgdW5kZWZpbmVkCitQ
QVNTIHJlc3VsdCBpcyB1bmRlZmluZWQKK1BBU1MgcmVzdWx0IGlzICJmb28iCitQQVNTIHJlc3Vs
dCBpcyAiZm9vIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvanMvYXJyYXktdHlwZS1zcGVjdWxhdGlvbi5o
dG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvanMvYXJyYXktdHlwZS1zcGVjdWxh
dGlvbi5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9qcy9hcnJheS10eXBl
LXNwZWN1bGF0aW9uLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMgQEAKKzwhRE9DVFlQ
RSBIVE1MIFBVQkxJQyAiLS8vSUVURi8vRFREIEhUTUwvL0VOIj4KKzxodG1sPgorPGhlYWQ+Cis8
bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9InJlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVh
ZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvYXJyYXktdHlwZS1zcGVjdWxhdGlvbi5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2pzL3Njcmlw
dC10ZXN0cy9hcnJheS10eXBlLXNwZWN1bGF0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvanMvc2NyaXB0LXRlc3RzL2FycmF5LXR5cGUtc3BlY3VsYXRpb24uanMJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2pzL3NjcmlwdC10ZXN0cy9hcnJheS10eXBlLXNw
ZWN1bGF0aW9uLmpzCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ0IEBACitkZXNjcmlwdGlvbigK
KyJUaGlzIHRlc3RzIHRoYXQgc3RvcmluZyBpbnRvIHNvbWV0aGluZyB0aGF0IGlzIG5vdCBhcnJh
eSBkb2VzIG5vdCBjcmFzaC4iCispOworCit0aGVDb2RlID0gIlxuXAorZnVuY3Rpb24gc3RvcmVG
b29CeVZhbE9yRG9Bcml0aG1ldGljKG8sIHAxLCBwMiwgdikge1xuXAorICAgIHZhciB4O1xuXAor
ICAgIGlmIChwMSkge1xuXAorICAgICAgICB4ID0gby5mb287XG5cCisgICAgfSBlbHNlIHtcblwK
KyAgICAgICAgeCA9IHY7XG5cCisgICAgICAgIGlmIChwMikge1xuXAorICAgICAgICAgICAgeC0t
O1xuXAorICAgICAgICB9IGVsc2Uge1xuXAorICAgICAgICAgICAgeCsrO1xuXAorICAgICAgICB9
XG5cCisgICAgfVxuXAorICAgIHhbNV0gPSBcImZvb1wiO1xuXAorfVxuXAorXG5cCitmdW5jdGlv
biBydW5UaGVUZXN0KHAxLCBwMikge1xuXAorICAgIHZhciBvID0gbmV3IE9iamVjdCgpO1xuXAor
ICAgIG8uZm9vID0gbmV3IE9iamVjdCgpO1xuXAorICAgIHN0b3JlRm9vQnlWYWxPckRvQXJpdGht
ZXRpYyhvLCBwMSwgcDIsIDEpO1xuXAorICAgIHJldHVybiBvLmZvb1s1XTtcblwKK31cbiI7CisK
K2Z1bmN0aW9uIHJ1bldpdGhQcmVkaWNhdGVzKHByZWRpY2F0ZUFycmF5KSB7CisgICAgdmFyIG15
Q29kZSA9IHRoZUNvZGU7CisgICAgCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwcmVkaWNhdGVB
cnJheS5sZW5ndGg7ICsraSkgeworICAgICAgICBteUNvZGUgKz0gInJlc3VsdCA9IHJ1blRoZVRl
c3QoIiArIHByZWRpY2F0ZUFycmF5W2ldWzBdICsgIiwgIiArIHByZWRpY2F0ZUFycmF5W2ldWzFd
ICsgIik7XG4iOworICAgICAgICBteUNvZGUgKz0gInNob3VsZEJlKFwicmVzdWx0XCIsICIgKyBw
cmVkaWNhdGVBcnJheVtpXVsyXSArICIpO1xuIjsKKyAgICB9CisgICAgCisgICAgZXZhbChteUNv
ZGUpOworfQorCitydW5XaXRoUHJlZGljYXRlcyhbW3RydWUsIHRydWUsICJcIlxcXCJmb29cXFwi
XCIiXSwgW3RydWUsIGZhbHNlLCAiXCJcXFwiZm9vXFxcIlwiIl0sIFtmYWxzZSwgdHJ1ZSwgIlwi
dW5kZWZpbmVkXCIiXSwgW2ZhbHNlLCBmYWxzZSwgIlwidW5kZWZpbmVkXCIiXV0pOworcnVuV2l0
aFByZWRpY2F0ZXMoW1tmYWxzZSwgZmFsc2UsICJcInVuZGVmaW5lZFwiIl0sIFt0cnVlLCBmYWxz
ZSwgIlwiXFxcImZvb1xcXCJcIiJdLCBbZmFsc2UsIHRydWUsICJcInVuZGVmaW5lZFwiIl0sIFt0
cnVlLCB0cnVlLCAiXCJcXFwiZm9vXFxcIlwiIl1dKTsKK3J1bldpdGhQcmVkaWNhdGVzKFtbdHJ1
ZSwgdHJ1ZSwgIlwiXFxcImZvb1xcXCJcIiJdLCBbZmFsc2UsIHRydWUsICJcInVuZGVmaW5lZFwi
Il0sIFt0cnVlLCBmYWxzZSwgIlwiXFxcImZvb1xcXCJcIiJdLCBbZmFsc2UsIGZhbHNlLCAiXCJ1
bmRlZmluZWRcIiJdXSk7CitydW5XaXRoUHJlZGljYXRlcyhbW2ZhbHNlLCBmYWxzZSwgIlwidW5k
ZWZpbmVkXCIiXSwgW2ZhbHNlLCB0cnVlLCAiXCJ1bmRlZmluZWRcIiJdLCBbdHJ1ZSwgZmFsc2Us
ICJcIlxcXCJmb29cXFwiXCIiXSwgW3RydWUsIHRydWUsICJcIlxcXCJmb29cXFwiXCIiXV0pOwor
Cit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>