<?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>47839</bug_id>
          
          <creation_ts>2010-10-18 11:24:43 -0700</creation_ts>
          <short_desc>JSC interpreter regressions after r69940</short_desc>
          <delta_ts>2010-10-22 03:54:40 -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>PC</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="Peter Gal">galpeter</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>oliver</cc>
    
    <cc>ossy</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>295638</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Gal">galpeter</who>
    <bug_when>2010-10-18 11:24:43 -0700</bug_when>
    <thetext>After the 69940 revision, the interpreter build was broken. That was fixed, but there are still a &quot;few&quot; regressions,
running WebKitTools/Scripts/run-javascriptcore-tests results: 348 regressions found.

This is tested with a Qt build, but I assume that there is no Qt specific code inside the parser. So the regressions are on all platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297281</commentid>
    <comment_count>1</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-10-21 01:13:12 -0700</bug_when>
    <thetext>Bug:

JSValue result = JSC::resolveBase(callFrame, ident, callFrame-&gt;scopeChain(), isStrictPut);
if (!result) {
    callFrame-&gt;r(dst) = result;
    ASSERT(callFrame-&gt;r(dst).jsValue());
} else
    callFrame-&gt;globalData().exception = createErrorForInvalidGlobalAssignment(callFrame, ident.ustring());

&quot;if (!result)&quot; is wrong, because it should test the opposite. Although &quot;if (!!result)&quot; is ok, I refactored the code with &quot;UNLIKELY(!result)&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297283</commentid>
    <comment_count>2</comment_count>
      <attachid>71403</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-10-21 01:23:25 -0700</bug_when>
    <thetext>Created attachment 71403
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297292</commentid>
    <comment_count>3</comment_count>
      <attachid>71403</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-10-21 01:50:08 -0700</bug_when>
    <thetext>Comment on attachment 71403
patch

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

&gt; JavaScriptCore/interpreter/Interpreter.cpp:292
&gt; -    if (!result) {
&gt; -        callFrame-&gt;r(dst) = result;
&gt; -        ASSERT(callFrame-&gt;r(dst).jsValue());
&gt; -    } else
&gt; +    if (UNLIKELY(!result)) {
&gt;          callFrame-&gt;globalData().exception = createErrorForInvalidGlobalAssignment(callFrame, ident.ustring());
&gt; +        return;
&gt; +    }
&gt; +    callFrame-&gt;r(dst) = result;
&gt; +    ASSERT(callFrame-&gt;r(dst).jsValue());
&gt;  }

I don&apos;t think we need to change the order of cases. 
I prefer only fixing the conditon and add LIKELY 
hint to the compiler, like this:

if (LIKELY(result)) {
    callFrame-&gt;r(dst) = result;
    ASSERT(callFrame-&gt;r(dst).jsValue());
} else
    callFrame-&gt;globalData().exception = createErrorForInvalidGlobalAssignment(callFrame, ident.ustring());</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297332</commentid>
    <comment_count>4</comment_count>
      <attachid>71414</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2010-10-21 03:11:44 -0700</bug_when>
    <thetext>Created attachment 71414
Patch for Oszi

I don&apos;t like it. Anyway it works.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297357</commentid>
    <comment_count>5</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-10-21 04:05:07 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Created an attachment (id=71414) [details]
&gt; Patch for Oszi
&gt; 
&gt; I don&apos;t like it. Anyway it works.

I do like it. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297895</commentid>
    <comment_count>6</comment_count>
      <attachid>71414</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-22 03:54:34 -0700</bug_when>
    <thetext>Comment on attachment 71414
Patch for Oszi

Clearing flags on attachment: 71414

Committed r70299: &lt;http://trac.webkit.org/changeset/70299&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297896</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-10-22 03:54:40 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71403</attachid>
            <date>2010-10-21 01:23:25 -0700</date>
            <delta_ts>2010-10-22 03:20:24 -0700</delta_ts>
            <desc>patch</desc>
            <filename>0001-interpreter-fix.patch</filename>
            <type>text/plain</type>
            <size>2177</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">RnJvbSA0YjJjYTY4NmE2ZDA5YjAxOWIxOGVhZTg2MGNlMmFhMGQ1MjkwMmIzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAaW5mLnUtc3plZ2Vk
