<?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>131940</bug_id>
          
          <creation_ts>2014-04-21 11:45:59 -0700</creation_ts>
          <short_desc>Move the JSString cache from DOMWrapperWorld to VM.</short_desc>
          <delta_ts>2014-04-21 12:18:36 -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>Bindings</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="Andreas Kling">kling</reporter>
          <assigned_to name="Andreas Kling">kling</assigned_to>
          <cc>ggaren</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1002584</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-21 11:45:59 -0700</bug_when>
    <thetext>There&apos;s no need for the string cache to sit on the DOMWrapperWorld. The indirection to get there is pretty expensive, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002589</commentid>
    <comment_count>1</comment_count>
      <attachid>229816</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-21 11:52:41 -0700</bug_when>
    <thetext>Created attachment 229816
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002605</commentid>
    <comment_count>2</comment_count>
      <attachid>229816</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-04-21 12:12:25 -0700</bug_when>
    <thetext>Comment on attachment 229816
Patch

r=me

Should probably move jsStringWithCache into JSC now -- maybe JSString.h? -- since the library that supplies the data structure might as well supply the function to access it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002610</commentid>
    <comment_count>3</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-21 12:17:50 -0700</bug_when>
    <thetext>Committed r167605: &lt;http://trac.webkit.org/changeset/167605&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1002611</commentid>
    <comment_count>4</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-04-21 12:18:36 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 229816 [details])
&gt; r=me
&gt; 
&gt; Should probably move jsStringWithCache into JSC now -- maybe JSString.h? -- since the library that supplies the data structure might as well supply the function to access it.

Oh yeah, okay.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>229816</attachid>
            <date>2014-04-21 11:52:41 -0700</date>
            <delta_ts>2014-04-21 12:12:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-131940.diff</filename>
            <type>text/plain</type>
            <size>5071</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDNmNjUxZGIuLjIyM2Y3ZjggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE0LTA0LTIxICBBbmRyZWFzIEtsaW5n
