<?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>125821</bug_id>
          
          <creation_ts>2013-12-16 18:30:00 -0800</creation_ts>
          <short_desc>Avoid indirect function calls for custom getters</short_desc>
          <delta_ts>2013-12-20 13:04:36 -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>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="Oliver Hunt">oliver</reporter>
          <assigned_to name="Oliver Hunt">oliver</assigned_to>
          <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>960344</commentid>
    <comment_count>0</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-12-16 18:30:00 -0800</bug_when>
    <thetext>Avoid indirect function calls for custom getters</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960347</commentid>
    <comment_count>1</comment_count>
      <attachid>219379</attachid>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-12-16 18:32:45 -0800</bug_when>
    <thetext>Created attachment 219379
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960349</commentid>
    <comment_count>2</comment_count>
      <attachid>219379</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-12-16 18:37:47 -0800</bug_when>
    <thetext>Comment on attachment 219379
Patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:13
&gt; +        Unfortunately this only works in JSVALUE64 at the moment as there
&gt; +        is not an obvious way to pass two EncodedJSValues uniformly over
&gt; +        the various effected JITs.

Maybe file a followup bug for 32-bit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>960350</commentid>
    <comment_count>3</comment_count>
    <who name="Oliver Hunt">oliver</who>
    <bug_when>2013-12-16 18:40:18 -0800</bug_when>
    <thetext>Committed r160688: &lt;http://trac.webkit.org/changeset/160688&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>962013</commentid>
    <comment_count>4</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2013-12-20 13:04:36 -0800</bug_when>
    <thetext>This patch appears to have improved Dromaeo/dim-traverse by 15%:

https://perf.webkit.org/#mode=charts&amp;chartList=%5B%5B%22mac-mountainlion%22%2C%22Dromaeo%2Fdom-traverse%3ARuns%22%5D%5D</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>219379</attachid>
            <date>2013-12-16 18:32:45 -0800</date>
            <delta_ts>2013-12-16 18:37:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-125821-20131216183236.patch</filename>
            <type>text/plain</type>
            <size>4544</size>
            <attacher name="Oliver Hunt">oliver</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTYwNjcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
