<?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>31901</bug_id>
          
          <creation_ts>2009-11-25 21:46:21 -0800</creation_ts>
          <short_desc>Incorrect behaviour of jneq_null in the interpreter</short_desc>
          <delta_ts>2009-11-27 13:29:13 -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>PC</rep_platform>
          <op_sys>OS X 10.5</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="Oliver Hunt">oliver</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>166628</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-11-25 21:46:21 -0800</bug_when>
    <thetext>The interpreters implementation of op_jneq_null is incorrect when the value being compared is set to masquerade as undefined.  The result is that
if (document.all == null) {
    alert(&quot;PASS&quot;)
} else {
    alert(&quot;FAIL&quot;)
}
Will fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166629</commentid>
    <comment_count>1</comment_count>
      <attachid>43894</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-11-25 21:48:05 -0800</bug_when>
    <thetext>Created attachment 43894
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166630</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-25 21:53:56 -0800</bug_when>
    <thetext>I&apos;m sure Oliver will chase down the right people, but just in case.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166632</commentid>
    <comment_count>3</comment_count>
      <attachid>43894</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-25 21:55:12 -0800</bug_when>
    <thetext>Comment on attachment 43894
Patch

I would be happy to r+ this, as it sounds simple. Except w/o test result updates, it&apos;s difficult for me to see how it&apos;s correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166633</commentid>
    <comment_count>4</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-11-25 21:58:02 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 43894 [details])
&gt; I would be happy to r+ this, as it sounds simple. Except w/o test result
&gt; updates, it&apos;s difficult for me to see how it&apos;s correct.

The interpreter currently fails tests due to this -- the issue is that the existing logic will always short circuit on the isUndefinedOrNull for any cell -- eg. the type where we actually have to do the masquerade check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166650</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-25 22:46:05 -0800</bug_when>
    <thetext>Yeah, I think my confusion is just that I was surprised there were no test expectation changes in your patch.  That&apos;s all.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166939</commentid>
    <comment_count>6</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2009-11-27 13:29:13 -0800</bug_when>
    <thetext>Committed r51424</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>43894</attachid>
            <date>2009-11-25 21:48:05 -0800</date>
            <delta_ts>2009-11-26 15:09:28 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-31901-20091125214803.patch</filename>
            <type>text/plain</type>
            <size>1423</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBkNWQ1MDZlLi5hOTlmYzhlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUg
QEAKKzIwMDktMTEtMjUgIE9saXZlciBIdW50ICA8b2xpdmVyQGFwcGxlLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbmNvcnJlY3QgYmVoYXZp
b3VyIG9mIGpuZXFfbnVsbCBpbiB0aGUgaW50ZXJwcmV0ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTMxOTAxCisKKyAgICAgICAgQ29ycmVjdCB0aGUg
bG9naWMgb2Ygam5lcV9udWxsLiAgVGhpcyBpcyBhbHJlYWR5IGNvdmVyZWQgYnkgZXhpc3Rpbmcg
dGVzdHMuCisKKyAgICAgICAgKiBpbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHA6CisgICAgICAg
IChKU0M6OkludGVycHJldGVyOjpwcml2YXRlRXhlY3V0ZSk6CisKIDIwMDktMTEtMjQgIERtaXRy
eSBUaXRvdiAgPGRpbWljaEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJp
YyBTZWlkZWwuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnBy
ZXRlci5jcHAgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKaW5k
ZXggYmVhMWUwYy4uODEyNDgwOCAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvSW50ZXJwcmV0ZXIuY3BwCisrKyBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVy
cHJldGVyLmNwcApAQCAtMjcwNyw3ICsyNzA3LDcgQEAgSlNWYWx1ZSBJbnRlcnByZXRlcjo6cHJp
dmF0ZUV4ZWN1dGUoRXhlY3V0aW9uRmxhZyBmbGFnLCBSZWdpc3RlckZpbGUqIHJlZ2lzdGVyRmkK
ICAgICAgICAgaW50IHRhcmdldCA9IHZQQ1syXS51Lm9wZXJhbmQ7CiAgICAgICAgIEpTVmFsdWUg
c3JjVmFsdWUgPSBjYWxsRnJhbWUtPnIoc3JjKS5qc1ZhbHVlKCk7CiAKLSAgICAgICAgaWYgKCFz
cmNWYWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpIHx8IChzcmNWYWx1ZS5pc0NlbGwoKSAmJiAhc3Jj
VmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgpLT50eXBlSW5mbygpLm1hc3F1ZXJhZGVzQXNVbmRl
ZmluZWQoKSkpIHsKKyAgICAgICAgaWYgKCFzcmNWYWx1ZS5pc1VuZGVmaW5lZE9yTnVsbCgpICYm
ICghc3JjVmFsdWUuaXNDZWxsKCkgfHwgIXNyY1ZhbHVlLmFzQ2VsbCgpLT5zdHJ1Y3R1cmUoKS0+
dHlwZUluZm8oKS5tYXNxdWVyYWRlc0FzVW5kZWZpbmVkKCkpKSB7CiAgICAgICAgICAgICB2UEMg
Kz0gdGFyZ2V0OwogICAgICAgICAgICAgTkVYVF9JTlNUUlVDVElPTigpOwogICAgICAgICB9Cg==
</data>
<flag name="review"
          id="25637"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>