<?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>33705</bug_id>
          
          <creation_ts>2010-01-14 23:35:55 -0800</creation_ts>
          <short_desc>UStringImpl::create() should use internal storage</short_desc>
          <delta_ts>2010-01-14 23:48:19 -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>PC</rep_platform>
          <op_sys>OS X 10.5</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="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>181110</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-01-14 23:35:55 -0800</bug_when>
    <thetext>When creating a UStringImpl copying of a UChar*, we can use an internal buffer, by calling UStringImpl::tryCreateUninitialized().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181111</commentid>
    <comment_count>1</comment_count>
      <attachid>46644</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-01-14 23:37:40 -0800</bug_when>
    <thetext>Created attachment 46644
The patch

~0.5% progression on SunSpider</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181112</commentid>
    <comment_count>2</comment_count>
      <attachid>46644</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2010-01-14 23:40:41 -0800</bug_when>
    <thetext>Comment on attachment 46644
The patch

r=me, you should remove &quot;Need a short description and bug URL (OOPS!)&quot; from the changelog however :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>181115</commentid>
    <comment_count>3</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2010-01-14 23:48:19 -0800</bug_when>
    <thetext>Committed revision 53323.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>46644</attachid>
            <date>2010-01-14 23:37:40 -0800</date>
            <delta_ts>2010-01-14 23:40:41 -0800</delta_ts>
            <desc>The patch</desc>
            <filename>patch.useuninit.txt</filename>
            <type>text/plain</type>
            <size>3865</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDUzMzIyKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMTAtMDEtMTQgIEdhdmluIEJh
cnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zMzcwNQorICAgICAgICBVU3RyaW5nSW1wbDo6Y3JlYXRlKCkgc2hvdWxkIHVz
ZSBpbnRlcm5hbCBzdG9yYWdlCisKKyAgICAgICAgV2hlbiBjcmVhdGluZyBhIFVTdHJpbmdJbXBs
IGNvcHlpbmcgb2YgYSBVQ2hhciosIHdlIGNhbiB1c2UgYW4gaW50ZXJuYWwgYnVmZmVyLAorICAg
ICAgICBieSBjYWxsaW5nIFVTdHJpbmdJbXBsOjp0cnlDcmVhdGVVbmluaXRpYWxpemVkKCkuCisK
KyAgICAgICAgQWxzbywgcmVtb3ZlIGR1cGxpY2F0ZSBvZiBjb3B5Q2hhcnMgZnJvbSBKU1N0cmlu
ZywgY2FsbCBVU3RyaW5nSW1wbCdzIHZlcnNpb24uCisKKyAgICAgICAgTmVlZCBhIHNob3J0IGRl
c2NyaXB0aW9uIGFuZCBidWcgVVJMIChPT1BTISkKKworICAgICAgICAqIHJ1bnRpbWUvSlNTdHJp
bmcuY3BwOgorICAgICAgICAoSlNDOjpKU1N0cmluZzo6cmVzb2x2ZVJvcGUpOgorICAgICAgICAq
IHJ1bnRpbWUvVVN0cmluZ0ltcGwuaDoKKyAgICAgICAgKEpTQzo6VVN0cmluZ0ltcGw6OmNyZWF0
ZSk6CisKIDIwMTAtMDEtMTQgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFNhbSBXZWluaWcuCkluZGV4OiBKYXZhU2NyaXB0
Q29yZS9ydW50aW1lL0pTU3RyaW5nLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTU3RyaW5nLmNwcAkocmV2aXNpb24gNTMzMjApCisrKyBKYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0pTU3RyaW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjYsMjAgKzY2LDYgQEAgSlNT
dHJpbmc6OlJvcGU6On5Sb3BlKCkKICAgICBkZXN0cnVjdE5vblJlY3Vyc2l2ZSgpOwogfQogCi0j
ZGVmaW5lIFJPUEVfQ09QWV9DSEFSU19JTkxJTkVfQ1VUT0ZGIDIwCi0KLXN0YXRpYyBpbmxpbmUg
dm9pZCBjb3B5Q2hhcnMoVUNoYXIqIGRlc3RpbmF0aW9uLCBjb25zdCBVQ2hhciogc291cmNlLCB1
bnNpZ25lZCBudW1DaGFyYWN0ZXJzKQotewotI2lmZGVmIFJPUEVfQ09QWV9DSEFSU19JTkxJTkVf
Q1VUT0ZGCi0gICAgaWYgKG51bUNoYXJhY3RlcnMgPD0gUk9QRV9DT1BZX0NIQVJTX0lOTElORV9D
VVRPRkYpIHsKLSAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG51bUNoYXJhY3RlcnM7
ICsraSkKLSAgICAgICAgICAgIGRlc3RpbmF0aW9uW2ldID0gc291cmNlW2ldOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotI2VuZGlmCi0gICAgbWVtY3B5KGRlc3RpbmF0aW9uLCBzb3VyY2UsIG51
bUNoYXJhY3RlcnMgKiBzaXplb2YoVUNoYXIpKTsKLX0KLQogLy8gT3ZlcnZpZXc6IHRoaXMgbWV0
aG9kcyBjb252ZXJ0cyBhIEpTU3RyaW5nIGZyb20gaG9sZGluZyBhIHN0cmluZyBpbiByb3BlIGZv
cm0KIC8vIGRvd24gdG8gYSBzaW1wbGUgVVN0cmluZyByZXByZXNlbnRhdGlvbi4gIEl0IGRvZXMg
c28gYnkgYnVpbGRpbmcgdXAgdGhlIHN0cmluZwogLy8gYmFja3dhcmRzLCBzaW5jZSB3ZSB3YW50
IHRvIGF2b2lkIHJlY3Vyc2lvbiwgd2UgZXhwZWN0IHRoYXQgdGhlIHRyZWUgc3RydWN0dXJlCkBA
IC0xMjgsNyArMTE0LDcgQEAgdm9pZCBKU1N0cmluZzo6cmVzb2x2ZVJvcGUoRXhlY1N0YXRlKiBl
eAogICAgICAgICAgICAgVVN0cmluZzo6UmVwKiBzdHJpbmcgPSBjdXJyZW50RmliZXIuc3RyaW5n
KCk7CiAgICAgICAgICAgICB1bnNpZ25lZCBsZW5ndGggPSBzdHJpbmctPnNpemUoKTsKICAgICAg
ICAgICAgIHBvc2l0aW9uIC09IGxlbmd0aDsKLSAgICAgICAgICAgIGNvcHlDaGFycyhwb3NpdGlv
biwgc3RyaW5nLT5kYXRhKCksIGxlbmd0aCk7CisgICAgICAgICAgICBVU3RyaW5nSW1wbDo6Y29w
eUNoYXJzKHBvc2l0aW9uLCBzdHJpbmctPmRhdGEoKSwgbGVuZ3RoKTsKIAogICAgICAgICAgICAg
Ly8gV2FzIHRoaXMgdGhlIGxhc3QgaXRlbSBpbiB0aGUgd29yayBxdWV1ZT8KICAgICAgICAgICAg
IGlmICh3b3JrUXVldWUuaXNFbXB0eSgpKSB7CkluZGV4OiBKYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1VTdHJpbmdJbXBsLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvcnVudGltZS9VU3Ry
aW5nSW1wbC5oCShyZXZpc2lvbiA1MzMyMCkKKysrIEphdmFTY3JpcHRDb3JlL3J1bnRpbWUvVVN0
cmluZ0ltcGwuaAkod29ya2luZyBjb3B5KQpAQCAtOTUsMTAgKzk1LDExIEBAIHB1YmxpYzoKICAg
ICBzdGF0aWMgUGFzc1JlZlB0cjxVU3RyaW5nSW1wbD4gY3JlYXRlKGNvbnN0IFVDaGFyKiBidWZm
ZXIsIGludCBsZW5ndGgpCiAgICAgewogICAgICAgICBVQ2hhciogbmV3QnVmZmVyOwotICAgICAg
ICBpZiAoIVVTdHJpbmdJbXBsOjphbGxvY0NoYXJzKGxlbmd0aCkuZ2V0VmFsdWUobmV3QnVmZmVy
KSkKLSAgICAgICAgICAgIHJldHVybiAmbnVsbCgpOwotICAgICAgICBjb3B5Q2hhcnMobmV3QnVm
ZmVyLCBidWZmZXIsIGxlbmd0aCk7Ci0gICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgVVN0cmlu
Z0ltcGwobmV3QnVmZmVyLCBsZW5ndGgsIEJ1ZmZlck93bmVkKSk7CisgICAgICAgIGlmIChQYXNz
UmVmUHRyPFVTdHJpbmdJbXBsPiBpbXBsID0gdHJ5Q3JlYXRlVW5pbml0aWFsaXplZChsZW5ndGgs
IG5ld0J1ZmZlcikpIHsKKyAgICAgICAgICAgIGNvcHlDaGFycyhuZXdCdWZmZXIsIGJ1ZmZlciwg
bGVuZ3RoKTsKKyAgICAgICAgICAgIHJldHVybiBpbXBsOworICAgICAgICB9CisgICAgICAgIHJl
dHVybiAmbnVsbCgpOwogICAgIH0KIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFVTdHJpbmdJbXBs
PiBjcmVhdGUoUGFzc1JlZlB0cjxVU3RyaW5nSW1wbD4gcmVwLCBpbnQgb2Zmc2V0LCBpbnQgbGVu
Z3RoKQpAQCAtMTY2LDE0ICsxNjcsNiBAQCBwdWJsaWM6CiAgICAgVVN0cmluZ0ltcGwqIHJlZigp
IHsgbV9yZWZDb3VudCArPSBzX3JlZkNvdW50SW5jcmVtZW50OyByZXR1cm4gdGhpczsgfQogICAg
IEFMV0FZU19JTkxJTkUgdm9pZCBkZXJlZigpIHsgaWYgKCEobV9yZWZDb3VudCAtPSBzX3JlZkNv
dW50SW5jcmVtZW50KSkgZGVsZXRlIHRoaXM7IH0KIAotICAgIHN0YXRpYyBXVEY6OlBvc3NpYmx5
TnVsbDxVQ2hhcio+IGFsbG9jQ2hhcnMoc2l6ZV90IGxlbmd0aCkKLSAgICB7Ci0gICAgICAgIEFT
U0VSVChsZW5ndGgpOwotICAgICAgICBpZiAobGVuZ3RoID4gc3RkOjpudW1lcmljX2xpbWl0czxz
aXplX3Q+OjptYXgoKSAvIHNpemVvZihVQ2hhcikpCi0gICAgICAgICAgICByZXR1cm4gMDsKLSAg
ICAgICAgcmV0dXJuIHRyeUZhc3RNYWxsb2Moc2l6ZW9mKFVDaGFyKSAqIGxlbmd0aCk7Ci0gICAg
fQotCiAgICAgc3RhdGljIHZvaWQgY29weUNoYXJzKFVDaGFyKiBkZXN0aW5hdGlvbiwgY29uc3Qg
VUNoYXIqIHNvdXJjZSwgdW5zaWduZWQgbnVtQ2hhcmFjdGVycykKICAgICB7CiAgICAgICAgIGlm
IChudW1DaGFyYWN0ZXJzIDw9IHNfY29weUNoYXJzSW5saW5lQ3V0T2ZmKSB7Cg==
</data>
<flag name="review"
          id="28946"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>