<?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>113651</bug_id>
          
          <creation_ts>2013-03-30 20:46:18 -0700</creation_ts>
          <short_desc>Use Vector::reserveInitialCapacity and Vector::uncheckedAppend for JSC&apos;s APIs</short_desc>
          <delta_ts>2013-04-01 12:38:15 -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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>866737</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-03-30 20:46:18 -0700</bug_when>
    <thetext>Use Vector::reserveInitialCapacity and Vector::uncheckedAppend for JSC&apos;s APIs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866738</commentid>
    <comment_count>1</comment_count>
      <attachid>195885</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-03-30 20:48:45 -0700</bug_when>
    <thetext>Created attachment 195885
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>866765</commentid>
    <comment_count>2</comment_count>
      <attachid>195885</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2013-03-31 03:33:07 -0700</bug_when>
    <thetext>Comment on attachment 195885
Patch

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

Sure, r=me.

&gt; Source/JavaScriptCore/API/JSCallbackConstructor.cpp:79
&gt; +        for (size_t i = 0; i &lt; argumentCount; i++)

If I was driving by in this neighborhood, I&apos;d change the i++ to ++i because reasons.

&gt; Source/JavaScriptCore/API/JSCallbackFunction.cpp:75
&gt; +    for (size_t i = 0; i &lt; argumentCount; i++)

And here.

&gt; Source/JavaScriptCore/API/JSCallbackObjectFunctions.h:374
&gt; +            for (size_t i = 0; i &lt; argumentCount; i++)

Probably also here.

&gt; Source/JavaScriptCore/API/JSCallbackObjectFunctions.h:441
&gt; +            for (size_t i = 0; i &lt; argumentCount; i++)

Not sure about here. Well, yeah okay here too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>867286</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-04-01 12:38:15 -0700</bug_when>
    <thetext>Committed r147349: &lt;http://trac.webkit.org/changeset/147349&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>195885</attachid>
            <date>2013-03-30 20:48:45 -0700</date>
            <delta_ts>2013-03-31 03:33:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-113651-20130330204839.patch</filename>
            <type>text/plain</type>
            <size>6366</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQ3MjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAz
