<?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>62327</bug_id>
          
          <creation_ts>2011-06-08 14:17:56 -0700</creation_ts>
          <short_desc>Add faster lookup cache for multi character identifiers</short_desc>
          <delta_ts>2011-06-08 14:57:34 -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>
          <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>417521</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-06-08 14:17:56 -0700</bug_when>
    <thetext>Add faster lookup cache for multi character identifiers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417530</commentid>
    <comment_count>1</comment_count>
      <attachid>96481</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-06-08 14:22:38 -0700</bug_when>
    <thetext>Created attachment 96481
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417531</commentid>
    <comment_count>2</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-06-08 14:23:25 -0700</bug_when>
    <thetext>This is a 1.7% parsing improvement by my measurements.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417540</commentid>
    <comment_count>3</comment_count>
      <attachid>96481</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-08 14:31:30 -0700</bug_when>
    <thetext>Comment on attachment 96481
Patch

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

r=me

&gt; Source/JavaScriptCore/parser/ParserArena.h:82
&gt; +        if (ident &amp;&amp; ident-&gt;length() == (int)length &amp;&amp; (!memcmp(characters, ident-&gt;characters(), length * sizeof(UChar))))

static_cast&lt;int&gt;, please.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417541</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2011-06-08 14:35:22 -0700</bug_when>
    <thetext>Just realized that Identifier::equal might be a better choice than memcmp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417573</commentid>
    <comment_count>5</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2011-06-08 14:57:34 -0700</bug_when>
    <thetext>Committed r88394: &lt;http://trac.webkit.org/changeset/88394&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>96481</attachid>
            <date>2011-06-08 14:22:38 -0700</date>
            <delta_ts>2011-06-08 14:31:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62327-20110608142237.patch</filename>
            <type>text/plain</type>
            <size>3723</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODgyMTEKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDY0
