<?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>109123</bug_id>
          
          <creation_ts>2013-02-06 18:15:05 -0800</creation_ts>
          <short_desc>[V8] StringCache::m_stringCache should be HashMap&lt;StringImpl*, Persistent&lt;String&gt;&gt;</short_desc>
          <delta_ts>2013-02-07 10:58:49 -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>WebCore JavaScript</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="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>japhet</cc>
    
    <cc>jsbell</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>826958</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-06 18:15:05 -0800</bug_when>
    <thetext>Currently StringCache::m_stringCache is implemented as HashMap&lt;StringImpl*, v8::String*&gt;. Given that v8::String* can change when a GC is triggered, this is dangerous. We should use HashMap&lt;StringImpl*, v8::Persistent&lt;v8::String&gt;&gt; instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826961</commentid>
    <comment_count>1</comment_count>
      <attachid>186971</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-02-06 18:20:28 -0800</bug_when>
    <thetext>Created attachment 186971
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827702</commentid>
    <comment_count>2</comment_count>
      <attachid>186971</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-07 10:58:46 -0800</bug_when>
    <thetext>Comment on attachment 186971
Patch

Clearing flags on attachment: 186971

Committed r142154: &lt;http://trac.webkit.org/changeset/142154&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>827703</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-07 10:58:49 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186971</attachid>
            <date>2013-02-06 18:20:28 -0800</date>
            <delta_ts>2013-02-07 10:58:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-109123-20130207111705.patch</filename>
            <type>text/plain</type>
            <size>3901</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQyMDU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWRjNWVlZGU0ODE0NzM4
