<?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>123372</bug_id>
          
          <creation_ts>2013-10-25 16:23:59 -0700</creation_ts>
          <short_desc>Refactor parser rollback logic</short_desc>
          <delta_ts>2013-10-25 18:19:07 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Oliver Hunt">oliver</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>943811</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-10-25 16:23:59 -0700</bug_when>
    <thetext>Refactor parser rollback logic</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>943812</commentid>
    <comment_count>1</comment_count>
      <attachid>215229</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-10-25 16:24:50 -0700</bug_when>
    <thetext>Created attachment 215229
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>943827</commentid>
    <comment_count>2</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-10-25 17:23:39 -0700</bug_when>
    <thetext>Committed r158074: &lt;http://trac.webkit.org/changeset/158074&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>943831</commentid>
    <comment_count>3</comment_count>
      <attachid>215229</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-10-25 17:56:33 -0700</bug_when>
    <thetext>Comment on attachment 215229
Patch

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

&gt; Source/JavaScriptCore/parser/Parser.cpp:202
&gt; +    auto savePoint = createSavePoint();

In cases like this, I think the code is more self-documenting, and not harder to write, if it says &quot;SavePoint savePoint = ...&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>943840</commentid>
    <comment_count>4</comment_count>
      <attachid>215229</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-25 18:19:07 -0700</bug_when>
    <thetext>Comment on attachment 215229
Patch

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

R=me too fwiw.

&gt;&gt; Source/JavaScriptCore/parser/Parser.cpp:202
&gt;&gt; +    auto savePoint = createSavePoint();
&gt; 
&gt; In cases like this, I think the code is more self-documenting, and not harder to write, if it says &quot;SavePoint savePoint = ...&quot;.

+1

This is one of those situations where types are cool.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215229</attachid>
            <date>2013-10-25 16:24:50 -0700</date>
            <delta_ts>2013-10-25 18:19:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123372-20131025162450.patch</filename>
            <type>text/plain</type>
            <size>6021</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU4MDUxCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