Lmh1PgpEYXRlOiBUaHUsIDIxIE9jdCAyMDEwIDEwOjIxOjE4ICswMjAwClN1YmplY3Q6IFtQQVRD
SF0gaW50ZXJwcmV0ZXItZml4CgpTaWduZWQtb2ZmLWJ5OiBab2x0YW4gSGVyY3plZyA8emhlcmN6
ZWdAaW5mLnUtc3plZ2VkLmh1PgotLS0KIEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgICB8ICAgMTQgKysrKysrKysrKysrKysKIEphdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmNwcCB8ICAgIDkgKysrKystLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDE5
IGluc2VydGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDNhYzU5MTUuLjM5
NmJiM2MgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9KYXZhU2Ny
aXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0xMC0yMSAgWm9sdGFuIEhl
cmN6ZWcgIDx6aGVyY3plZ0B3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEpTQyBpbnRlcnByZXRlciByZWdyZXNzaW9ucyBhZnRlciBy
Njk5NDAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3
ODM5CisKKyAgICAgICAgV3JvbmcgImlmIjogSXQgc2hvdWxkIHRlc3Qgd2hldGhlciB0aGUgcmVz
dWx0IGV4aXN0cywKKyAgICAgICAgYW5kIG5vdCB0aGUgb3Bwb3NpdGUuIEl0IGlzIGFuIGludGVy
cHJldGVyIGJ1ZywgaGVuY2UKKyAgICAgICAgdGhlIGJvdHMgZG9lcyBub3QgY2FwdHVyZSBpdC4K
KworICAgICAgICAqIGludGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAgICAgKEpTQzo6
SW50ZXJwcmV0ZXI6OnJlc29sdmVCYXNlKToKKwogMjAxMC0xMC0xOSAgS3dhbmcgWXVsIFNlbyAg
PHNreXVsQGNvbXBhbnkxMDAubmV0PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhdmlkIEtpbHpl
ci4KZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNw
cCBiL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAppbmRleCAyODc3
NTY1Li4zY2Q1NGE2IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRl
cnByZXRlci5jcHAKKysrIGIvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIu
Y3BwCkBAIC0yODMsMTEgKzI4MywxMiBAQCBORVZFUl9JTkxJTkUgdm9pZCBJbnRlcnByZXRlcjo6
cmVzb2x2ZUJhc2UoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEluc3RydWN0aW9uKiB2UAogICAgIGJv
b2wgaXNTdHJpY3RQdXQgPSB2UENbM10udS5vcGVyYW5kOwogICAgIElkZW50aWZpZXIgaWRlbnQg
PSBjYWxsRnJhbWUtPmNvZGVCbG9jaygpLT5pZGVudGlmaWVyKHByb3BlcnR5KTsKICAgICBKU1Zh
bHVlIHJlc3VsdCA9IEpTQzo6cmVzb2x2ZUJhc2UoY2FsbEZyYW1lLCBpZGVudCwgY2FsbEZyYW1l
LT5zY29wZUNoYWluKCksIGlzU3RyaWN0UHV0KTsKLSAgICBpZiAoIXJlc3VsdCkgewotICAgICAg
ICBjYWxsRnJhbWUtPnIoZHN0KSA9IHJlc3VsdDsKLSAgICAgICAgQVNTRVJUKGNhbGxGcmFtZS0+
cihkc3QpLmpzVmFsdWUoKSk7Ci0gICAgfSBlbHNlCisgICAgaWYgKFVOTElLRUxZKCFyZXN1bHQp
KSB7CiAgICAgICAgIGNhbGxGcmFtZS0+Z2xvYmFsRGF0YSgpLmV4Y2VwdGlvbiA9IGNyZWF0ZUVy
cm9yRm9ySW52YWxpZEdsb2JhbEFzc2lnbm1lbnQoY2FsbEZyYW1lLCBpZGVudC51c3RyaW5nKCkp
OworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGNhbGxGcmFtZS0+cihkc3QpID0gcmVzdWx0
OworICAgIEFTU0VSVChjYWxsRnJhbWUtPnIoZHN0KS5qc1ZhbHVlKCkpOwogfQogCiBORVZFUl9J
TkxJTkUgYm9vbCBJbnRlcnByZXRlcjo6cmVzb2x2ZUJhc2VBbmRQcm9wZXJ0eShDYWxsRnJhbWUq
IGNhbGxGcmFtZSwgSW5zdHJ1Y3Rpb24qIHZQQywgSlNWYWx1ZSYgZXhjZXB0aW9uVmFsdWUpCi0t
IAoxLjYuMC40Cgo=
</data>
<flag name="review"
          id="61443"
          type_id="1"
          status="-"
          setter="ossy"
    />
    <flag name="commit-queue"
          id="61444"
          type_id="3"
          status="-"
          setter="ossy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71414</attachid>
            <date>2010-10-21 03:11:44 -0700</date>
            <delta_ts>2010-10-22 03:54:34 -0700</delta_ts>
            <desc>Patch for Oszi</desc>
            <filename>0001-interpreter-fix.patch</filename>
            <type>text/plain</type>
            <size>1821</size>
            <attacher name="Zoltan Herczeg">zherczeg</attacher>
            
              <data encoding="base64">RnJvbSAwMWRkN2Q4MWVlZDkwZmM4YTZlYzNkMDQyZTlmOTgzNzVhNmQ0ZGExIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBab2x0YW4gSGVyY3plZyA8emhlcmN6ZWdAaW5mLnUtc3plZ2Vk