YjFmNmI2MjE0YzRmZTIwYjUyZTc5ZmJhZGIzYzQ5MGZlYjIwOTAyLi5hNTUxNGQzNDViZmUzZjA4
OGVmYzI5Mzg4N2Q4M2U0ZGY0MDU0ODNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMyBAQAorMjAxMy0wMy0zMCAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVXNlIFZlY3Rvcjo6cmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSBhbmQg
VmVjdG9yOjp1bmNoZWNrZWRBcHBlbmQgZm9yIEpTQydzIEFQSXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExMzY1MQorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoaXMgcmVtb3ZlcyBhIGJ1bmNoIG9mIGJy
YW5jaGVzIG9uIGluaXRpYWxpemF0aW9uIGFuZCB3aGVuCisgICAgICAgIGZpbGxpbmcgdGhlIHZl
Y3Rvci4KKworICAgICAgICAqIEFQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuY3BwOgorICAgICAg
ICAoSlNDOjpjb25zdHJ1Y3RKU0NhbGxiYWNrKToKKyAgICAgICAgKiBBUEkvSlNDYWxsYmFja0Z1
bmN0aW9uLmNwcDoKKyAgICAgICAgKEpTQzo6SlNDYWxsYmFja0Z1bmN0aW9uOjpjYWxsKToKKyAg
ICAgICAgKiBBUEkvSlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oOgorICAgICAgICAoSlNDOjo6
OmNvbnN0cnVjdCk6CisgICAgICAgIChKU0M6Ojo6Y2FsbCk6CisgICAgICAgICogQVBJL0pTT2Jq
ZWN0UmVmLmNwcDoKKyAgICAgICAgKEpTT2JqZWN0Q29weVByb3BlcnR5TmFtZXMpOgorCiAyMDEz
LTAzLTMwICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CiAKICAgICAg
ICAgTW92ZSBSZWdpb24gaW50byBpdHMgb3duIGhlYWRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuY3BwIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrQ29uc3RydWN0b3IuY3BwCmluZGV4IGVkNWM1NjcwODNl
YTliMDY2MzQwMDNmZjM0ZDk3YzRiMGIyYmJmYzYuLjQxZWQ2MDc2ZmM5MDA1MWUxZTVjNjRkNzA2
MWM3YjQzNDk5NmU1YjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlND
YWxsYmFja0NvbnN0cnVjdG9yLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pT
Q2FsbGJhY2tDb25zdHJ1Y3Rvci5jcHAKQEAgLTczLDEwICs3MywxMSBAQCBzdGF0aWMgRW5jb2Rl
ZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBjb25zdHJ1Y3RKU0NhbGxiYWNrKEV4ZWNTdGF0ZSogZXhl
YykKIAogICAgIEpTT2JqZWN0Q2FsbEFzQ29uc3RydWN0b3JDYWxsYmFjayBjYWxsYmFjayA9IGpz
Q2FzdDxKU0NhbGxiYWNrQ29uc3RydWN0b3IqPihjb25zdHJ1Y3RvciktPmNhbGxiYWNrKCk7CiAg
ICAgaWYgKGNhbGxiYWNrKSB7Ci0gICAgICAgIGludCBhcmd1bWVudENvdW50ID0gc3RhdGljX2Nh
c3Q8aW50PihleGVjLT5hcmd1bWVudENvdW50KCkpOwotICAgICAgICBWZWN0b3I8SlNWYWx1ZVJl
ZiwgMTY+IGFyZ3VtZW50cyhhcmd1bWVudENvdW50KTsKLSAgICAgICAgZm9yIChpbnQgaSA9IDA7
IGkgPCBhcmd1bWVudENvdW50OyBpKyspCi0gICAgICAgICAgICBhcmd1bWVudHNbaV0gPSB0b1Jl
ZihleGVjLCBleGVjLT5hcmd1bWVudChpKSk7CisgICAgICAgIHNpemVfdCBhcmd1bWVudENvdW50
ID0gZXhlYy0+YXJndW1lbnRDb3VudCgpOworICAgICAgICBWZWN0b3I8SlNWYWx1ZVJlZiwgMTY+
IGFyZ3VtZW50czsKKyAgICAgICAgYXJndW1lbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoYXJn
dW1lbnRDb3VudCk7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJndW1lbnRDb3Vu
dDsgaSsrKQorICAgICAgICAgICAgYXJndW1lbnRzLnVuY2hlY2tlZEFwcGVuZCh0b1JlZihleGVj
LCBleGVjLT5hcmd1bWVudChpKSkpOwogCiAgICAgICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9uID0g
MDsKICAgICAgICAgSlNPYmplY3RSZWYgcmVzdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFT
Y3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0FQSS9KU0NhbGxiYWNrRnVuY3Rpb24uY3BwCmluZGV4IDJlN2M2MGZiZDUzNmVmNGVkYTUy
ODc1ZGMzN2ZkZjU2ZGYyYWEwNTcuLjY3ZjgzNDMwZGZjNGViMDk0OTAyNmY4MzE5YWY2ZjFkOTFl
NDY4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNDYWxsYmFja0Z1
bmN0aW9uLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQVBJL0pTQ2FsbGJhY2tGdW5j
dGlvbi5jcHAKQEAgLTY5LDEwICs2OSwxMSBAQCBFbmNvZGVkSlNWYWx1ZSBKU0NhbGxiYWNrRnVu
Y3Rpb246OmNhbGwoRXhlY1N0YXRlKiBleGVjKQogICAgIEpTT2JqZWN0UmVmIGZ1bmN0aW9uUmVm
ID0gdG9SZWYoZXhlYy0+Y2FsbGVlKCkpOwogICAgIEpTT2JqZWN0UmVmIHRoaXNPYmpSZWYgPSB0
b1JlZihleGVjLT5ob3N0VGhpc1ZhbHVlKCkudG9UaGlzT2JqZWN0KGV4ZWMpKTsKIAotICAgIGlu
dCBhcmd1bWVudENvdW50ID0gc3RhdGljX2Nhc3Q8aW50PihleGVjLT5hcmd1bWVudENvdW50KCkp
OwotICAgIFZlY3RvcjxKU1ZhbHVlUmVmLCAxNj4gYXJndW1lbnRzKGFyZ3VtZW50Q291bnQpOwot
ICAgIGZvciAoaW50IGkgPSAwOyBpIDwgYXJndW1lbnRDb3VudDsgaSsrKQotICAgICAgICBhcmd1
bWVudHNbaV0gPSB0b1JlZihleGVjLCBleGVjLT5hcmd1bWVudChpKSk7CisgICAgc2l6ZV90IGFy
Z3VtZW50Q291bnQgPSBleGVjLT5hcmd1bWVudENvdW50KCk7CisgICAgVmVjdG9yPEpTVmFsdWVS
ZWYsIDE2PiBhcmd1bWVudHM7CisgICAgYXJndW1lbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHko
YXJndW1lbnRDb3VudCk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcmd1bWVudENvdW50
OyBpKyspCisgICAgICAgIGFyZ3VtZW50cy51bmNoZWNrZWRBcHBlbmQodG9SZWYoZXhlYywgZXhl
Yy0+YXJndW1lbnQoaSkpKTsKIAogICAgIEpTVmFsdWVSZWYgZXhjZXB0aW9uID0gMDsKICAgICBK
U1ZhbHVlUmVmIHJlc3VsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkv
SlNDYWxsYmFja09iamVjdEZ1bmN0aW9ucy5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9K
U0NhbGxiYWNrT2JqZWN0RnVuY3Rpb25zLmgKaW5kZXggYWI0MDY3YTk5NjM5ZWMzNDZhMmZiNDdi
ODRkNmI3Mjc4ZjMwZjExNS4uYzEzNDczOGFkN2ZhMjE1ZGQ3ODUwZGZlYzQ4MDMwOTkzMjg5YmRh
YSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2JqZWN0
RnVuY3Rpb25zLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU0NhbGxiYWNrT2Jq
ZWN0RnVuY3Rpb25zLmgKQEAgLTM2OCwxMCArMzY4LDExIEBAIEVuY29kZWRKU1ZhbHVlIEpTQ2Fs
bGJhY2tPYmplY3Q8UGFyZW50Pjo6Y29uc3RydWN0KEV4ZWNTdGF0ZSogZXhlYykKICAgICAKICAg
ICBmb3IgKEpTQ2xhc3NSZWYganNDbGFzcyA9IGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PFBhcmVu
dD4qPihjb25zdHJ1Y3RvciktPmNsYXNzUmVmKCk7IGpzQ2xhc3M7IGpzQ2xhc3MgPSBqc0NsYXNz
LT5wYXJlbnRDbGFzcykgewogICAgICAgICBpZiAoSlNPYmplY3RDYWxsQXNDb25zdHJ1Y3RvckNh
bGxiYWNrIGNhbGxBc0NvbnN0cnVjdG9yID0ganNDbGFzcy0+Y2FsbEFzQ29uc3RydWN0b3IpIHsK
LSAgICAgICAgICAgIGludCBhcmd1bWVudENvdW50ID0gc3RhdGljX2Nhc3Q8aW50PihleGVjLT5h
cmd1bWVudENvdW50KCkpOwotICAgICAgICAgICAgVmVjdG9yPEpTVmFsdWVSZWYsIDE2PiBhcmd1
bWVudHMoYXJndW1lbnRDb3VudCk7Ci0gICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGFy
Z3VtZW50Q291bnQ7IGkrKykKLSAgICAgICAgICAgICAgICBhcmd1bWVudHNbaV0gPSB0b1JlZihl
eGVjLCBleGVjLT5hcmd1bWVudChpKSk7CisgICAgICAgICAgICBzaXplX3QgYXJndW1lbnRDb3Vu
dCA9IGV4ZWMtPmFyZ3VtZW50Q291bnQoKTsKKyAgICAgICAgICAgIFZlY3RvcjxKU1ZhbHVlUmVm
LCAxNj4gYXJndW1lbnRzOworICAgICAgICAgICAgYXJndW1lbnRzLnJlc2VydmVJbml0aWFsQ2Fw
YWNpdHkoYXJndW1lbnRDb3VudCk7CisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IGFyZ3VtZW50Q291bnQ7IGkrKykKKyAgICAgICAgICAgICAgICBhcmd1bWVudHMudW5jaGVja2Vk
QXBwZW5kKHRvUmVmKGV4ZWMsIGV4ZWMtPmFyZ3VtZW50KGkpKSk7CiAgICAgICAgICAgICBKU1Zh
bHVlUmVmIGV4Y2VwdGlvbiA9IDA7CiAgICAgICAgICAgICBKU09iamVjdCogcmVzdWx0OwogICAg
ICAgICAgICAgewpAQCAtNDM0LDEwICs0MzUsMTEgQEAgRW5jb2RlZEpTVmFsdWUgSlNDYWxsYmFj
a09iamVjdDxQYXJlbnQ+OjpjYWxsKEV4ZWNTdGF0ZSogZXhlYykKICAgICAKICAgICBmb3IgKEpT
Q2xhc3NSZWYganNDbGFzcyA9IGpzQ2FzdDxKU0NhbGxiYWNrT2JqZWN0PFBhcmVudD4qPih0b0pT
KGZ1bmN0aW9uUmVmKSktPmNsYXNzUmVmKCk7IGpzQ2xhc3M7IGpzQ2xhc3MgPSBqc0NsYXNzLT5w
YXJlbnRDbGFzcykgewogICAgICAgICBpZiAoSlNPYmplY3RDYWxsQXNGdW5jdGlvbkNhbGxiYWNr
IGNhbGxBc0Z1bmN0aW9uID0ganNDbGFzcy0+Y2FsbEFzRnVuY3Rpb24pIHsKLSAgICAgICAgICAg
IGludCBhcmd1bWVudENvdW50ID0gc3RhdGljX2Nhc3Q8aW50PihleGVjLT5hcmd1bWVudENvdW50
KCkpOwotICAgICAgICAgICAgVmVjdG9yPEpTVmFsdWVSZWYsIDE2PiBhcmd1bWVudHMoYXJndW1l
bnRDb3VudCk7Ci0gICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IGFyZ3VtZW50Q291bnQ7
IGkrKykKLSAgICAgICAgICAgICAgICBhcmd1bWVudHNbaV0gPSB0b1JlZihleGVjLCBleGVjLT5h
cmd1bWVudChpKSk7CisgICAgICAgICAgICBzaXplX3QgYXJndW1lbnRDb3VudCA9IGV4ZWMtPmFy
Z3VtZW50Q291bnQoKTsKKyAgICAgICAgICAgIFZlY3RvcjxKU1ZhbHVlUmVmLCAxNj4gYXJndW1l
bnRzOworICAgICAgICAgICAgYXJndW1lbnRzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoYXJndW1l
bnRDb3VudCk7CisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFyZ3VtZW50Q291
bnQ7IGkrKykKKyAgICAgICAgICAgICAgICBhcmd1bWVudHMudW5jaGVja2VkQXBwZW5kKHRvUmVm
KGV4ZWMsIGV4ZWMtPmFyZ3VtZW50KGkpKSk7CiAgICAgICAgICAgICBKU1ZhbHVlUmVmIGV4Y2Vw
dGlvbiA9IDA7CiAgICAgICAgICAgICBKU1ZhbHVlIHJlc3VsdDsKICAgICAgICAgICAgIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWYuY3BwIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAKaW5kZXggYTI5MTM1Y2I1YzM1
YTcwMjE2ZDljNzlhZDE1OGI2MWNmMDg3NWE4NS4uYTE0NjRjY2IxYzhjMWQ1MjZiNTAyMThkOTlj
ZWY3YmFhZjc0YjdhZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09i
amVjdFJlZi5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5j
cHAKQEAgLTU1MSw3ICs1NTEsNyBAQCBKU1Byb3BlcnR5TmFtZUFycmF5UmVmIEpTT2JqZWN0Q29w
eVByb3BlcnR5TmFtZXMoSlNDb250ZXh0UmVmIGN0eCwgSlNPYmplY3RSZWYgbwogICAgIHNpemVf
dCBzaXplID0gYXJyYXkuc2l6ZSgpOwogICAgIHByb3BlcnR5TmFtZXMtPmFycmF5LnJlc2VydmVJ
bml0aWFsQ2FwYWNpdHkoc2l6ZSk7CiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzaXplOyAr
K2kpCi0gICAgICAgIHByb3BlcnR5TmFtZXMtPmFycmF5LmFwcGVuZChKU1JldGFpblB0cjxKU1N0
cmluZ1JlZj4oQWRvcHQsIE9wYXF1ZUpTU3RyaW5nOjpjcmVhdGUoYXJyYXlbaV0uc3RyaW5nKCkp
LmxlYWtSZWYoKSkpOworICAgICAgICBwcm9wZXJ0eU5hbWVzLT5hcnJheS51bmNoZWNrZWRBcHBl
bmQoSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+KEFkb3B0LCBPcGFxdWVKU1N0cmluZzo6Y3JlYXRl
KGFycmF5W2ldLnN0cmluZygpKS5sZWFrUmVmKCkpKTsKICAgICAKICAgICByZXR1cm4gSlNQcm9w
ZXJ0eU5hbWVBcnJheVJldGFpbihwcm9wZXJ0eU5hbWVzKTsKIH0K
</data>
<flag name="review"
          id="217848"
          type_id="1"
          status="+"
          setter="kling"
    />
          </attachment>
      

    </bug>

</bugzilla>