ZGMwMjIzNWU1OTE5Mjg2NDg0ZjIzNTViZjI0ODNhZWQ3YmZiZDhiLi5iZDcwYzMwNzExNTM2YjQ0
ODQxYTRhZWZiOTE0ZTVkMjYzMGEyNWU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
NSArMSwyNSBAQAogMjAxMy0xMi0xNiAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUuY29tPgog
CisgICAgICAgIEF2b2lkIGluZGlyZWN0IGZ1bmN0aW9uIGNhbGxzIGZvciBjdXN0b20gZ2V0dGVy
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI1ODIx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmF0aGVy
IHRoYW4gaW52b2tpbmcgYSBoZWxwZXIgZnVuY3Rpb24gdG8gcGVyZm9ybSBhbiBpbmRpcmVjdCBj
YWxsCisgICAgICAgIHRocm91Z2ggYSBmdW5jdGlvbiBwb2ludGVyLCBqdXN0IGhhdmUgdGhlIEpJ
VCBjYWxsIHRoZSBmdW5jdGlvbiBkaXJlY3RseS4KKworICAgICAgICBVbmZvcnR1bmF0ZWx5IHRo
aXMgb25seSB3b3JrcyBpbiBKU1ZBTFVFNjQgYXQgdGhlIG1vbWVudCBhcyB0aGVyZQorICAgICAg
ICBpcyBub3QgYW4gb2J2aW91cyB3YXkgdG8gcGFzcyB0d28gRW5jb2RlZEpTVmFsdWVzIHVuaWZv
cm1seSBvdmVyCisgICAgICAgIHRoZSB2YXJpb3VzIGVmZmVjdGVkIEpJVHMuCisKKyAgICAgICAg
KiBqaXQvQ0NhbGxIZWxwZXJzLmg6CisgICAgICAgIChKU0M6OkNDYWxsSGVscGVyczo6c2V0dXBB
cmd1bWVudHMpOgorICAgICAgICAqIGppdC9SZXBhdGNoLmNwcDoKKyAgICAgICAgKEpTQzo6Z2Vu
ZXJhdGVQcm90b0NoYWluQWNjZXNzU3R1Yik6CisgICAgICAgIChKU0M6OnRyeUJ1aWxkR2V0QnlJ
RExpc3QpOgorCisyMDEzLTEyLTE2ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CisK
ICAgICAgICAgQ2FjaGUgZ2V0dGVycyBhbmQgY3VzdG9tIGFjY2Vzc29ycyBvbiB0aGUgcHJvdG90
eXBlIGNoYWluCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMjU2MDIKIApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9DQ2FsbEhl
bHBlcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQ0NhbGxIZWxwZXJzLmgKaW5kZXgg
YWZjY2NkMWNhOWE4ZjI2MmRjYzM0OTk2Y2MwYzU0MTQzNjhiNzc3ZC4uODM2NTczYmUxZGY4MDc5
MmZlODMwMGJiNTAwNzJmOTZhMzJhNDE5MCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9DQ2FsbEhlbHBlcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0ND
YWxsSGVscGVycy5oCkBAIC05NTYsNiArOTU2LDEyIEBAIHB1YmxpYzoKICAgICAgICAgbW92ZShh
cmc0LCBHUFJJbmZvOjphcmd1bWVudEdQUjMpOwogICAgIH0KICAgICAKKyAgICBBTFdBWVNfSU5M
SU5FIHZvaWQgc2V0dXBBcmd1bWVudHMoR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBHUFJSZWcg
YXJnMywgVHJ1c3RlZEltbVB0ciBhcmc0KQorICAgIHsKKyAgICAgICAgc2V0dXBUaHJlZVN0dWJB
cmdzR1BSPEdQUkluZm86OmFyZ3VtZW50R1BSMCwgR1BSSW5mbzo6YXJndW1lbnRHUFIxLCBHUFJJ
bmZvOjphcmd1bWVudEdQUjI+KGFyZzEsIGFyZzIsIGFyZzMpOworICAgICAgICBtb3ZlKGFyZzQs
IEdQUkluZm86OmFyZ3VtZW50R1BSMyk7CisgICAgfQorICAgIAogICAgIEFMV0FZU19JTkxJTkUg
dm9pZCBzZXR1cEFyZ3VtZW50cyhHUFJSZWcgYXJnMSwgVHJ1c3RlZEltbVB0ciBhcmcyLCBHUFJS
ZWcgYXJnMywgVHJ1c3RlZEltbVB0ciBhcmc0KQogICAgIHsKICAgICAgICAgc2V0dXBUd29TdHVi
QXJnc0dQUjxHUFJJbmZvOjphcmd1bWVudEdQUjAsIEdQUkluZm86OmFyZ3VtZW50R1BSMj4oYXJn
MSwgYXJnMyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L1JlcGF0Y2gu
Y3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9SZXBhdGNoLmNwcAppbmRleCA5NjJkMTZm
MDQ4N2M4MGU4ZDgzMjk0NWE2YTg2OTIxNTcxZThkNzBjLi4yN2QxMTNjMDU4MTcxMWViY2ZhYjFh
YmJkZmM1OWYwNWZlNWIzNzRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L1JlcGF0Y2guY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvUmVwYXRjaC5jcHAK
QEAgLTMwNSwxMSArMzA1LDE3IEBAIHN0YXRpYyBQcm90b0NoYWluR2VuZXJhdGlvblJlc3VsdCBn
ZW5lcmF0ZVByb3RvQ2hhaW5BY2Nlc3NTdHViKEV4ZWNTdGF0ZSogZXhlYywKICAgICAgICAgICAg
IHN0dWJKaXQuc2V0dXBBcmd1bWVudHMoY2FsbEZyYW1lUmVnaXN0ZXIsIHNjcmF0Y2hHUFIsIHJl
c3VsdEdQUik7CiAgICAgICAgICAgICBvcGVyYXRpb25GdW5jdGlvbiA9IG9wZXJhdGlvbkNhbGxH
ZXR0ZXI7CiAgICAgICAgIH0gZWxzZSB7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAgICAg
IC8vIEVuY29kZWRKU1ZhbHVlICgqR2V0VmFsdWVGdW5jKShFeGVjU3RhdGUqLCBFbmNvZGVkSlNW
YWx1ZSBzbG90QmFzZSwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpOwor
ICAgICAgICAgICAgc3R1YkppdC5zZXR1cEFyZ3VtZW50cyhjYWxsRnJhbWVSZWdpc3RlciwgTWFj
cm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW1QdHIocHJvdG9PYmplY3QpLCBzY3JhdGNoR1BSLCBNYWNy
b0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihwcm9wZXJ0eU5hbWUuaW1wbCgpKSk7CisgICAgICAg
ICAgICBvcGVyYXRpb25GdW5jdGlvbiA9IEZ1bmN0aW9uUHRyKHNsb3QuY3VzdG9tR2V0dGVyKCkp
OworI2Vsc2UKICAgICAgICAgICAgIHN0dWJKaXQubW92ZShNYWNyb0Fzc2VtYmxlcjo6VHJ1c3Rl
ZEltbVB0cihwcm90b09iamVjdCksIHNjcmF0Y2hHUFIpOwogICAgICAgICAgICAgc3R1YkppdC5z
ZXR1cEFyZ3VtZW50cyhjYWxsRnJhbWVSZWdpc3Rlciwgc2NyYXRjaEdQUiwKICAgICAgICAgICAg
ICAgICBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihGdW5jdGlvblB0cihzbG90LmN1c3Rv
bUdldHRlcigpKS5leGVjdXRhYmxlQWRkcmVzcygpKSwKICAgICAgICAgICAgICAgICBNYWNyb0Fz
c2VtYmxlcjo6VHJ1c3RlZEltbVB0cihwcm9wZXJ0eU5hbWUuaW1wbCgpKSk7CiAgICAgICAgICAg
ICBvcGVyYXRpb25GdW5jdGlvbiA9IG9wZXJhdGlvbkNhbGxDdXN0b21HZXR0ZXI7CisjZW5kaWYK
ICAgICAgICAgfQogCiAgICAgICAgIC8vIE5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgd2hlbmV2ZXIg
dGhpcyBjYWxsIGlzIG1hZGUgaW4gdGhlIGZ1dHVyZSwgd2UgcmVtZW1iZXIgdGhlCkBAIC02MDcs
MTEgKzYxMywxNyBAQCBzdGF0aWMgYm9vbCB0cnlCdWlsZEdldEJ5SURMaXN0KEV4ZWNTdGF0ZSog
ZXhlYywgSlNWYWx1ZSBiYXNlVmFsdWUsIGNvbnN0IElkZW50aQogICAgICAgICAgICAgICAgIHN0
dWJKaXQuc2V0dXBBcmd1bWVudHMoY2FsbEZyYW1lUmVnaXN0ZXIsIGJhc2VHUFIsIHNjcmF0Y2hH
UFIpOwogICAgICAgICAgICAgICAgIG9wZXJhdGlvbkZ1bmN0aW9uID0gb3BlcmF0aW9uQ2FsbEdl
dHRlcjsKICAgICAgICAgICAgIH0gZWxzZSB7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICAgICAg
ICAgICAgICAvLyBFbmNvZGVkSlNWYWx1ZSAoKkdldFZhbHVlRnVuYykoRXhlY1N0YXRlKiwgRW5j
b2RlZEpTVmFsdWUgc2xvdEJhc2UsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlO
YW1lKTsKKyAgICAgICAgICAgICAgICBzdHViSml0LnNldHVwQXJndW1lbnRzKGNhbGxGcmFtZVJl
Z2lzdGVyLCBiYXNlR1BSLCBiYXNlR1BSLCBNYWNyb0Fzc2VtYmxlcjo6VHJ1c3RlZEltbVB0cihp
ZGVudC5pbXBsKCkpKTsKKyAgICAgICAgICAgICAgICBvcGVyYXRpb25GdW5jdGlvbiA9IEZ1bmN0
aW9uUHRyKHNsb3QuY3VzdG9tR2V0dGVyKCkpOworI2Vsc2UKICAgICAgICAgICAgICAgICBzdHVi
Sml0LnNldHVwQXJndW1lbnRzKAogICAgICAgICAgICAgICAgICAgICBjYWxsRnJhbWVSZWdpc3Rl
ciwgYmFzZUdQUiwKICAgICAgICAgICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJ
bW1QdHIoRnVuY3Rpb25QdHIoc2xvdC5jdXN0b21HZXR0ZXIoKSkuZXhlY3V0YWJsZUFkZHJlc3Mo
KSksCiAgICAgICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKGlk
ZW50LmltcGwoKSkpOwogICAgICAgICAgICAgICAgIG9wZXJhdGlvbkZ1bmN0aW9uID0gb3BlcmF0
aW9uQ2FsbEN1c3RvbUdldHRlcjsKKyNlbmRpZgogICAgICAgICAgICAgfQogICAgICAgICAgICAg
CiAgICAgICAgICAgICAvLyBOZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IHdoZW5ldmVyIHRoaXMgY2Fs
bCBpcyBtYWRlIGluIHRoZSBmdXR1cmUsIHdlIHJlbWVtYmVyIHRoZQo=
</data>
<flag name="review"
          id="242996"
          type_id="1"
          status="+"
          setter="mhahnenberg"
    />
          </attachment>
      

    </bug>

</bugzilla>