<?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>115247</bug_id>
          
          <creation_ts>2013-04-26 05:21:11 -0700</creation_ts>
          <short_desc>Optimize function and interface object length computation in bindings generator</short_desc>
          <delta_ts>2013-04-26 06:02:22 -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>Tools / Tests</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>
          
          <blocked>115250</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>ap</cc>
    
    <cc>commit-queue</cc>
    
    <cc>haraken</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>881820</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-04-26 05:21:11 -0700</bug_when>
    <thetext>We should introduce a new GetFunctionLength() function that efficiently computes the length of a function (i.e. its number of mandatory parameters).

We currently call GenerateFunctionParametersCheck() for that purpose but this is very inefficient because it does a lot more processing than we need in this case, in order to generate the expression to check the parameters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>881827</commentid>
    <comment_count>1</comment_count>
      <attachid>199816</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-04-26 05:31:22 -0700</bug_when>
    <thetext>Created attachment 199816
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>881829</commentid>
    <comment_count>2</comment_count>
      <attachid>199816</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2013-04-26 05:34:54 -0700</bug_when>
    <thetext>Comment on attachment 199816
Patch

Thanks for cleaning up the mess we introduced!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>881842</commentid>
    <comment_count>3</comment_count>
      <attachid>199816</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-26 06:02:18 -0700</bug_when>
    <thetext>Comment on attachment 199816
Patch

Clearing flags on attachment: 199816

Committed r149177: &lt;http://trac.webkit.org/changeset/149177&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>881843</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-04-26 06:02:22 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>199816</attachid>
            <date>2013-04-26 05:31:22 -0700</date>
            <delta_ts>2013-04-26 06:02:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>115247_GetFunctionLength.patch</filename>
            <type>text/plain</type>
            <size>5637</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxYzk1NTkzLi5kYTRjNWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYg
