<?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>49385</bug_id>
          
          <creation_ts>2010-11-11 08:03:26 -0800</creation_ts>
          <short_desc>Reduce the size of the RegexStackSpaceForBackTrackInfoParentheses in YARR</short_desc>
          <delta_ts>2010-12-13 04:58:25 -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>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="Peter Varga">pvarga</reporter>
          <assigned_to name="Peter Varga">pvarga</assigned_to>
          <cc>abecsi</cc>
    
    <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>msaboff</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>307926</commentid>
    <comment_count>0</comment_count>
    <who name="Peter Varga">pvarga</who>
    <bug_when>2010-11-11 08:03:26 -0800</bug_when>
    <thetext>The BackTrackInfoParentheses struct in YARR Interpreter stores two members (prevBegin, prevEnd) which are unnecessary for
the current matching logic. These are storing the last successful match of a parentheses. The result of match is restored
from these members in case of backtrack but this isn&apos;t needed because the recordParenthesesMatch() or the resetMatches() 
function updates the result of match in every case.

NOTE: This modification is needed just in the Interpreter because the JIT doesn&apos;t store
backtrack information of iterative parentheses for the time being.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>307931</commentid>
    <comment_count>1</comment_count>
      <attachid>73615</attachid>
    <who name="Peter Varga">pvarga</who>
    <bug_when>2010-11-11 08:06:42 -0800</bug_when>
    <thetext>Created attachment 73615
proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319962</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-09 23:44:00 -0800</bug_when>
    <thetext>This is a patch for gbarra. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320548</commentid>
    <comment_count>3</comment_count>
      <attachid>73615</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-12-10 19:22:31 -0800</bug_when>
    <thetext>Comment on attachment 73615
proposed patch

Hmmm, think I added these at an early state of development, thinking PCRE&apos;s behaviour of coalescing results across repeated iterations of karen matching was correct (ie. /(?:(a)|(b))/.exec(ab) as [&quot;ab&quot;, &quot;a&quot;, &quot;b&quot;], rather than  [&quot;ab&quot;, , &quot;b&quot;]).  Anyway, good catch, yes, these look like garbage now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320554</commentid>
    <comment_count>4</comment_count>
      <attachid>73615</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-10 19:33:53 -0800</bug_when>
    <thetext>Comment on attachment 73615
proposed patch

Rejecting attachment 73615 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-cq-sl&apos;, &apos;apply-attachment&apos;, &apos;--non-interactive&apos;, 73615]&quot; exit_code: 2
Last 500 characters of output:
d at 1 with fuzz 3.
patching file JavaScriptCore/yarr/RegexInterpreter.cpp
Hunk #1 succeeded at 68 (offset 2 lines).
Hunk #2 succeeded at 839 (offset 71 lines).
Hunk #3 succeeded at 920 (offset 82 lines).
patching file JavaScriptCore/yarr/RegexPattern.h
Hunk #1 FAILED at 41.
1 out of 1 hunk FAILED -- saving rejects to file JavaScriptCore/yarr/RegexPattern.h.rej

