<?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>18728</bug_id>
          
          <creation_ts>2008-04-24 21:18:34 -0700</creation_ts>
          <short_desc>SQUIRRELFISH: invalid regular expression constants should throw exceptions</short_desc>
          <delta_ts>2008-04-25 01:33:08 -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>78860</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-04-24 21:18:34 -0700</bug_when>
    <thetext>Currently, SquirrelFish doesn&apos;t throw exceptions for invalid regular expression constants. The exception gets created, but there is no VM_CHECK_EXCEPTION() in the body of op_new_regexp, so it gets ignored. However, we should really just create the code to throw the exception at compile time. This affects the JavaScriptCore regression test ecma_3/RegExp/regress-188206.js.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78861</commentid>
    <comment_count>1</comment_count>
      <attachid>20807</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-04-24 21:29:39 -0700</bug_when>
    <thetext>Created attachment 20807
Proposed patch

This patch fixes the test and is a 0.7% progression on SunSpider, because of the better code path in op_new_regexp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78868</commentid>
    <comment_count>2</comment_count>
      <attachid>20807</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-04-24 21:49:06 -0700</bug_when>
    <thetext>Comment on attachment 20807
Proposed patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78892</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2008-04-25 01:33:08 -0700</bug_when>
    <thetext>Landed r32537</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20807</attachid>
            <date>2008-04-24 21:29:39 -0700</date>
            <delta_ts>2008-04-24 21:49:06 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>regexp.diff</filename>
            <type>text/plain</type>
            <size>2110</size>
            <attacher name="Cameron Zwarich (cpst)">zwarich</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDMyNTMy
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDgtMDQt
MjQgIENhbWVyb24gWndhcmljaCAgPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQnVnIDE4NzI4OiBTUVVJUlJF
TEZJU0g6IGludmFsaWQgcmVndWxhciBleHByZXNzaW9uIGNvbnN0YW50cyBzaG91bGQgdGhyb3cg
ZXhjZXB0aW9ucworICAgICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE4NzI4PgorCisgICAgICAgIEZpeGVzIGFub3RoZXIgcmVncmVzc2lvbiB0ZXN0LgorCisg
ICAgICAgICoga2pzL25vZGVzLmNwcDoKKyAgICAgICAgKEtKUzo6UmVnRXhwTm9kZTo6ZW1pdENv
ZGUpOgorCiAyMDA4LTA0LTI0ICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCkluZGV4OiBWTS9NYWNoaW5lLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBWTS9NYWNoaW5lLmNwcAkocmV2aXNpb24gMzI1MzEpCisrKyBWTS9NYWNo
aW5lLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzExLDcgKzcxMSw3IEBAIEpTVmFsdWUqIE1hY2hp
bmU6OnByaXZhdGVFeGVjdXRlKEV4ZWN1dGkKICAgICBCRUdJTl9PUENPREUob3BfbmV3X3JlZ2V4
cCkgewogICAgICAgICBpbnQgcjAgPSAoKyt2UEMpLT51Lm9wZXJhbmQ7CiAgICAgICAgIGludCBy
ZTAgPSAoKyt2UEMpLT51Lm9wZXJhbmQ7Ci0gICAgICAgIHJbcjBdLnUuanNWYWx1ZSA9IGV4ZWMt
PmxleGljYWxHbG9iYWxPYmplY3QoKS0+cmVnRXhwQ29uc3RydWN0b3IoKS0+Y3JlYXRlUmVnRXhw
SW1wKGV4ZWMsIGNvZGVCbG9jay0+cmVnZXhwc1tyZTBdKTsKKyAgICAgICAgcltyMF0udS5qc1Zh
bHVlID0gbmV3IFJlZ0V4cEltcChzdGF0aWNfY2FzdDxSZWdFeHBQcm90b3R5cGUqPihleGVjLT5s
ZXhpY2FsR2xvYmFsT2JqZWN0KCktPnJlZ0V4cFByb3RvdHlwZSgpKSwgY29kZUJsb2NrLT5yZWdl
eHBzW3JlMF0pOwogCiAgICAgICAgICsrdlBDOwogICAgICAgICBORVhUX09QQ09ERTsKSW5kZXg6
IGtqcy9ub2Rlcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga2pzL25vZGVzLmNwcAkocmV2aXNpb24gMzI1
MzEpCisrKyBranMvbm9kZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NjksNyArNTY5LDEzIEBA
IGJvb2wgU3RyaW5nTm9kZTo6ZXZhbHVhdGVUb0Jvb2xlYW4oT2xkSW4KIAogUmVnaXN0ZXJJRCog
UmVnRXhwTm9kZTo6ZW1pdENvZGUoQ29kZUdlbmVyYXRvciYgZ2VuZXJhdG9yLCBSZWdpc3RlcklE
KiBkc3QpCiB7Ci0gICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3UmVnRXhwKGdlbmVyYXRvci5m
aW5hbERlc3RpbmF0aW9uKGRzdCksIG1fcmVnRXhwLmdldCgpKTsKKyAgICBpZiAobV9yZWdFeHAt
PmlzVmFsaWQoKSkKKyAgICAgICAgcmV0dXJuIGdlbmVyYXRvci5lbWl0TmV3UmVnRXhwKGdlbmVy
YXRvci5maW5hbERlc3RpbmF0aW9uKGRzdCksIG1fcmVnRXhwLmdldCgpKTsKKyAgICAKKyAgICBV
U3RyaW5nIGVycm9yTWVzc2FnZVN0cmluZyA9IFVTdHJpbmcoIkludmFsaWQgcmVndWxhciBleHBy
ZXNzaW9uOiAiKS5hcHBlbmQobV9yZWdFeHAtPmVycm9yTWVzc2FnZSgpKTsKKyAgICBSZWdpc3Rl
cklEKiByMCA9IGdlbmVyYXRvci5lbWl0Q3JlYXRlRXJyb3IoZ2VuZXJhdG9yLnRlbXBEZXN0aW5h
dGlvbihkc3QpLCBTeW50YXhFcnJvciwganNPd25lZFN0cmluZyhlcnJvck1lc3NhZ2VTdHJpbmcp
KTsKKyAgICBnZW5lcmF0b3IuZW1pdFRocm93KHIwKTsKKyAgICByZXR1cm4gMDsKIH0KIAogSlNW
YWx1ZSogUmVnRXhwTm9kZTo6ZXZhbHVhdGUoT2xkSW50ZXJwcmV0ZXJFeGVjU3RhdGUqIGV4ZWMp
Cg==
</data>
<flag name="review"
          id="9097"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>