Lmh1PgpEYXRlOiBUaHUsIDIxIE9jdCAyMDEwIDEyOjA5OjEzICswMjAwClN1YmplY3Q6IFtQQVRD
SF0gaW50ZXJwcmV0ZXItZml4CgpTaWduZWQtb2ZmLWJ5OiBab2x0YW4gSGVyY3plZyA8emhlcmN6
ZWdAaW5mLnUtc3plZ2VkLmh1PgotLS0KIEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyAgICAgICAg
ICAgICAgICAgICB8ICAgMTQgKysrKysrKysrKysrKysKIEphdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmNwcCB8ICAgIDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0
aW9ucygrKSwgMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS9DaGFu
Z2VMb2cgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKaW5kZXggM2FjNTkxNS4uMzk2YmIzYyAx
MDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCisrKyBiL0phdmFTY3JpcHRDb3Jl
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEwLTEwLTIxICBab2x0YW4gSGVyY3plZyAg
PHpoZXJjemVnQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgSlNDIGludGVycHJldGVyIHJlZ3Jlc3Npb25zIGFmdGVyIHI2OTk0MAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc4MzkKKwor
ICAgICAgICBXcm9uZyAiaWYiOiBJdCBzaG91bGQgdGVzdCB3aGV0aGVyIHRoZSByZXN1bHQgZXhp
c3RzLAorICAgICAgICBhbmQgbm90IHRoZSBvcHBvc2l0ZS4gSXQgaXMgYW4gaW50ZXJwcmV0ZXIg
YnVnLCBoZW5jZQorICAgICAgICB0aGUgYm90cyBkb2VzIG5vdCBjYXB0dXJlIGl0LgorCisgICAg
ICAgICogaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwOgorICAgICAgICAoSlNDOjpJbnRlcnBy
ZXRlcjo6cmVzb2x2ZUJhc2UpOgorCiAyMDEwLTEwLTE5ICBLd2FuZyBZdWwgU2VvICA8c2t5dWxA
Y29tcGFueTEwMC5uZXQ+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgS2lsemVyLgpkaWZm
IC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwIGIvSmF2
YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCmluZGV4IDI4Nzc1NjUuLjFj
YWRlZjggMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVy
LmNwcAorKysgYi9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKQEAg
LTI4Myw3ICsyODMsNyBAQCBORVZFUl9JTkxJTkUgdm9pZCBJbnRlcnByZXRlcjo6cmVzb2x2ZUJh
c2UoQ2FsbEZyYW1lKiBjYWxsRnJhbWUsIEluc3RydWN0aW9uKiB2UAogICAgIGJvb2wgaXNTdHJp
Y3RQdXQgPSB2UENbM10udS5vcGVyYW5kOwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBjYWxsRnJh
bWUtPmNvZGVCbG9jaygpLT5pZGVudGlmaWVyKHByb3BlcnR5KTsKICAgICBKU1ZhbHVlIHJlc3Vs
dCA9IEpTQzo6cmVzb2x2ZUJhc2UoY2FsbEZyYW1lLCBpZGVudCwgY2FsbEZyYW1lLT5zY29wZUNo
YWluKCksIGlzU3RyaWN0UHV0KTsKLSAgICBpZiAoIXJlc3VsdCkgeworICAgIGlmIChyZXN1bHQp
IHsKICAgICAgICAgY2FsbEZyYW1lLT5yKGRzdCkgPSByZXN1bHQ7CiAgICAgICAgIEFTU0VSVChj
YWxsRnJhbWUtPnIoZHN0KS5qc1ZhbHVlKCkpOwogICAgIH0gZWxzZQotLSAKMS42LjAuNAoK
</data>

          </attachment>
      

    </bug>

</bugzilla>