NzIyMzM5MDliZjNkODRkOTQ4NzE3ZWVjMC4uMTljNWM4NDU2NWNkOTk3YzhiZmZkMjU4Mjk2YjIw
NzY2MmQ2YTg1YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEzLTAyLTA2ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBbVjhdIFN0cmluZ0Nh
Y2hlOjptX3N0cmluZ0NhY2hlIHNob3VsZCBiZSBIYXNoTWFwPFN0cmluZ0ltcGwqLCBQZXJzaXN0
ZW50PFN0cmluZz4+CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDkxMjMKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBDdXJyZW50bHkgU3RyaW5nQ2FjaGU6Om1fc3RyaW5nQ2FjaGUgaXMgaW1wbGVtZW50ZWQg
YXMKKyAgICAgICAgSGFzaE1hcDxTdHJpbmdJbXBsKiwgdjg6OlN0cmluZyo+LiBHaXZlbiB0aGF0
IHY4OjpTdHJpbmcqCisgICAgICAgIGNhbiBjaGFuZ2Ugd2hlbiBhIEdDIGlzIHRyaWdnZXJlZCwg
aXQgaXMgZGFuZ2Vyb3VzIHRvIHN0b3JlIGEgcmF3IHBvaW50ZXIuCisgICAgICAgIFdlIHNob3Vs
ZCB1c2UgSGFzaE1hcDxTdHJpbmdJbXBsKiwgdjg6OlBlcnNpc3RlbnQ8djg6OlN0cmluZz4+IGlu
c3RlYWQuCisKKyAgICAgICAgVGhpcyBpcyBhIHBvc3NpYmxlIGZpeCBmb3IgYW4gSW5kZXhlZERC
IGNyYXNoIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA1MzYzKSwK
KyAgICAgICAgYWx0aG91Z2ggSSdtIG5vdCBzdXJlIGlmIHRoaXMgcGF0Y2ggZml4ZXMgdGhlIGNy
YXNoLiAoSSBjb3VsZG4ndCByZXByb2R1Y2UgdGhlIGNyYXNoLikKKworICAgICAgICBObyB0ZXN0
cy4gVGhpcyBjaGFuZ2UgaGlnaGx5IGRlcGVuZHMgb24gR0MgYmVoYXZpb3IgYW5kIHRodXMgaXQg
aXMKKyAgICAgICAgZGlmZmljdWx0IHRvIG1ha2UgYSByZWxpYWJsZSB0ZXN0IGNhc2UuCisKKyAg
ICAgICAgKiBiaW5kaW5ncy92OC9WOFZhbHVlQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
bWFrZUV4dGVybmFsU3RyaW5nKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9WOFZhbHVlQ2FjaGUu
aDoKKyAgICAgICAgKFN0cmluZ0NhY2hlKToKKwogMjAxMy0wMi0wNiAgVGVycnkgQW5kZXJzb24g
IDx0ZGFuZGVyc29uQGNocm9taXVtLm9yZz4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgZ2Vz
dHVyZSBzY3JvbGwgZXZlbnRzIHRoYXQgZG8gbm90IHByb3BhZ2F0ZSB0byBlbmNsb3Npbmcgc2Ny
b2xsYWJsZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4VmFsdWVD
YWNoZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFZhbHVlQ2FjaGUuY3BwCmlu
ZGV4IDdjNGVlM2I0NzY5MTk1NTU2MmVmNWMyYjhmZDJhOWUwZGZkYjQxNjQuLmFkOTY2ZmFhM2Nk
N2RhN2FmNzdhNTNiYWZjMjVlY2E0MDZiMDVkZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4VmFsdWVDYWNoZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvVjhWYWx1ZUNhY2hlLmNwcApAQCAtODUsMTYgKzg1LDEzIEBAIHY4OjpIYW5kbGU8djg6
OlN0cmluZz4gU3RyaW5nQ2FjaGU6OnY4RXh0ZXJuYWxTdHJpbmdTbG93KFN0cmluZ0ltcGwqIHN0
cmluZ0ltcGwsCiAgICAgaWYgKCFzdHJpbmdJbXBsLT5sZW5ndGgoKSkKICAgICAgICAgcmV0dXJu
IHY4OjpTdHJpbmc6OkVtcHR5KGlzb2xhdGUpOwogCi0gICAgdjg6OlN0cmluZyogY2FjaGVkVjhT
dHJpbmcgPSBtX3N0cmluZ0NhY2hlLmdldChzdHJpbmdJbXBsKTsKLSAgICBpZiAoY2FjaGVkVjhT
dHJpbmcpIHsKLSAgICAgICAgdjg6OlBlcnNpc3RlbnQ8djg6OlN0cmluZz4gaGFuZGxlKGNhY2hl
ZFY4U3RyaW5nKTsKLSAgICAgICAgaWYgKGhhbmRsZS5Jc1dlYWsoKSkgewotICAgICAgICAgICAg
bV9sYXN0U3RyaW5nSW1wbCA9IHN0cmluZ0ltcGw7Ci0gICAgICAgICAgICBtX2xhc3RWOFN0cmlu
ZyA9IGhhbmRsZTsKLSAgICAgICAgICAgIGlmIChoYW5kbGVUeXBlID09IFJldHVyblVuc2FmZUhh
bmRsZSkKLSAgICAgICAgICAgICAgICByZXR1cm4gaGFuZGxlOwotICAgICAgICAgICAgcmV0dXJu
IHY4OjpMb2NhbDx2ODo6U3RyaW5nPjo6TmV3KGhhbmRsZSk7Ci0gICAgICAgIH0KKyAgICB2ODo6
UGVyc2lzdGVudDx2ODo6U3RyaW5nPiBjYWNoZWRWOFN0cmluZyA9IG1fc3RyaW5nQ2FjaGUuZ2V0
KHN0cmluZ0ltcGwpOworICAgIGlmIChjYWNoZWRWOFN0cmluZy5Jc1dlYWsoKSkgeworICAgICAg
ICBtX2xhc3RTdHJpbmdJbXBsID0gc3RyaW5nSW1wbDsKKyAgICAgICAgbV9sYXN0VjhTdHJpbmcg
PSBjYWNoZWRWOFN0cmluZzsKKyAgICAgICAgaWYgKGhhbmRsZVR5cGUgPT0gUmV0dXJuVW5zYWZl
SGFuZGxlKQorICAgICAgICAgICAgcmV0dXJuIGNhY2hlZFY4U3RyaW5nOworICAgICAgICByZXR1
cm4gdjg6OkxvY2FsPHY4OjpTdHJpbmc+OjpOZXcoY2FjaGVkVjhTdHJpbmcpOwogICAgIH0KIAog
ICAgIHY4OjpMb2NhbDx2ODo6U3RyaW5nPiBuZXdTdHJpbmcgPSBtYWtlRXh0ZXJuYWxTdHJpbmco
U3RyaW5nKHN0cmluZ0ltcGwpKTsKQEAgLTEwOCw3ICsxMDUsNyBAQCB2ODo6SGFuZGxlPHY4OjpT
dHJpbmc+IFN0cmluZ0NhY2hlOjp2OEV4dGVybmFsU3RyaW5nU2xvdyhTdHJpbmdJbXBsKiBzdHJp
bmdJbXBsLAogICAgIHN0cmluZ0ltcGwtPnJlZigpOwogICAgIHdyYXBwZXIuTWFya0luZGVwZW5k
ZW50KCk7CiAgICAgd3JhcHBlci5NYWtlV2Vhayhpc29sYXRlLCBzdHJpbmdJbXBsLCBjYWNoZWRT
dHJpbmdDYWxsYmFjayk7Ci0gICAgbV9zdHJpbmdDYWNoZS5zZXQoc3RyaW5nSW1wbCwgKndyYXBw
ZXIpOworICAgIG1fc3RyaW5nQ2FjaGUuc2V0KHN0cmluZ0ltcGwsIHdyYXBwZXIpOwogCiAgICAg
bV9sYXN0U3RyaW5nSW1wbCA9IHN0cmluZ0ltcGw7CiAgICAgbV9sYXN0VjhTdHJpbmcgPSB3cmFw
cGVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhWYWx1ZUNhY2hl
LmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFZhbHVlQ2FjaGUuaAppbmRleCA3YTUy
YWNkOWVkZjM4MTA3ZDM4ZTY3OGEzZTNjYzMyYTg5YmQ5OWI1Li43NTZhMjM5YTExMjdiZTU5MTc0
ZWRjZjliOTIwOTFlNmFlZTFmM2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9WOFZhbHVlQ2FjaGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9WOFZh
bHVlQ2FjaGUuaApAQCAtNzEsNyArNzEsNyBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIHY4OjpI
YW5kbGU8djg6OlN0cmluZz4gdjhFeHRlcm5hbFN0cmluZ1Nsb3coU3RyaW5nSW1wbCosIFJldHVy
bkhhbmRsZVR5cGUsIHY4OjpJc29sYXRlKik7CiAKLSAgICBIYXNoTWFwPFN0cmluZ0ltcGwqLCB2
ODo6U3RyaW5nKj4gbV9zdHJpbmdDYWNoZTsKKyAgICBIYXNoTWFwPFN0cmluZ0ltcGwqLCB2ODo6
UGVyc2lzdGVudDx2ODo6U3RyaW5nPiA+IG1fc3RyaW5nQ2FjaGU7CiAgICAgdjg6OlBlcnNpc3Rl
bnQ8djg6OlN0cmluZz4gbV9sYXN0VjhTdHJpbmc7CiAgICAgLy8gTm90ZTogUmVmUHRyIGlzIGEg
bXVzdCBhcyB3ZSBjYWNoZSBieSBTdHJpbmdJbXBsKiBlcXVhbGl0eSwgbm90IGlkZW50aXR5CiAg
ICAgLy8gaGVuY2UgbGFzdFN0cmluZ0ltcGwgbWlnaHQgYmUgbm90IGEga2V5IG9mIHRoZSBjYWNo
ZSAoaW4gc2Vuc2Ugb2YgaWRlbnRpdHkpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>