Failed to run &quot;[u&apos;/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Gavin Barraclough&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/6899047</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321049</commentid>
    <comment_count>5</comment_count>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2010-12-13 04:57:52 -0800</bug_when>
    <thetext>Updated patch landed in http://trac.webkit.org/changeset/73903.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321050</commentid>
    <comment_count>6</comment_count>
      <attachid>73615</attachid>
    <who name="Andras Becsi">abecsi</who>
    <bug_when>2010-12-13 04:58:25 -0800</bug_when>
    <thetext>Comment on attachment 73615
proposed patch

Clearing flags.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>73615</attachid>
            <date>2010-11-11 08:06:42 -0800</date>
            <delta_ts>2010-12-13 04:58:25 -0800</delta_ts>
            <desc>proposed patch</desc>
            <filename>0001-reduce-btInfoParentheses.patch</filename>
            <type>text/plain</type>
            <size>3559</size>
            <attacher name="Peter Varga">pvarga</attacher>
            
              <data encoding="base64">RnJvbSAzYjgwYzRjOGI3OTc5MjQ3NGRjY2Y5N2JiMDc5YWU3NDliMTI1ODA2IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBWYXJnYSA8cHZhcmdhQGluZi51LXN6ZWdlZC5odT4K
RGF0ZTogVGh1LCAxMSBOb3YgMjAxMCAwODowNToxNiAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIHJl
ZHVjZSBidEluZm9QYXJlbnRoZXNlcwoKLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAg
ICAgICAgICAgICAgIHwgICAxNCArKysrKysrKysrKysrKwogSmF2YVNjcmlwdENvcmUveWFyci9S
ZWdleEludGVycHJldGVyLmNwcCB8ICAgMTQgLS0tLS0tLS0tLS0tLS0KIEphdmFTY3JpcHRDb3Jl
L3lhcnIvUmVnZXhQYXR0ZXJuLmggICAgICAgfCAgICAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDE1
IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBiMzkxYjkzLi5h
M2VkY2VjIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNj
cmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMTEtMTEgIFBldGVyIFZh
cmdhICA8cHZhcmdhQGluZi51LXN6ZWdlZC5odT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBSZWR1Y2UgdGhlIHNpemUgb2YgdGhlIFJlZ2V4U3RhY2tT
cGFjZUZvckJhY2tUcmFja0luZm9QYXJlbnRoZXNlcyBpbiBZQVJSCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTM4NQorCisgICAgICAgIFJlbW92ZSB0
aGUgQmFja1RyYWNrSW5mb1BhcmVudGhlc2VzIHN0cnVjdCBwcmV2QmVnaW4gYW5kIHByZXZFbmQg
bWVtYmVycy4KKworICAgICAgICAqIHlhcnIvUmVnZXhJbnRlcnByZXRlci5jcHA6CisgICAgICAg
IChKU0M6OllhcnI6OkludGVycHJldGVyOjptYXRjaFBhcmVudGhlc2VzKToKKyAgICAgICAgKEpT
Qzo6WWFycjo6SW50ZXJwcmV0ZXI6OmJhY2t0cmFja1BhcmVudGhlc2VzKToKKyAgICAgICAgKiB5
YXJyL1JlZ2V4UGF0dGVybi5oOgorCiAyMDEwLTExLTEwICBDc2FiYSBPc3p0cm9nb27DoWMgIDxv
c3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgSHlhdHQuCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuY3BwIGIvSmF2YVNj
cmlwdENvcmUveWFyci9SZWdleEludGVycHJldGVyLmNwcAppbmRleCBlYzk2NjM2Li4xNWE0YWRm
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4SW50ZXJwcmV0ZXIuY3BwCisr
KyBiL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhJbnRlcnByZXRlci5jcHAKQEAgLTY2LDggKzY2
LDYgQEAgcHVibGljOgogICAgIHN0cnVjdCBCYWNrVHJhY2tJbmZvUGFyZW50aGVzZXMgewogICAg
ICAgICB1aW50cHRyX3QgbWF0Y2hBbW91bnQ7CiAgICAgICAgIFBhcmVudGhlc2VzRGlzanVuY3Rp
b25Db250ZXh0KiBsYXN0Q29udGV4dDsKLSAgICAgICAgdWludHB0cl90IHByZXZCZWdpbjsKLSAg
ICAgICAgdWludHB0cl90IHByZXZFbmQ7CiAgICAgfTsKIAogICAgIHN0YXRpYyBpbmxpbmUgdm9p
ZCBhcHBlbmRQYXJlbnRoZXNlc0Rpc2p1bmN0aW9uQ29udGV4dChCYWNrVHJhY2tJbmZvUGFyZW50
aGVzZXMqIGJhY2tUcmFjaywgUGFyZW50aGVzZXNEaXNqdW5jdGlvbkNvbnRleHQqIGNvbnRleHQp
CkBAIC03NzAsMTMgKzc2OCw4IEBAIHB1YmxpYzoKICAgICAgICAgQVNTRVJUKHRlcm0udHlwZSA9
PSBCeXRlVGVybTo6VHlwZVBhcmVudGhlc2VzU3VicGF0dGVybik7CiAKICAgICAgICAgQmFja1Ry
YWNrSW5mb1BhcmVudGhlc2VzKiBiYWNrVHJhY2sgPSByZWludGVycHJldF9jYXN0PEJhY2tUcmFj
a0luZm9QYXJlbnRoZXNlcyo+KGNvbnRleHQtPmZyYW1lICsgdGVybS5mcmFtZUxvY2F0aW9uKTsK
LQotICAgICAgICB1bnNpZ25lZCBzdWJwYXR0ZXJuSWQgPSB0ZXJtLmF0b20uc3VicGF0dGVybklk
OwogICAgICAgICBCeXRlRGlzanVuY3Rpb24qIGRpc2p1bmN0aW9uQm9keSA9IHRlcm0uYXRvbS5w
YXJlbnRoZXNlc0Rpc2p1bmN0aW9uOwogCi0gICAgICAgIGJhY2tUcmFjay0+cHJldkJlZ2luID0g
b3V0cHV0WyhzdWJwYXR0ZXJuSWQgPDwgMSldOwotICAgICAgICBiYWNrVHJhY2stPnByZXZFbmQg
PSBvdXRwdXRbKHN1YnBhdHRlcm5JZCA8PCAxKSArIDFdOwotCiAgICAgICAgIGJhY2tUcmFjay0+
bWF0Y2hBbW91bnQgPSAwOwogICAgICAgICBiYWNrVHJhY2stPmxhc3RDb250ZXh0ID0gMDsKIApA
QCAtODQ1LDEzICs4MzgsNiBAQCBwdWJsaWM6CiAgICAgICAgIEFTU0VSVCh0ZXJtLnR5cGUgPT0g
Qnl0ZVRlcm06OlR5cGVQYXJlbnRoZXNlc1N1YnBhdHRlcm4pOwogCiAgICAgICAgIEJhY2tUcmFj
a0luZm9QYXJlbnRoZXNlcyogYmFja1RyYWNrID0gcmVpbnRlcnByZXRfY2FzdDxCYWNrVHJhY2tJ
bmZvUGFyZW50aGVzZXMqPihjb250ZXh0LT5mcmFtZSArIHRlcm0uZnJhbWVMb2NhdGlvbik7Ci0K
LSAgICAgICAgaWYgKHRlcm0uY2FwdHVyZSgpKSB7Ci0gICAgICAgICAgICB1bnNpZ25lZCBzdWJw
YXR0ZXJuSWQgPSB0ZXJtLmF0b20uc3VicGF0dGVybklkOwotICAgICAgICAgICAgb3V0cHV0Wyhz
dWJwYXR0ZXJuSWQgPDwgMSldID0gYmFja1RyYWNrLT5wcmV2QmVnaW47Ci0gICAgICAgICAgICBv
dXRwdXRbKHN1YnBhdHRlcm5JZCA8PCAxKSArIDFdID0gYmFja1RyYWNrLT5wcmV2RW5kOwotICAg
ICAgICB9Ci0KICAgICAgICAgQnl0ZURpc2p1bmN0aW9uKiBkaXNqdW5jdGlvbkJvZHkgPSB0ZXJt
LmF0b20ucGFyZW50aGVzZXNEaXNqdW5jdGlvbjsKIAogICAgICAgICBzd2l0Y2ggKHRlcm0uYXRv
bS5xdWFudGl0eVR5cGUpIHsKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQ
YXR0ZXJuLmggYi9KYXZhU2NyaXB0Q29yZS95YXJyL1JlZ2V4UGF0dGVybi5oCmluZGV4IGVlY2Jk
NDMuLmFhMWRlY2YgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3lhcnIvUmVnZXhQYXR0ZXJu
LmgKKysrIGIvSmF2YVNjcmlwdENvcmUveWFyci9SZWdleFBhdHRlcm4uaApAQCAtNDEsNyArNDEs
NyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIFlhcnIgewogI2RlZmluZSBSZWdleFN0YWNr
U3BhY2VGb3JCYWNrVHJhY2tJbmZvQWx0ZXJuYXRpdmUgMSAvLyBPbmUgcGVyIGFsdGVybmF0aXZl
LgogI2RlZmluZSBSZWdleFN0YWNrU3BhY2VGb3JCYWNrVHJhY2tJbmZvUGFyZW50aGV0aWNhbEFz
c2VydGlvbiAxCiAjZGVmaW5lIFJlZ2V4U3RhY2tTcGFjZUZvckJhY2tUcmFja0luZm9QYXJlbnRo
ZXNlc09uY2UgMSAvLyBPbmx5IGZvciAhZml4ZWQgcXVhbnRpZmllcnMuCi0jZGVmaW5lIFJlZ2V4
U3RhY2tTcGFjZUZvckJhY2tUcmFja0luZm9QYXJlbnRoZXNlcyA0CisjZGVmaW5lIFJlZ2V4U3Rh
Y2tTcGFjZUZvckJhY2tUcmFja0luZm9QYXJlbnRoZXNlcyAyCiAKIHN0cnVjdCBQYXR0ZXJuRGlz
anVuY3Rpb247CiAKLS0gCjEuNy4yLjIKCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>