QEAKKzIwMTMtMDQtMjYgIENocmlzdG9waGUgRHVtZXogIDxjaC5kdW1lekBzaXNhLnNhbXN1bmcu
Y29tPgorCisgICAgICAgIE9wdGltaXplIGZ1bmN0aW9uIGFuZCBpbnRlcmZhY2Ugb2JqZWN0IGxl
bmd0aCBjb21wdXRhdGlvbiBpbiBiaW5kaW5ncyBnZW5lcmF0b3IKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTExNTI0NworCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEludHJvZHVjZSBuZXcgR2V0RnVuY3Rpb25M
ZW5ndGgoKSBmdW5jdGlvbiB0aGF0IGVmZmljaWVudGx5IGNvbXB1dGUgdGhlIGxlbmd0aAorICAg
ICAgICBvZiBhIGZ1bmN0aW9uIChpLmUuIGl0cyBudW1iZXIgb2YgbWFuZGF0b3J5IHBhcmFtZXRl
cnMpLgorCisgICAgICAgIFdlIG5vdyBjYWxsIEdldEZ1bmN0aW9uTGVuZ3RoKCkgaW5zdGVhZCBv
ZiBHZW5lcmF0ZUZ1bmN0aW9uUGFyYW1ldGVyc0NoZWNrKCkKKyAgICAgICAgd2hlbmV2ZXIgd2Ug
Y2FyZSBvbmx5IGludGVyZXN0ZWQgaW4gdGhlIGZ1bmN0aW9uIGxlbmd0aCBhbmQgbm90IHRoZSBh
Y3R1YWwKKyAgICAgICAgZXhwcmVzc2lvbiBmb3IgY2hlY2tpbmcgdGhlIHBhcmFtZXRlcnMuIFRo
aXMgaXMgbXVjaCBtb3JlIGVmZmljaWVudCBhcworICAgICAgICBHZW5lcmF0ZUZ1bmN0aW9uUGFy
YW1ldGVyc0NoZWNrKCkgZG9lcyBhIGxvdCBtb3JlIHByb2Nlc3NpbmcgdGhhbiB3ZSBuZWVkIGlu
CisgICAgICAgIHRoaXMgY2FzZS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIG5vIGJlaGF2aW9y
IGNoYW5nZS4KKworICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBt
OgorICAgICAgICAoR2V0RnVuY3Rpb25MZW5ndGgpOgorICAgICAgICAoR2VuZXJhdGVJbXBsZW1l
bnRhdGlvbik6CisgICAgICAgIChHZW5lcmF0ZUNvbnN0cnVjdG9ySGVscGVyTWV0aG9kcyk6CisK
IDIwMTMtMDQtMjYgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAgICAg
IFdlYiBBdWRpbzogUmVtb3ZlIHJlZHVwbGljYXRpdmUgYWRkSW5wdXQoKSBpbiBBbmFseXNlck5v
ZGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5l
cmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtCmluZGV4IDBlYjRmMGMuLjk3MWJmZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC0xMzIwLDYgKzEzMjAsMjIg
QEAgc3ViIEdlbmVyYXRlUGFyYW1ldGVyc0NoZWNrRXhwcmVzc2lvbgogICAgIHJldHVybiAoJHJl
cywga2V5cyAldXNlZEFyZ3VtZW50cyk7CiB9CiAKKyMgQXMgcGVyIFdlYiBJREwgc3BlY2lmaWNh
dGlvbiwgdGhlIGxlbmd0aCBvZiBhIGZ1bmN0aW9uIE9iamVjdCBpcworIyBpdHMgbnVtYmVyIG9m
IG1hbmRhdG9yeSBwYXJhbWV0ZXJzLgorc3ViIEdldEZ1bmN0aW9uTGVuZ3RoCit7CisgIG15ICRm
dW5jdGlvbiA9IHNoaWZ0OworCisgIG15ICRudW1NYW5kYXRvcnlQYXJhbXMgPSAwOworICBmb3Jl
YWNoIG15ICRwYXJhbWV0ZXIgKEB7JGZ1bmN0aW9uLT5wYXJhbWV0ZXJzfSkgeworICAgICMgQWJv
cnQgYXMgc29vbiBhcyB3ZSBmaW5kIHRoZSBmaXJzdCBvcHRpb25hbCBwYXJhbWV0ZXIgYXMgbm8g
bWFuZGF0b3J5CisgICAgIyBwYXJhbWV0ZXIgY2FuIGZvbGxvdyBhbiBvcHRpb25hbCBvbmUuCisg
ICAgbGFzdCBpZiAkcGFyYW1ldGVyLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiT3B0aW9uYWwifTsK
KyAgICAkbnVtTWFuZGF0b3J5UGFyYW1zKys7CisgIH0KKyAgcmV0dXJuICRudW1NYW5kYXRvcnlQ
YXJhbXM7Cit9CisKIHN1YiBHZW5lcmF0ZUZ1bmN0aW9uUGFyYW1ldGVyc0NoZWNrCiB7CiAgICAg
bXkgJGZ1bmN0aW9uID0gc2hpZnQ7CkBAIC0xNjIyLDggKzE2MzgsOCBAQCBzdWIgR2VuZXJhdGVJ
bXBsZW1lbnRhdGlvbgogICAgICAgICAgICAgbXkgJGZ1bmN0aW9uTmFtZSA9IEdldEZ1bmN0aW9u
TmFtZSgkY2xhc3NOYW1lLCAkZnVuY3Rpb24pOwogICAgICAgICAgICAgcHVzaChAaGFzaFZhbHVl
MSwgJGZ1bmN0aW9uTmFtZSk7CiAKLSAgICAgICAgICAgIG15ICgkbnVtTWFuZGF0b3J5UGFyYW1z
LCAkcGFyYW1ldGVyc0NoZWNrKSA9IEdlbmVyYXRlRnVuY3Rpb25QYXJhbWV0ZXJzQ2hlY2soJGZ1
bmN0aW9uKTsKLSAgICAgICAgICAgIHB1c2goQGhhc2hWYWx1ZTIsICRudW1NYW5kYXRvcnlQYXJh
bXMpOworICAgICAgICAgICAgbXkgJGZ1bmN0aW9uTGVuZ3RoID0gR2V0RnVuY3Rpb25MZW5ndGgo
JGZ1bmN0aW9uKTsKKyAgICAgICAgICAgIHB1c2goQGhhc2hWYWx1ZTIsICRmdW5jdGlvbkxlbmd0
aCk7CiAKICAgICAgICAgICAgIG15IEBzcGVjaWFscyA9ICgpOwogICAgICAgICAgICAgcHVzaChA
c3BlY2lhbHMsICJEb250RGVsZXRlIikgdW5sZXNzICRmdW5jdGlvbi0+c2lnbmF0dXJlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiRGVsZXRhYmxlIn07CkBAIC0xNjg2LDggKzE3MDIsOCBAQCBzdWIg
R2VuZXJhdGVJbXBsZW1lbnRhdGlvbgogICAgICAgICBteSAkZnVuY3Rpb25OYW1lID0gR2V0RnVu
Y3Rpb25OYW1lKCRjbGFzc05hbWUsICRmdW5jdGlvbik7CiAgICAgICAgIHB1c2goQGhhc2hWYWx1
ZTEsICRmdW5jdGlvbk5hbWUpOwogCi0gICAgICAgIG15ICgkbnVtTWFuZGF0b3J5UGFyYW1zLCAk
cGFyYW1ldGVyc0NoZWNrKSA9IEdlbmVyYXRlRnVuY3Rpb25QYXJhbWV0ZXJzQ2hlY2soJGZ1bmN0
aW9uKTsKLSAgICAgICAgcHVzaChAaGFzaFZhbHVlMiwgJG51bU1hbmRhdG9yeVBhcmFtcyk7Cisg
ICAgICAgIG15ICRmdW5jdGlvbkxlbmd0aCA9IEdldEZ1bmN0aW9uTGVuZ3RoKCRmdW5jdGlvbik7
CisgICAgICAgIHB1c2goQGhhc2hWYWx1ZTIsICRmdW5jdGlvbkxlbmd0aCk7CiAKICAgICAgICAg
bXkgQHNwZWNpYWxzID0gKCk7CiAgICAgICAgIHB1c2goQHNwZWNpYWxzLCAiRG9udERlbGV0ZSIp
IHVubGVzcyAkZnVuY3Rpb24tPnNpZ25hdHVyZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkRlbGV0
YWJsZSJ9OwpAQCAtNDE2MSwxOSArNDE3NywxOSBAQCBzdWIgR2VuZXJhdGVDb25zdHJ1Y3Rvckhl
bHBlck1ldGhvZHMKICAgICBteSAkZ2VuZXJhdGluZ05hbWVkQ29uc3RydWN0b3IgPSBzaGlmdDsK
IAogICAgIG15ICRjb25zdHJ1Y3RvckNsYXNzTmFtZSA9ICRnZW5lcmF0aW5nTmFtZWRDb25zdHJ1
Y3RvciA/ICIke2NsYXNzTmFtZX1OYW1lZENvbnN0cnVjdG9yIiA6ICIke2NsYXNzTmFtZX1Db25z
dHJ1Y3RvciI7Ci0gICAgbXkgJGxlYXN0TnVtTWFuZGF0b3J5UGFyYW1zID0gJGludGVyZmFjZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IkNvbnN0cnVjdG9yUGFyYW1ldGVycyJ9OwotICAgIGlmICgh
ZGVmaW5lZCAkbGVhc3ROdW1NYW5kYXRvcnlQYXJhbXMpIHsKKyAgICBteSAkbGVhc3RDb25zdHJ1
Y3Rvckxlbmd0aCA9ICRpbnRlcmZhY2UtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJDb25zdHJ1Y3Rv
clBhcmFtZXRlcnMifTsKKyAgICBpZiAoIWRlZmluZWQgJGxlYXN0Q29uc3RydWN0b3JMZW5ndGgp
IHsKICAgICAgICAgaWYgKCRjb2RlR2VuZXJhdG9yLT5Jc0NvbnN0cnVjdG9yVGVtcGxhdGUoJGlu
dGVyZmFjZSwgIkV2ZW50IikgfHwgJGNvZGVHZW5lcmF0b3ItPklzQ29uc3RydWN0b3JUZW1wbGF0
ZSgkaW50ZXJmYWNlLCAiVHlwZWRBcnJheSIpKSB7Ci0gICAgICAgICAgICAkbGVhc3ROdW1NYW5k
YXRvcnlQYXJhbXMgPSAxOworICAgICAgICAgICAgJGxlYXN0Q29uc3RydWN0b3JMZW5ndGggPSAx
OwogICAgICAgICB9IGVsc2lmICgkaW50ZXJmYWNlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiQ29u
c3RydWN0b3IifSkgewogICAgICAgICAgICAgbXkgQGNvbnN0cnVjdG9ycyA9IEB7JGludGVyZmFj
ZS0+Y29uc3RydWN0b3JzfTsKLSAgICAgICAgICAgICRsZWFzdE51bU1hbmRhdG9yeVBhcmFtcyA9
IDI1NTsKKyAgICAgICAgICAgICRsZWFzdENvbnN0cnVjdG9yTGVuZ3RoID0gMjU1OwogICAgICAg
ICAgICAgZm9yZWFjaCBteSAkY29uc3RydWN0b3IgKEBjb25zdHJ1Y3RvcnMpIHsKLSAgICAgICAg
ICAgICAgICBteSAoJG51bU1hbmRhdG9yeVBhcmFtcywgJHBhcmFtZXRlcnNDaGVjaykgPSBHZW5l
cmF0ZUZ1bmN0aW9uUGFyYW1ldGVyc0NoZWNrKCRjb25zdHJ1Y3Rvcik7Ci0gICAgICAgICAgICAg
ICAgJGxlYXN0TnVtTWFuZGF0b3J5UGFyYW1zID0gJG51bU1hbmRhdG9yeVBhcmFtcyBpZiAoJG51
bU1hbmRhdG9yeVBhcmFtcyA8ICRsZWFzdE51bU1hbmRhdG9yeVBhcmFtcyk7CisgICAgICAgICAg
ICAgICAgbXkgJGNvbnN0cnVjdG9yTGVuZ3RoID0gR2V0RnVuY3Rpb25MZW5ndGgoJGNvbnN0cnVj
dG9yKTsKKyAgICAgICAgICAgICAgICAkbGVhc3RDb25zdHJ1Y3Rvckxlbmd0aCA9ICRjb25zdHJ1
Y3Rvckxlbmd0aCBpZiAoJGNvbnN0cnVjdG9yTGVuZ3RoIDwgJGxlYXN0Q29uc3RydWN0b3JMZW5n
dGgpOwogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgJGxlYXN0
TnVtTWFuZGF0b3J5UGFyYW1zID0gMDsKKyAgICAgICAgICAgICRsZWFzdENvbnN0cnVjdG9yTGVu
Z3RoID0gMDsKICAgICAgICAgfQogICAgIH0KIApAQCAtNDIxNCw3ICs0MjMwLDcgQEAgc3ViIEdl
bmVyYXRlQ29uc3RydWN0b3JIZWxwZXJNZXRob2RzCiAgICAgICAgIHB1c2goQCRvdXRwdXRBcnJh
eSwgIiAgICBBU1NFUlQoaW5oZXJpdHMoJnNfaW5mbykpO1xuIik7CiAgICAgICAgIHB1c2goQCRv
dXRwdXRBcnJheSwgIiAgICBwdXREaXJlY3QoZXhlYy0+dm0oKSwgZXhlYy0+cHJvcGVydHlOYW1l
cygpLnByb3RvdHlwZSwgJHtwcm90b0NsYXNzTmFtZX06OnNlbGYoZXhlYywgZ2xvYmFsT2JqZWN0
KSwgRG9udERlbGV0ZSB8IFJlYWRPbmx5KTtcbiIpOwogICAgIH0KLSAgICBwdXNoKEAkb3V0cHV0
QXJyYXksICIgICAgcHV0RGlyZWN0KGV4ZWMtPnZtKCksIGV4ZWMtPnByb3BlcnR5TmFtZXMoKS5s
ZW5ndGgsIGpzTnVtYmVyKCR7bGVhc3ROdW1NYW5kYXRvcnlQYXJhbXN9KSwgUmVhZE9ubHkgfCBE
b250RGVsZXRlIHwgRG9udEVudW0pO1xuIikgaWYgZGVmaW5lZCAkbGVhc3ROdW1NYW5kYXRvcnlQ
YXJhbXM7CisgICAgcHVzaChAJG91dHB1dEFycmF5LCAiICAgIHB1dERpcmVjdChleGVjLT52bSgp
LCBleGVjLT5wcm9wZXJ0eU5hbWVzKCkubGVuZ3RoLCBqc051bWJlcigke2xlYXN0Q29uc3RydWN0
b3JMZW5ndGh9KSwgUmVhZE9ubHkgfCBEb250RGVsZXRlIHwgRG9udEVudW0pO1xuIikgaWYgZGVm
aW5lZCAkbGVhc3RDb25zdHJ1Y3Rvckxlbmd0aDsKICAgICBwdXNoKEAkb3V0cHV0QXJyYXksICJ9
XG5cbiIpOwogCiAgICAgaWYgKCEkZ2VuZXJhdGluZ05hbWVkQ29uc3RydWN0b3IpIHsK
</data>

          </attachment>
      

    </bug>

</bugzilla>