ICA8YWtsaW5nQGFwcGxlLmNvbT4KKworICAgICAgICBNb3ZlIHRoZSBKU1N0cmluZyBjYWNoZSBm
cm9tIERPTVdyYXBwZXJXb3JsZCB0byBWTS4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9i
LzEzMTk0MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHJ1bnRpbWUvVk0uaDoKKwogMjAxNC0wNC0yMSAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2Zm
QGFwcGxlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxNjc1OTEpOiBBUk02NCBhbmQgQVJN
IHRyYWRpdGlvbmFsIGJ1aWxkcyBicm9rZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9ydW50aW1lL1ZNLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCmlu
ZGV4IGFiMDk2OGQuLmQ0NjkzMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1ZNLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaApAQCAt
Mjk1LDYgKzI5NSw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBOdW1lcmljU3RyaW5ncyBu
dW1lcmljU3RyaW5nczsKICAgICAgICAgRGF0ZUluc3RhbmNlQ2FjaGUgZGF0ZUluc3RhbmNlQ2Fj
aGU7CiAgICAgICAgIFdURjo6U2ltcGxlU3RhdHMgbWFjaGluZUNvZGVCeXRlc1BlckJ5dGVjb2Rl
V29yZEZvckJhc2VsaW5lSklUOworICAgICAgICBXZWFrR0NNYXA8U3RyaW5nSW1wbCosIEpTU3Ry
aW5nLCBQdHJIYXNoPFN0cmluZ0ltcGwqPj4gc3RyaW5nQ2FjaGU7CiAKICAgICAgICAgQXRvbWlj
U3RyaW5nVGFibGUqIGF0b21pY1N0cmluZ1RhYmxlKCkgY29uc3QgeyByZXR1cm4gbV9hdG9taWNT
dHJpbmdUYWJsZTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmEwOGM4MS4uNjdhNDNmMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDIxIEBACisyMDE0LTA0LTIxICBBbmRyZWFzIEtsaW5nICA8YWtsaW5nQGFw
cGxlLmNvbT4KKworICAgICAgICBNb3ZlIHRoZSBKU1N0cmluZyBjYWNoZSBmcm9tIERPTVdyYXBw
ZXJXb3JsZCB0byBWTS4KKyAgICAgICAgPGh0dHBzOi8vd2Via2l0Lm9yZy9iLzEzMTk0MD4KKwor
ICAgICAgICBTaW5jZSB0aGVyZSdzIG5vIG5lZWQgZm9yIEpTU3RyaW5ncyB0byBiZSB3b3JsZC1z
cGVjaWZpYywgdGhpcyBwYXRjaAorICAgICAgICBtb3ZlcyB0aGUgc3RyaW5nIGNhY2hlIHRvIEpT
Qzo6Vk0uIFRoaXMgbWFrZXMganNTdHJpbmdXaXRoQ2FjaGUoKQorICAgICAgICBhIGxvdCBmYXN0
ZXIgc2luY2UgaXQgbm8gbG9uZ2VyIGhhcyB0byBqdW1wIHRocm91Z2ggdHdlbnR5LWVsZXZlbgor
ICAgICAgICBob29wcyB0byBmaW5kIHRoZSBET01XcmFwcGVyV29ybGQuCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9ET01XcmFw
cGVyV29ybGQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RE9NV3JhcHBlcldvcmxkOjpjbGVhcldy
YXBwZXJzKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuaDoKKyAgICAg
ICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6anNT
dHJpbmdXaXRoQ2FjaGUpOgorCiAyMDE0LTA0LTIxICBEYXJpbiBBZGxlciAgPGRhcmluQGFwcGxl
LmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMTYwOTA4KTogU2FmYXJpIGRvZXNuJ3QgZHJh
dyByb3RhdGVkIGltYWdlcyBwcm9wZXJseSBmaXJzdCB0aW1lCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvRE9NV3JhcHBlcldvcmxkLmNwcAppbmRleCA0ODBjMThhLi4zZGQyNWUxIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0RPTVdyYXBwZXJXb3JsZC5jcHAKQEAg
LTUzLDcgKzUzLDYgQEAgRE9NV3JhcHBlcldvcmxkOjp+RE9NV3JhcHBlcldvcmxkKCkKIHZvaWQg
RE9NV3JhcHBlcldvcmxkOjpjbGVhcldyYXBwZXJzKCkKIHsKICAgICBtX3dyYXBwZXJzLmNsZWFy
KCk7Ci0gICAgbV9zdHJpbmdDYWNoZS5jbGVhcigpOwogCiAgICAgLy8gVGhlc2UgaXRlbXMgYXJl
IGNyZWF0ZWQgbGF6aWx5LgogICAgIHdoaWxlICghbV9zY3JpcHRDb250cm9sbGVyc1dpdGhXaW5k
b3dTaGVsbHMuaXNFbXB0eSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvRE9NV3JhcHBlcldvcmxkLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01XcmFw
cGVyV29ybGQuaAppbmRleCA2MGNmODc0Li41NTcwNzI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9ET01XcmFwcGVyV29ybGQuaApAQCAtMjMsNyArMjMsNiBAQAogI2RlZmluZSBE
T01XcmFwcGVyV29ybGRfaAogCiAjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKLSNpbmNs
dWRlIDxydW50aW1lL1dlYWtHQ01hcC5oPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTMzLDcgKzMyLDYgQEAgY2xhc3MgSlNET01XcmFwcGVyOwog
Y2xhc3MgU2NyaXB0Q29udHJvbGxlcjsKIAogdHlwZWRlZiBIYXNoTWFwPHZvaWQqLCBKU0M6Oldl
YWs8SlNDOjpKU09iamVjdD4+IERPTU9iamVjdFdyYXBwZXJNYXA7Ci10eXBlZGVmIEpTQzo6V2Vh
a0dDTWFwPFN0cmluZ0ltcGwqLCBKU0M6OkpTU3RyaW5nLCBQdHJIYXNoPFN0cmluZ0ltcGwqPj4g
SlNTdHJpbmdDYWNoZTsKIAogY2xhc3MgRE9NV3JhcHBlcldvcmxkIDogcHVibGljIFJlZkNvdW50
ZWQ8RE9NV3JhcHBlcldvcmxkPiB7CiBwdWJsaWM6CkBAIC01MSw3ICs0OSw2IEBAIHB1YmxpYzoK
IAogICAgIC8vIEZJWE1FOiBjYW4gd2UgbWFrZSB0aGlzIHByaXZhdGU/CiAgICAgRE9NT2JqZWN0
V3JhcHBlck1hcCBtX3dyYXBwZXJzOwotICAgIEpTU3RyaW5nQ2FjaGUgbV9zdHJpbmdDYWNoZTsK
ICAgICBIYXNoTWFwPENTU1ZhbHVlKiwgdm9pZCo+IG1fY3NzVmFsdWVSb290czsKIAogICAgIGJv
b2wgaXNOb3JtYWwoKSBjb25zdCB7IHJldHVybiBtX2lzTm9ybWFsOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcAppbmRleCAwZDkzMDVlLi5hZGUyODI2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQmluZGluZy5jcHAKQEAgLTY1LDIy
ICs2NSwyMCBAQCBjb25zdCBKU0M6Okhhc2hUYWJsZSYgZ2V0SGFzaFRhYmxlRm9yR2xvYmFsRGF0
YShWTSYgdm0sIGNvbnN0IEpTQzo6SGFzaFRhYmxlJiBzdAogCiBKU0M6OkpTVmFsdWUganNTdHJp
bmdXaXRoQ2FjaGUoSlNDOjpFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IFN0cmluZyYgcykKIHsKKyAg
ICBKU0M6OlZNJiB2bSA9IGV4ZWMtPnZtKCk7CiAgICAgU3RyaW5nSW1wbCogc3RyaW5nSW1wbCA9
IHMuaW1wbCgpOwogICAgIGlmICghc3RyaW5nSW1wbCB8fCAhc3RyaW5nSW1wbC0+bGVuZ3RoKCkp
Ci0gICAgICAgIHJldHVybiBqc0VtcHR5U3RyaW5nKGV4ZWMpOworICAgICAgICByZXR1cm4ganNF
bXB0eVN0cmluZygmdm0pOwogCiAgICAgaWYgKHN0cmluZ0ltcGwtPmxlbmd0aCgpID09IDEpIHsK
ICAgICAgICAgVUNoYXIgc2luZ2xlQ2hhcmFjdGVyID0gKCpzdHJpbmdJbXBsKVswdV07Ci0gICAg
ICAgIGlmIChzaW5nbGVDaGFyYWN0ZXIgPD0gSlNDOjptYXhTaW5nbGVDaGFyYWN0ZXJTdHJpbmcp
IHsKLSAgICAgICAgICAgIEpTQzo6Vk0qIHZtID0gJmV4ZWMtPnZtKCk7Ci0gICAgICAgICAgICBy
ZXR1cm4gdm0tPnNtYWxsU3RyaW5ncy5zaW5nbGVDaGFyYWN0ZXJTdHJpbmcoc3RhdGljX2Nhc3Q8
dW5zaWduZWQgY2hhcj4oc2luZ2xlQ2hhcmFjdGVyKSk7Ci0gICAgICAgIH0KKyAgICAgICAgaWYg
KHNpbmdsZUNoYXJhY3RlciA8PSBKU0M6Om1heFNpbmdsZUNoYXJhY3RlclN0cmluZykKKyAgICAg
ICAgICAgIHJldHVybiB2bS5zbWFsbFN0cmluZ3Muc2luZ2xlQ2hhcmFjdGVyU3RyaW5nKHN0YXRp
Y19jYXN0PHVuc2lnbmVkIGNoYXI+KHNpbmdsZUNoYXJhY3RlcikpOwogICAgIH0KIAotICAgIEpT
U3RyaW5nQ2FjaGUmIHN0cmluZ0NhY2hlID0gY3VycmVudFdvcmxkKGV4ZWMpLm1fc3RyaW5nQ2Fj
aGU7Ci0gICAgSlNTdHJpbmdDYWNoZTo6QWRkUmVzdWx0IGFkZFJlc3VsdCA9IHN0cmluZ0NhY2hl
LmFkZChzdHJpbmdJbXBsLCBudWxscHRyKTsKKyAgICBhdXRvIGFkZFJlc3VsdCA9IHZtLnN0cmlu
Z0NhY2hlLmFkZChzdHJpbmdJbXBsLCBudWxscHRyKTsKICAgICBpZiAoYWRkUmVzdWx0LmlzTmV3
RW50cnkpCi0gICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUgPSBKU0M6OmpzU3RyaW5n
KGV4ZWMsIFN0cmluZyhzdHJpbmdJbXBsKSk7CisgICAgICAgIGFkZFJlc3VsdC5pdGVyYXRvci0+
dmFsdWUgPSBKU0M6OmpzU3RyaW5nKCZ2bSwgU3RyaW5nKHN0cmluZ0ltcGwpKTsKICAgICByZXR1
cm4gSlNDOjpKU1ZhbHVlKGFkZFJlc3VsdC5pdGVyYXRvci0+dmFsdWUuZ2V0KCkpOwogfQogCg==
</data>
<flag name="review"
          id="254178"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>