NzA2MzcyN2I3OTQ2ZGQyNTBkMzM4ZjM3NjYzZDFjM2MyMTFhNjMuLmU1MGJlMzhiZDBlOTMxM2I4
ZjE4YmZhMGMwODM2YTI0OGIxZDMyMDcgMTAwNzU1Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIwIEBACisyMDExLTA2LTA4ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGZhc3Rl
ciBsb29rdXAgY2FjaGUgZm9yIG11bHRpIGNoYXJhY3RlciBpZGVudGlmaWVycworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMjcKKworICAgICAgICBB
ZGQgYSBub24taGFzaCBsb29rdXAgZm9yIG11dGlwbGUgY2hhcmFjdGVyIGlkZW50aWZpZXJzLiAg
VGhpcyBzYXZlcyB1cyBmcm9tCisgICAgICAgIGFkZGluZyByZXBlYXRlZCBpZGVudGlmaWVycyB0
byB0aGUgUGFyc2VyQXJlbmEncyBpZGVudGlmaWVyIGxpc3QgYXMgcGVvcGxlCisgICAgICAgIHRl
bmQgdG8gbm90IHN0YXJ0IGFsbCB0aGVpciB2YXJpYWJsZXMgYW5kIHByb3BlcnRpZXMgd2l0aCB0
aGUgc2FtZSBjaGFyYWN0ZXIKKyAgICAgICAgYW5kIGhhcHBpbHkgaWRlbnRpZmllciBsb2NhbGl0
eSB3b3JrcyBpbiBvdXIgZmF2b3VyLgorCisgICAgICAgICogcGFyc2VyL1BhcnNlckFyZW5hLmg6
CisgICAgICAgIChKU0M6OklkZW50aWZpZXJBcmVuYTo6aXNFbXB0eSk6CisgICAgICAgIChKU0M6
OklkZW50aWZpZXJBcmVuYTo6Y2xlYXIpOgorICAgICAgICAoSlNDOjpJZGVudGlmaWVyQXJlbmE6
Om1ha2VJZGVudGlmaWVyKToKKwogMjAxMS0wNi0wNiAgSmFtZXMgU2ltb25zZW4gIDxzaW1vbmph
bUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSmFtZXMgUm9iaW5zb24uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmggYi9T
b3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlckFyZW5hLmgKaW5kZXggMTU2M2U0OThm
NDE2Y2VmMDBjM2NiOWZmZjNiNmE1MjQyNmJhMzc5NC4uMjJmZWFlYmExNTJjNjZhZDU2NDQ2NTVj
M2IxODEwN2Y5ZGMyMmFlOCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNl
ci9QYXJzZXJBcmVuYS5oCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
QXJlbmEuaApAQCAtNDUsMzEgKzQ1LDQ0IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBBTFdB
WVNfSU5MSU5FIGNvbnN0IElkZW50aWZpZXImIG1ha2VJZGVudGlmaWVyKEpTR2xvYmFsRGF0YSos
IGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCBzaXplX3QgbGVuZ3RoKTsKICAgICAgICAgY29uc3Qg
SWRlbnRpZmllciYgbWFrZU51bWVyaWNJZGVudGlmaWVyKEpTR2xvYmFsRGF0YSosIGRvdWJsZSBu
dW1iZXIpOwogCisgICAgICAgIGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRp
ZmllcnMuaXNFbXB0eSgpOyB9CisKKyAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyBjb25zdCBp
bnQgTWF4aW11bUNhY2hhYmxlQ2hhcmFjdGVyID0gMTI4OworICAgICAgICB0eXBlZGVmIFNlZ21l
bnRlZFZlY3RvcjxJZGVudGlmaWVyLCA2ND4gSWRlbnRpZmllclZlY3RvcjsKICAgICAgICAgdm9p
ZCBjbGVhcigpCiAgICAgICAgIHsKICAgICAgICAgICAgIG1faWRlbnRpZmllcnMuY2xlYXIoKTsK
LSAgICAgICAgICAgIGZvciAodW5zaWduZWQgIGkgPSAwOyBpIDwgMTI4OyBpKyspCisgICAgICAg
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IE1heGltdW1DYWNoYWJsZUNoYXJhY3RlcjsgaSsrKQog
ICAgICAgICAgICAgICAgIG1fc2hvcnRJZGVudGlmaWVyc1tpXSA9IDA7CisgICAgICAgICAgICBm
b3IgKGludCBpID0gMDsgaSA8IE1heGltdW1DYWNoYWJsZUNoYXJhY3RlcjsgaSsrKQorICAgICAg
ICAgICAgICAgIG1fcmVjZW50SWRlbnRpZmllcnNbaV0gPSAwOwogICAgICAgICB9Ci0gICAgICAg
IGJvb2wgaXNFbXB0eSgpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcnMuaXNFbXB0eSgpOyB9
CiAKICAgICBwcml2YXRlOgotICAgICAgICBzdGF0aWMgY29uc3QgaW50IE1heGltdW1DYWNoYWJs
ZUNoYXJhY3RlciA9IDEyODsKLSAgICAgICAgdHlwZWRlZiBTZWdtZW50ZWRWZWN0b3I8SWRlbnRp
ZmllciwgNjQ+IElkZW50aWZpZXJWZWN0b3I7CiAgICAgICAgIElkZW50aWZpZXJWZWN0b3IgbV9p
ZGVudGlmaWVyczsKICAgICAgICAgRml4ZWRBcnJheTxJZGVudGlmaWVyKiwgTWF4aW11bUNhY2hh
YmxlQ2hhcmFjdGVyPiBtX3Nob3J0SWRlbnRpZmllcnM7CisgICAgICAgIEZpeGVkQXJyYXk8SWRl
bnRpZmllciosIE1heGltdW1DYWNoYWJsZUNoYXJhY3Rlcj4gbV9yZWNlbnRJZGVudGlmaWVyczsK
ICAgICB9OwogCiAgICAgQUxXQVlTX0lOTElORSBjb25zdCBJZGVudGlmaWVyJiBJZGVudGlmaWVy
QXJlbmE6Om1ha2VJZGVudGlmaWVyKEpTR2xvYmFsRGF0YSogZ2xvYmFsRGF0YSwgY29uc3QgVUNo
YXIqIGNoYXJhY3RlcnMsIHNpemVfdCBsZW5ndGgpCiAgICAgewotICAgICAgICBpZiAobGVuZ3Ro
ID09IDEgJiYgY2hhcmFjdGVyc1swXSA8IE1heGltdW1DYWNoYWJsZUNoYXJhY3RlcikgeworICAg
ICAgICBpZiAoY2hhcmFjdGVyc1swXSA+PSBNYXhpbXVtQ2FjaGFibGVDaGFyYWN0ZXIpIHsKKyAg
ICAgICAgICAgIG1faWRlbnRpZmllcnMuYXBwZW5kKElkZW50aWZpZXIoZ2xvYmFsRGF0YSwgY2hh
cmFjdGVycywgbGVuZ3RoKSk7CisgICAgICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0
KCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKGxlbmd0aCA9PSAxKSB7CiAgICAgICAgICAgICBp
ZiAoSWRlbnRpZmllciogaWRlbnQgPSBtX3Nob3J0SWRlbnRpZmllcnNbY2hhcmFjdGVyc1swXV0p
CiAgICAgICAgICAgICAgICAgcmV0dXJuICppZGVudDsKICAgICAgICAgICAgIG1faWRlbnRpZmll
cnMuYXBwZW5kKElkZW50aWZpZXIoZ2xvYmFsRGF0YSwgY2hhcmFjdGVycywgbGVuZ3RoKSk7CiAg
ICAgICAgICAgICBtX3Nob3J0SWRlbnRpZmllcnNbY2hhcmFjdGVyc1swXV0gPSAmbV9pZGVudGlm
aWVycy5sYXN0KCk7CiAgICAgICAgICAgICByZXR1cm4gbV9pZGVudGlmaWVycy5sYXN0KCk7CiAg
ICAgICAgIH0KKyAgICAgICAgSWRlbnRpZmllciogaWRlbnQgPSBtX3JlY2VudElkZW50aWZpZXJz
W2NoYXJhY3RlcnNbMF1dOworICAgICAgICBpZiAoaWRlbnQgJiYgaWRlbnQtPmxlbmd0aCgpID09
IChpbnQpbGVuZ3RoICYmICghbWVtY21wKGNoYXJhY3RlcnMsIGlkZW50LT5jaGFyYWN0ZXJzKCks
IGxlbmd0aCAqIHNpemVvZihVQ2hhcikpKSkKKyAgICAgICAgICAgIHJldHVybiAqaWRlbnQ7CiAg
ICAgICAgIG1faWRlbnRpZmllcnMuYXBwZW5kKElkZW50aWZpZXIoZ2xvYmFsRGF0YSwgY2hhcmFj
dGVycywgbGVuZ3RoKSk7CisgICAgICAgIG1fcmVjZW50SWRlbnRpZmllcnNbY2hhcmFjdGVyc1sw
XV0gPSAmbV9pZGVudGlmaWVycy5sYXN0KCk7CiAgICAgICAgIHJldHVybiBtX2lkZW50aWZpZXJz
Lmxhc3QoKTsKICAgICB9CiAK
</data>
<flag name="review"
          id="90181"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>