<?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>18732</bug_id>
          
          <creation_ts>2008-04-24 21:45:01 -0700</creation_ts>
          <short_desc>SQUIRRELFISH: exceptions thrown by native constructors are ignored</short_desc>
          <delta_ts>2008-04-25 01:33:30 -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>
          
          <blocked>18624</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Cameron Zwarich (cpst)">zwarich</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>78867</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-04-24 21:45:01 -0700</bug_when>
    <thetext>This problem is seen in the JavaScriptCore regression test js1_5/Regress/regress-118849.js. There is only one easy way of fixing this, adding an exception check to op_construct, so hopefully that doesn&apos;t regress performance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78870</commentid>
    <comment_count>1</comment_count>
      <attachid>20808</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-04-24 21:56:15 -0700</bug_when>
    <thetext>Created attachment 20808
Proposed patch

Here&apos;s the natural patch. It fixes the test, and is either a slight speedup on SunSpider or no regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78871</commentid>
    <comment_count>2</comment_count>
      <attachid>20808</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-04-24 21:58:37 -0700</bug_when>
    <thetext>Comment on attachment 20808
Proposed patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78872</commentid>
    <comment_count>3</comment_count>
      <attachid>20809</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-04-24 22:05:59 -0700</bug_when>
    <thetext>Created attachment 20809
Revised proposed patch

We should do the exception check before writing to any register. The code currently doing the check after writing is incorrect. This version does slightly better on SunSpider, for a pretty definite 0.4% progression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78873</commentid>
    <comment_count>4</comment_count>
      <attachid>20809</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-04-24 22:06:46 -0700</bug_when>
    <thetext>Comment on attachment 20809
Revised proposed patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78893</commentid>
    <comment_count>5</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-04-25 01:33:30 -0700</bug_when>
    <thetext>Landed r 32538</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20808</attachid>
            <date>2008-04-24 21:56:15 -0700</date>
            <delta_ts>2008-04-24 22:05:59 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>construct.diff</filename>
            <type>text/plain</type>
            <size>1038</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDMyNTMy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDgtMDQt
MjQgIENhbWVyb24gWndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDE4NzMyOiBTUVVJUlJF
TEZJU0g6IGV4Y2VwdGlvbnMgdGhyb3duIGJ5IG5hdGl2ZSBjb25zdHJ1Y3RvcnMgYXJlIGlnbm9y
ZWQKKyAgICAgICAgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODcz
Mj4KKworICAgICAgICBGaXhlcyBhbm90aGVyIHJlZ3Jlc3Npb24gdGVzdC4KKworICAgICAgICAq
IFZNL01hY2hpbmUuY3BwOgorICAgICAgICAoS0pTOjpNYWNoaW5lOjpwcml2YXRlRXhlY3V0ZSk6
CisKIDIwMDgtMDQtMjQgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KSW5kZXg6IFZNL01hY2hpbmUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFZNL01hY2hpbmUuY3BwCShyZXZpc2lvbiAzMjUzMSkKKysrIFZNL01hY2hpbmUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQ1LDYgKzE0NDUsOCBAQCBKU1ZhbHVlKiBNYWNoaW5l
Ojpwcml2YXRlRXhlY3V0ZShFeGVjdXRpCiAgICAgICAgICAgICByID0gKCpyZWdpc3RlckJhc2Up
ICsgcmVnaXN0ZXJPZmZzZXQ7CiAgICAgICAgICAgICByW3IwXS51LmpzVmFsdWUgPSByZXR1cm5W
YWx1ZTsKICAgICAgICAgICAgIAorICAgICAgICAgICAgVk1fQ0hFQ0tfRVhDRVBUSU9OKCk7Cisg
ICAgICAgICAgICAKICAgICAgICAgICAgICsrdlBDOwogICAgICAgICAgICAgTkVYVF9PUENPREU7
CiAgICAgICAgIH0K
</data>
<flag name="review"
          id="9098"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20809</attachid>
            <date>2008-04-24 22:05:59 -0700</date>
            <delta_ts>2008-04-24 22:06:46 -0700</delta_ts>
            <desc>Revised proposed patch</desc>
            <filename>construct.diff</filename>
            <type>text/plain</type>
            <size>1069</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDMyNTMy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDgtMDQt
MjQgIENhbWVyb24gWndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDE4NzMyOiBTUVVJUlJF
TEZJU0g6IGV4Y2VwdGlvbnMgdGhyb3duIGJ5IG5hdGl2ZSBjb25zdHJ1Y3RvcnMgYXJlIGlnbm9y
ZWQKKyAgICAgICAgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODcz
Mj4KKworICAgICAgICBGaXhlcyBhbm90aGVyIHJlZ3Jlc3Npb24gdGVzdC4KKworICAgICAgICAq
IFZNL01hY2hpbmUuY3BwOgorICAgICAgICAoS0pTOjpNYWNoaW5lOjpwcml2YXRlRXhlY3V0ZSk6
CisKIDIwMDgtMDQtMjQgIEdlb2ZmcmV5IEdhcmVuICA8Z2dhcmVuQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudC4KSW5kZXg6IFZNL01hY2hpbmUuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFZNL01hY2hpbmUuY3BwCShyZXZpc2lvbiAzMjUzMSkKKysrIFZNL01hY2hpbmUu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDQzLDYgKzE0NDMsNyBAQCBKU1ZhbHVlKiBNYWNoaW5l
Ojpwcml2YXRlRXhlY3V0ZShFeGVjdXRpCiAgICAgICAgICAgICBKU1ZhbHVlKiByZXR1cm5WYWx1
ZSA9IGNvbnN0cnVjdG9yLT5jb25zdHJ1Y3QoZXhlYywgYXJncyk7CiAgICAgICAgIAogICAgICAg
ICAgICAgciA9ICgqcmVnaXN0ZXJCYXNlKSArIHJlZ2lzdGVyT2Zmc2V0OworICAgICAgICAgICAg
Vk1fQ0hFQ0tfRVhDRVBUSU9OKCk7CiAgICAgICAgICAgICByW3IwXS51LmpzVmFsdWUgPSByZXR1
cm5WYWx1ZTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgKyt2UEM7Cg==
</data>
<flag name="review"
          id="9099"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>