MWY5OThjYzUxYzBiMmJhNWQxMjk5Njc2ZWI2ZjQwOGFhZDNjOTU3Li43N2ZhZjM2NDNkYzdjZmE1
ZjhmNjA5NjAxNzMzMzg2NDZiMDgyZjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyMSBAQAogMjAxMy0xMC0yNSAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgog
CisgICAgICAgIFJlZmFjdG9yIHBhcnNlciByb2xsYmFjayBsb2dpYworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMzcyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgc2FuZSBhYnN0cmFjdGlvbiBm
b3Igcm9sbGJhY2tzIGluIHRoZSBwYXJzZXIuCisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNw
cDoKKyAgICAgICAgKEpTQzo6OjpwYXJzZVNvdXJjZUVsZW1lbnRzKToKKyAgICAgICAgKEpTQzo6
OjpwYXJzZU9iamVjdExpdGVyYWwpOgorICAgICAgICAqIHBhcnNlci9QYXJzZXIuaDoKKyAgICAg
ICAgKEpTQzo6UGFyc2VyOjpjcmVhdGVTYXZlUG9pbnQpOgorICAgICAgICAoSlNDOjpQYXJzZXI6
OnJlc3RvcmVTYXZlUG9pbnQpOgorCisyMDEzLTEwLTI1ICBPbGl2ZXIgSHVudCAgPG9saXZlckBh
cHBsZS5jb20+CisKICAgICAgICAgRml4IGEgbnVtYmVyIG9mIHByb2JsZW1zIHdpdGggZGVzdHJ1
Y3R1cmluZyBvZiBhcmd1bWVudHMKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTEyMzM1NwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUv
cGFyc2VyL1BhcnNlci5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5j
cHAKaW5kZXggODViM2RjMzhiODk0YmJkMGEwNDYxYjJhMjBjNjY5ZWRlMTIwYjE5NC4uZDljNzYw
YzM4YjhkOTI4MzBhNWExMTM2ZjI0YWZmYzQxODkyMjVhNSAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9wYXJzZXIvUGFyc2VyLmNwcApAQCAtMTk5LDEwICsxOTksNyBAQCB0ZW1wbGF0ZSA8U291cmNl
RWxlbWVudHNNb2RlIG1vZGUsIGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlU291cmNlRWxlbWVudHMg
UGFyc2VyPAogICAgIGJvb2wgc2Vlbk5vbkRpcmVjdGl2ZSA9IGZhbHNlOwogICAgIGNvbnN0IElk
ZW50aWZpZXIqIGRpcmVjdGl2ZSA9IDA7CiAgICAgdW5zaWduZWQgZGlyZWN0aXZlTGl0ZXJhbExl
bmd0aCA9IDA7Ci0gICAgdW5zaWduZWQgc3RhcnRPZmZzZXQgPSBtX3Rva2VuLm1fbG9jYXRpb24u
c3RhcnRPZmZzZXQ7Ci0gICAgdW5zaWduZWQgc3RhcnRMaW5lU3RhcnRPZmZzZXQgPSBtX3Rva2Vu
Lm1fbG9jYXRpb24ubGluZVN0YXJ0T2Zmc2V0OwotICAgIHVuc2lnbmVkIG9sZExhc3RMaW5lTnVt
YmVyID0gbV9sZXhlci0+bGFzdExpbmVOdW1iZXIoKTsKLSAgICB1bnNpZ25lZCBvbGRMaW5lTnVt
YmVyID0gbV9sZXhlci0+bGluZU51bWJlcigpOworICAgIGF1dG8gc2F2ZVBvaW50ID0gY3JlYXRl
U2F2ZVBvaW50KCk7CiAgICAgYm9vbCBoYXNTZXRTdHJpY3QgPSBmYWxzZTsKICAgICB3aGlsZSAo
VHJlZVN0YXRlbWVudCBzdGF0ZW1lbnQgPSBwYXJzZVN0YXRlbWVudChjb250ZXh0LCBkaXJlY3Rp
dmUsICZkaXJlY3RpdmVMaXRlcmFsTGVuZ3RoKSkgewogICAgICAgICBpZiAobW9kZSA9PSBDaGVj
a0ZvclN0cmljdE1vZGUgJiYgIXNlZW5Ob25EaXJlY3RpdmUpIHsKQEAgLTIyNCwxMCArMjIxLDcg
QEAgdGVtcGxhdGUgPFNvdXJjZUVsZW1lbnRzTW9kZSBtb2RlLCBjbGFzcyBUcmVlQnVpbGRlcj4g
VHJlZVNvdXJjZUVsZW1lbnRzIFBhcnNlcjwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz
ZW1hbnRpY0ZhaWwoIkNhbm5vdCBkZWNsYXJlIGEgdmFyaWFibGUgbmFtZWQgJ2V2YWwnIGluIHN0
cmljdCBtb2RlIik7CiAgICAgICAgICAgICAgICAgICAgICAgICBzZW1hbnRpY0ZhaWxJZkZhbHNl
KGlzVmFsaWRTdHJpY3RNb2RlKCksICJJbnZhbGlkIHBhcmFtZXRlcnMgb3IgZnVuY3Rpb24gbmFt
ZSBpbiBzdHJpY3QgbW9kZSIpOwogICAgICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAg
ICAgICAgIG1fbGV4ZXItPnNldE9mZnNldChzdGFydE9mZnNldCwgc3RhcnRMaW5lU3RhcnRPZmZz
ZXQpOwotICAgICAgICAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICAgICAgICAgIG1f
bGV4ZXItPnNldExhc3RMaW5lTnVtYmVyKG9sZExhc3RMaW5lTnVtYmVyKTsKLSAgICAgICAgICAg
ICAgICAgICAgbV9sZXhlci0+c2V0TGluZU51bWJlcihvbGRMaW5lTnVtYmVyKTsKKyAgICAgICAg
ICAgICAgICAgICAgcmVzdG9yZVNhdmVQb2ludChzYXZlUG9pbnQpOwogICAgICAgICAgICAgICAg
ICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgICAgICAgICB9CkBAIC0xNTk4LDEwICsxNTkyLDcgQEAgdGVtcGxhdGUgPGJvb2wgY29t
cGxldGUsIGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlUHJvcGVydHkgUGFyc2VyPExleGVyVHlwZT46
OnBhcnMKIHRlbXBsYXRlIDx0eXBlbmFtZSBMZXhlclR5cGU+CiB0ZW1wbGF0ZSA8Y2xhc3MgVHJl
ZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZU9iamVjdExp
dGVyYWwoVHJlZUJ1aWxkZXImIGNvbnRleHQpCiB7Ci0gICAgaW50IHN0YXJ0T2Zmc2V0ID0gbV90
b2tlbi5tX2RhdGEub2Zmc2V0OwotICAgIHVuc2lnbmVkIG9sZExpbmVTdGFydE9mZnNldCA9IG1f
bGV4ZXItPmN1cnJlbnRMaW5lU3RhcnRPZmZzZXQoKTsKLSAgICB1bnNpZ25lZCBvbGRMYXN0TGlu
ZU51bWJlciA9IG1fbGV4ZXItPmxhc3RMaW5lTnVtYmVyKCk7Ci0gICAgdW5zaWduZWQgb2xkTGlu
ZU51bWJlciA9IG1fbGV4ZXItPmxpbmVOdW1iZXIoKTsKKyAgICBhdXRvIHNhdmVQb2ludCA9IGNy
ZWF0ZVNhdmVQb2ludCgpOwogICAgIGNvbnN1bWVPckZhaWxXaXRoRmxhZ3MoT1BFTkJSQUNFLCBU
cmVlQnVpbGRlcjo6RG9udEJ1aWxkU3RyaW5ncywgIkV4cGVjdGVkIG9wZW5pbmcgJ3snIGF0IHRo
ZSBzdGFydCBvZiBhbiBvYmplY3QgbGl0ZXJhbCIpOwogICAgIEpTVG9rZW5Mb2NhdGlvbiBsb2Nh
dGlvbih0b2tlbkxvY2F0aW9uKCkpOwogCkBAIC0xNjE1LDEwICsxNjA2LDcgQEAgdGVtcGxhdGUg
PGNsYXNzIFRyZWVCdWlsZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFy
c2VPYmplY3RMaXRlcmEKICAgICBUcmVlUHJvcGVydHkgcHJvcGVydHkgPSBwYXJzZVByb3BlcnR5
PGZhbHNlPihjb250ZXh0KTsKICAgICBmYWlsSWZGYWxzZShwcm9wZXJ0eSwgIkNhbm5vdCBwYXJz
ZSBvYmplY3QgbGl0ZXJhbCBwcm9wZXJ0eSIpOwogICAgIGlmICghbV9zeW50YXhBbHJlYWR5VmFs
aWRhdGVkICYmIGNvbnRleHQuZ2V0VHlwZShwcm9wZXJ0eSkgIT0gUHJvcGVydHlOb2RlOjpDb25z
dGFudCkgewotICAgICAgICBtX2xleGVyLT5zZXRPZmZzZXQoc3RhcnRPZmZzZXQsIG9sZExpbmVT
dGFydE9mZnNldCk7Ci0gICAgICAgIG5leHQoKTsKLSAgICAgICAgbV9sZXhlci0+c2V0TGFzdExp
bmVOdW1iZXIob2xkTGFzdExpbmVOdW1iZXIpOwotICAgICAgICBtX2xleGVyLT5zZXRMaW5lTnVt
YmVyKG9sZExpbmVOdW1iZXIpOworICAgICAgICByZXN0b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7
CiAgICAgICAgIHJldHVybiBwYXJzZVN0cmljdE9iamVjdExpdGVyYWwoY29udGV4dCk7CiAgICAg
fQogICAgIFRyZWVQcm9wZXJ0eUxpc3QgcHJvcGVydHlMaXN0ID0gY29udGV4dC5jcmVhdGVQcm9w
ZXJ0eUxpc3QobG9jYXRpb24sIHByb3BlcnR5KTsKQEAgLTE2MzIsMTAgKzE2MjAsNyBAQCB0ZW1w
bGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhlclR5cGU+
OjpwYXJzZU9iamVjdExpdGVyYQogICAgICAgICBwcm9wZXJ0eSA9IHBhcnNlUHJvcGVydHk8ZmFs
c2U+KGNvbnRleHQpOwogICAgICAgICBmYWlsSWZGYWxzZShwcm9wZXJ0eSwgIkNhbm5vdCBwYXJz
ZSBvYmplY3QgbGl0ZXJhbCBwcm9wZXJ0eSIpOwogICAgICAgICBpZiAoIW1fc3ludGF4QWxyZWFk
eVZhbGlkYXRlZCAmJiBjb250ZXh0LmdldFR5cGUocHJvcGVydHkpICE9IFByb3BlcnR5Tm9kZTo6
Q29uc3RhbnQpIHsKLSAgICAgICAgICAgIG1fbGV4ZXItPnNldE9mZnNldChzdGFydE9mZnNldCwg
b2xkTGluZVN0YXJ0T2Zmc2V0KTsKLSAgICAgICAgICAgIG5leHQoKTsKLSAgICAgICAgICAgIG1f
bGV4ZXItPnNldExhc3RMaW5lTnVtYmVyKG9sZExhc3RMaW5lTnVtYmVyKTsKLSAgICAgICAgICAg
IG1fbGV4ZXItPnNldExpbmVOdW1iZXIob2xkTGluZU51bWJlcik7CisgICAgICAgICAgICByZXN0
b3JlU2F2ZVBvaW50KHNhdmVQb2ludCk7CiAgICAgICAgICAgICByZXR1cm4gcGFyc2VTdHJpY3RP
YmplY3RMaXRlcmFsKGNvbnRleHQpOwogICAgICAgICB9CiAgICAgICAgIHRhaWwgPSBjb250ZXh0
LmNyZWF0ZVByb3BlcnR5TGlzdChwcm9wZXJ0eUxvY2F0aW9uLCBwcm9wZXJ0eSwgdGFpbCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCAwYzM1MWRkZGFiMzMzNmRlMzA3
YmExODBhN2E3MmU3YzE5N2RjZWQ2Li5lNDMxZGNmMThkYThiYTNiNGYxY2JkODQyNjFkNzgwNWMy
NGYzNzM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTc1OSw2ICs3
NTksMzIgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuICFtX2Vycm9yTWVzc2FnZS5pc051bGwo
KTsKICAgICB9CiAKKyAgICAKKyAgICBzdHJ1Y3QgU2F2ZVBvaW50IHsKKyAgICAgICAgaW50IHN0
YXJ0T2Zmc2V0OworICAgICAgICB1bnNpZ25lZCBvbGRMaW5lU3RhcnRPZmZzZXQ7CisgICAgICAg
IHVuc2lnbmVkIG9sZExhc3RMaW5lTnVtYmVyOworICAgICAgICB1bnNpZ25lZCBvbGRMaW5lTnVt
YmVyOworICAgIH07CisgICAgCisgICAgQUxXQVlTX0lOTElORSBTYXZlUG9pbnQgY3JlYXRlU2F2
ZVBvaW50KCkKKyAgICB7CisgICAgICAgIFNhdmVQb2ludCByZXN1bHQ7CisgICAgICAgIHJlc3Vs
dC5zdGFydE9mZnNldCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5zdGFydE9mZnNldDsKKyAgICAgICAg
cmVzdWx0Lm9sZExpbmVTdGFydE9mZnNldCA9IG1fdG9rZW4ubV9sb2NhdGlvbi5saW5lU3RhcnRP
ZmZzZXQ7CisgICAgICAgIHJlc3VsdC5vbGRMYXN0TGluZU51bWJlciA9IG1fbGV4ZXItPmxhc3RM
aW5lTnVtYmVyKCk7CisgICAgICAgIHJlc3VsdC5vbGRMaW5lTnVtYmVyID0gbV9sZXhlci0+bGlu
ZU51bWJlcigpOworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0KKyAgICAKKyAgICBBTFdB
WVNfSU5MSU5FIHZvaWQgcmVzdG9yZVNhdmVQb2ludChjb25zdCBTYXZlUG9pbnQmIHNhdmVQb2lu
dCkKKyAgICB7CisgICAgICAgIG1fbGV4ZXItPnNldE9mZnNldChzYXZlUG9pbnQuc3RhcnRPZmZz
ZXQsIHNhdmVQb2ludC5vbGRMaW5lU3RhcnRPZmZzZXQpOworICAgICAgICBuZXh0KCk7CisgICAg
ICAgIG1fbGV4ZXItPnNldExhc3RMaW5lTnVtYmVyKHNhdmVQb2ludC5vbGRMYXN0TGluZU51bWJl
cik7CisgICAgICAgIG1fbGV4ZXItPnNldExpbmVOdW1iZXIoc2F2ZVBvaW50Lm9sZExpbmVOdW1i
ZXIpOworICAgIH0KKyAgICAKICAgICBWTSogbV92bTsKICAgICBjb25zdCBTb3VyY2VDb2RlKiBt
X3NvdXJjZTsKICAgICBQYXJzZXJBcmVuYSogbV9hcmVuYTsK
</data>
<flag name="review"
          id="237928"
          type_id="1"
          status="+"
          setter="beidson"
    />
          </attachment>
      

    </bug>

</bugzilla>