<?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>20983</bug_id>
          
          <creation_ts>2008-09-21 21:16:12 -0700</creation_ts>
          <short_desc>ArgumentsData should have some room to allocate some extra arguments inline</short_desc>
          <delta_ts>2008-09-22 21:56:31 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>20813</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Cameron Zwarich (cpst)">zwarich</reporter>
          <assigned_to name="Darin Adler">darin</assigned_to>
          <cc>darin</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>92073</commentid>
    <comment_count>0</comment_count>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-09-21 21:16:12 -0700</bug_when>
    <thetext>Whenever there are extra arguments, we allocate memory for them in the constructor of the Arguments object and free them in the destructor. This is especially bad in any code that uses the Prototype framework (including the V8 Raytrace test). We should figure out a good number of arguments for which to reserve inline storage and eliminate this hit in the common case.

I am assigning this to myself.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92188</commentid>
    <comment_count>1</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-09-22 13:51:31 -0700</bug_when>
    <thetext>Geoff is pretty sure that the common number of extra arguments is 2. So inline capacity for, say, 3, should be enough!

Geoff also pointed out that we could have a special case for when there are no declared parameters at all. I don&apos;t remember his specific ideas.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92278</commentid>
    <comment_count>2</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-09-22 21:36:14 -0700</bug_when>
    <thetext>Cameron, sorry, I got impatient and did this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92279</commentid>
    <comment_count>3</comment_count>
      <attachid>23693</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-09-22 21:50:34 -0700</bug_when>
    <thetext>Created attachment 23693
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92280</commentid>
    <comment_count>4</comment_count>
      <attachid>23693</attachid>
    <who name="Cameron Zwarich (cpst)">zwarich</who>
    <bug_when>2008-09-22 21:55:18 -0700</bug_when>
    <thetext>Comment on attachment 23693
patch

r=me, assuming it passes all tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>92281</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-09-22 21:56:31 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/36792</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>23693</attachid>
            <date>2008-09-22 21:50:34 -0700</date>
            <delta_ts>2008-09-22 21:55:18 -0700</delta_ts>
            <desc>patch</desc>
            <filename>ArgPatch.txt</filename>
            <type>text/plain</type>
            <size>5808</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDM2NzkxKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMDgtMDktMjIgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIC0gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIwOTgzCisgICAgICAgICAgQXJndW1lbnRzRGF0YSBzaG91bGQgaGF2ZSBzb21lIHJvb20gdG8g
YWxsb2NhdGUgc29tZSBleHRyYSBhcmd1bWVudHMgaW5saW5lCisKKyAgICAgICAgU3BlZWRzIHVw
IHY4LXJheXRyYWNlIGJ5IDUlLgorCisgICAgICAgICoga2pzL0FyZ3VtZW50cy5jcHA6CisgICAg
ICAgIChKU0M6OkFyZ3VtZW50c0RhdGE6OkFyZ3VtZW50c0RhdGEpOiBVc2UgYSBmaXhlZCBidWZm
ZXIgaWYgdGhlcmUgYXJlIDQgb3IgZmV3ZXIKKyAgICAgICAgZXh0cmEgYXJndW1lbnRzLgorICAg
ICAgICAoSlNDOjpBcmd1bWVudHM6OkFyZ3VtZW50cyk6IFVzZSBhIGZpeGVkIGJ1ZmZlciBpZiB0
aGVyZSBhcmUgNCBvciBmZXdlcgorICAgICAgICBleHRyYSBhcmd1bWVudHMuCisgICAgICAgIChK
U0M6OkFyZ3VtZW50czo6fkFyZ3VtZW50cyk6IERlbGV0ZSB0aGUgYnVmZmVyIGlmIG5lY2Vzc2Fy
eS4KKyAgICAgICAgKEpTQzo6QXJndW1lbnRzOjptYXJrKTogVXBkYXRlIHNpbmNlIGV4dHJhQXJn
dW1lbnRzIGFyZSBub3cgUmVnaXN0ZXIuCisgICAgICAgIChKU0M6OkFyZ3VtZW50czo6ZmlsbEFy
Z0xpc3QpOiBBZGRlZCBzcGVjaWFsIGNhc2UgZm9yIHRoZSBvbmx5IGNhc2UgdGhhdCdzCisgICAg
ICAgIGFjdHVhbGx5IHVzZWQgaW4gdGhlIHByYWN0aWNlLCB3aGVuIHRoZXJlIGFyZSBubyBwYXJh
bWV0ZXJzLiBUaGVyZSBhcmUgc29tZQorICAgICAgICBvdGhlciBzcGVjaWFsIGNhc2VzIGluIHRo
ZXJlIHRvbywgYnV0IHRoYXQncyB0aGUgb25seSBvbmUgdGhhdCBtYXR0ZXJzLgorICAgICAgICAo
SlNDOjpBcmd1bWVudHM6OmdldE93blByb3BlcnR5U2xvdCk6IFVwZGF0ZWQgdG8gdXNlIHNldFZh
bHVlU2xvdCBzaW5jZSB0aGVyZSdzCisgICAgICAgIG5vIG9wZXJhdGlvbiB0byBnZXQgeW91IGF0
IHRoZSBKU1ZhbHVlKiBpbnNpZGUgYSBSZWdpc3RlciBhcyBhICJzbG90Ii4KKwogMjAwOC0wOS0y
MiAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1h
Y2llaiBTdGFjaG93aWFrLgpJbmRleDogSmF2YVNjcmlwdENvcmUva2pzL0FyZ3VtZW50cy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUva2pzL0FyZ3VtZW50cy5jcHAJKHJldmlzaW9u
IDM2Nzg4KQorKysgSmF2YVNjcmlwdENvcmUva2pzL0FyZ3VtZW50cy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM3LDEyICszNywxMyBAQCBBU1NFUlRfQ0xBU1NfRklUU19JTl9DRUxMKEFyZ3VtZW50
cyk7CiAKIGNvbnN0IENsYXNzSW5mbyBBcmd1bWVudHM6OmluZm8gPSB7ICJBcmd1bWVudHMiLCAw
LCAwLCAwIH07CiAKLXN0cnVjdCBBcmd1bWVudHNEYXRhIHsKK3N0cnVjdCBBcmd1bWVudHNEYXRh
IDogTm9uY29weWFibGUgewogICAgIEFyZ3VtZW50c0RhdGEoSlNBY3RpdmF0aW9uKiBhY3RpdmF0
aW9uLCB1bnNpZ25lZCBudW1QYXJhbWV0ZXJzLCB1bnNpZ25lZCBmaXJzdEFyZ3VtZW50SW5kZXgs
IHVuc2lnbmVkIG51bUFyZ3VtZW50cykKICAgICAgICAgOiBhY3RpdmF0aW9uKGFjdGl2YXRpb24p
CiAgICAgICAgICwgbnVtUGFyYW1ldGVycyhudW1QYXJhbWV0ZXJzKQogICAgICAgICAsIGZpcnN0
QXJndW1lbnRJbmRleChmaXJzdEFyZ3VtZW50SW5kZXgpCiAgICAgICAgICwgbnVtQXJndW1lbnRz
KG51bUFyZ3VtZW50cykKKyAgICAgICAgLCBleHRyYUFyZ3VtZW50cygwKQogICAgIHsKICAgICB9
CiAKQEAgLTUwLDggKzUxLDkgQEAgc3RydWN0IEFyZ3VtZW50c0RhdGEgewogICAgIHVuc2lnbmVk
IG51bVBhcmFtZXRlcnM7CiAgICAgdW5zaWduZWQgZmlyc3RBcmd1bWVudEluZGV4OwogICAgIHVu
c2lnbmVkIG51bUFyZ3VtZW50czsKLSAgICBPd25BcnJheVB0cjxKU1ZhbHVlKj4gZXh0cmFBcmd1
bWVudHM7CisgICAgUmVnaXN0ZXIqIGV4dHJhQXJndW1lbnRzOwogICAgIE93bkFycmF5UHRyPGJv
b2w+IGRlbGV0ZWRBcmd1bWVudHM7CisgICAgUmVnaXN0ZXIgZXh0cmFBcmd1bWVudHNGaXhlZEJ1
ZmZlcls0XTsKIH07CiAKIC8vIEVDTUEgMTAuMS44CkBAIC02NiwxNSArNjgsMjEgQEAgQXJndW1l
bnRzOjpBcmd1bWVudHMoRXhlY1N0YXRlKiBleGVjLCBKUwogICAKICAgICBpZiAoZC0+bnVtQXJn
dW1lbnRzID4gZC0+bnVtUGFyYW1ldGVycykgewogICAgICAgICB1bnNpZ25lZCBudW1FeHRyYUFy
Z3VtZW50cyA9IGQtPm51bUFyZ3VtZW50cyAtIGQtPm51bVBhcmFtZXRlcnM7Ci0gICAgICAgIEpT
VmFsdWUqKiBleHRyYUFyZ3VtZW50cyA9IG5ldyBKU1ZhbHVlKltudW1FeHRyYUFyZ3VtZW50c107
CisgICAgICAgIFJlZ2lzdGVyKiBleHRyYUFyZ3VtZW50czsKKyAgICAgICAgaWYgKG51bUV4dHJh
QXJndW1lbnRzID4gc2l6ZW9mKGQtPmV4dHJhQXJndW1lbnRzRml4ZWRCdWZmZXIpIC8gc2l6ZW9m
KFJlZ2lzdGVyKSkKKyAgICAgICAgICAgIGV4dHJhQXJndW1lbnRzID0gbmV3IFJlZ2lzdGVyW251
bUV4dHJhQXJndW1lbnRzXTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgZXh0cmFBcmd1bWVu
dHMgPSBkLT5leHRyYUFyZ3VtZW50c0ZpeGVkQnVmZmVyOwogICAgICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgbnVtRXh0cmFBcmd1bWVudHM7ICsraSkKLSAgICAgICAgICAgIGV4dHJhQXJn
dW1lbnRzW2ldID0gYXJndltkLT5udW1QYXJhbWV0ZXJzICsgaV0uZ2V0SlNWYWx1ZSgpOwotICAg
ICAgICBkLT5leHRyYUFyZ3VtZW50cy5zZXQoZXh0cmFBcmd1bWVudHMpOworICAgICAgICAgICAg
ZXh0cmFBcmd1bWVudHNbaV0gPSBhcmd2W2QtPm51bVBhcmFtZXRlcnMgKyBpXTsKKyAgICAgICAg
ZC0+ZXh0cmFBcmd1bWVudHMgPSBleHRyYUFyZ3VtZW50czsKICAgICB9CiB9CiAKIEFyZ3VtZW50
czo6fkFyZ3VtZW50cygpCiB7CisgICAgaWYgKGQtPmV4dHJhQXJndW1lbnRzICE9IGQtPmV4dHJh
QXJndW1lbnRzRml4ZWRCdWZmZXIpCisgICAgICAgIGRlbGV0ZSBbXSBkLT5leHRyYUFyZ3VtZW50
czsKIH0KIAogdm9pZCBBcmd1bWVudHM6Om1hcmsoKSAKQEAgLTg0LDggKzkyLDggQEAgdm9pZCBB
cmd1bWVudHM6Om1hcmsoKSAKICAgICBpZiAoZC0+ZXh0cmFBcmd1bWVudHMpIHsKICAgICAgICAg
dW5zaWduZWQgbnVtRXh0cmFBcmd1bWVudHMgPSBkLT5udW1Bcmd1bWVudHMgLSBkLT5udW1QYXJh
bWV0ZXJzOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbnVtRXh0cmFBcmd1bWVu
dHM7ICsraSkgewotICAgICAgICAgICAgaWYgKCFkLT5leHRyYUFyZ3VtZW50c1tpXS0+bWFya2Vk
KCkpCi0gICAgICAgICAgICAgICAgZC0+ZXh0cmFBcmd1bWVudHNbaV0tPm1hcmsoKTsKKyAgICAg
ICAgICAgIGlmICghZC0+ZXh0cmFBcmd1bWVudHNbaV0ubWFya2VkKCkpCisgICAgICAgICAgICAg
ICAgZC0+ZXh0cmFBcmd1bWVudHNbaV0ubWFyaygpOwogICAgICAgICB9CiAgICAgfQogCkBAIC05
NSw3ICsxMDMsMTIgQEAgdm9pZCBBcmd1bWVudHM6Om1hcmsoKSAKIAogdm9pZCBBcmd1bWVudHM6
OmZpbGxBcmdMaXN0KEV4ZWNTdGF0ZSogZXhlYywgQXJnTGlzdCYgYXJncykKIHsKLSAgICBpZiAo
IWQtPmRlbGV0ZWRBcmd1bWVudHMpIHsKKyAgICBpZiAoTElLRUxZKCFkLT5kZWxldGVkQXJndW1l
bnRzKSkgeworICAgICAgICBpZiAoTElLRUxZKCFkLT5udW1QYXJhbWV0ZXJzKSkgeworICAgICAg
ICAgICAgYXJncy5pbml0aWFsaXplKGQtPmV4dHJhQXJndW1lbnRzLCBkLT5udW1Bcmd1bWVudHMp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKICAgICAgICAgaWYgKGQtPm51bVBh
cmFtZXRlcnMgPT0gZC0+bnVtQXJndW1lbnRzKSB7CiAgICAgICAgICAgICBhcmdzLmluaXRpYWxp
emUoJmQtPmFjdGl2YXRpb24tPnJlZ2lzdGVyQXQoZC0+Zmlyc3RBcmd1bWVudEluZGV4KSwgZC0+
bnVtQXJndW1lbnRzKTsKICAgICAgICAgICAgIHJldHVybjsKQEAgLTEwNiw3ICsxMTksNyBAQCB2
b2lkIEFyZ3VtZW50czo6ZmlsbEFyZ0xpc3QoRXhlY1N0YXRlKiBlCiAgICAgICAgIGZvciAoOyBp
IDwgcGFyYW1ldGVyc0xlbmd0aDsgKytpKQogICAgICAgICAgICAgYXJncy5hcHBlbmQoZC0+YWN0
aXZhdGlvbi0+dW5jaGVja2VkU3ltYm9sVGFibGVHZXRWYWx1ZShkLT5maXJzdEFyZ3VtZW50SW5k
ZXggKyBpKSk7CiAgICAgICAgIGZvciAoOyBpIDwgZC0+bnVtQXJndW1lbnRzOyArK2kpCi0gICAg
ICAgICAgICBhcmdzLmFwcGVuZChkLT5leHRyYUFyZ3VtZW50c1tpIC0gZC0+bnVtUGFyYW1ldGVy
c10pOworICAgICAgICAgICAgYXJncy5hcHBlbmQoZ2V0KGV4ZWMsIGkpKTsKICAgICAgICAgcmV0
dXJuOwogICAgIH0KIApAQCAtMTIwLDcgKzEzMyw3IEBAIHZvaWQgQXJndW1lbnRzOjpmaWxsQXJn
TGlzdChFeGVjU3RhdGUqIGUKICAgICB9CiAgICAgZm9yICg7IGkgPCBkLT5udW1Bcmd1bWVudHM7
ICsraSkgewogICAgICAgICBpZiAoIWQtPmRlbGV0ZWRBcmd1bWVudHNbaV0pCi0gICAgICAgICAg
ICBhcmdzLmFwcGVuZChkLT5leHRyYUFyZ3VtZW50c1tpIC0gZC0+bnVtUGFyYW1ldGVyc10pOwor
ICAgICAgICAgICAgYXJncy5hcHBlbmQoZC0+ZXh0cmFBcmd1bWVudHNbaSAtIGQtPm51bVBhcmFt
ZXRlcnNdLmdldEpTVmFsdWUoKSk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGFyZ3MuYXBw
ZW5kKGdldChleGVjLCBpKSk7CiAgICAgfQpAQCAtMTMyLDcgKzE0NSw3IEBAIGJvb2wgQXJndW1l
bnRzOjpnZXRPd25Qcm9wZXJ0eVNsb3QoRXhlY1MKICAgICAgICAgaWYgKGkgPCBkLT5udW1QYXJh
bWV0ZXJzKQogICAgICAgICAgICAgZC0+YWN0aXZhdGlvbi0+dW5jaGVja2VkU3ltYm9sVGFibGVH
ZXQoZC0+Zmlyc3RBcmd1bWVudEluZGV4ICsgaSwgc2xvdCk7CiAgICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIHNsb3Quc2V0VmFsdWVTbG90KCZkLT5leHRyYUFyZ3VtZW50c1tpIC0gZC0+bnVtUGFy
YW1ldGVyc10pOworICAgICAgICAgICAgc2xvdC5zZXRWYWx1ZShkLT5leHRyYUFyZ3VtZW50c1tp
IC0gZC0+bnVtUGFyYW1ldGVyc10uZ2V0SlNWYWx1ZSgpKTsKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQogCkBAIC0xNDcsNyArMTYwLDcgQEAgYm9vbCBBcmd1bWVudHM6OmdldE93blByb3Bl
cnR5U2xvdChFeGVjUwogICAgICAgICBpZiAoaSA8IGQtPm51bVBhcmFtZXRlcnMpCiAgICAgICAg
ICAgICBkLT5hY3RpdmF0aW9uLT51bmNoZWNrZWRTeW1ib2xUYWJsZUdldChkLT5maXJzdEFyZ3Vt
ZW50SW5kZXggKyBpLCBzbG90KTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgc2xvdC5zZXRW
YWx1ZVNsb3QoJmQtPmV4dHJhQXJndW1lbnRzW2kgLSBkLT5udW1QYXJhbWV0ZXJzXSk7CisgICAg
ICAgICAgICBzbG90LnNldFZhbHVlKGQtPmV4dHJhQXJndW1lbnRzW2kgLSBkLT5udW1QYXJhbWV0
ZXJzXS5nZXRKU1ZhbHVlKCkpOwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAK
</data>
<flag name="review"
          id="10631"
          type_id="1"
          status="+"
          setter="zwarich"
    />
          </attachment>
      

    </bug>

</bugzilla>