<?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>146431</bug_id>
          
          <creation_ts>2015-06-29 15:12:34 -0700</creation_ts>
          <short_desc>Allow object allocation sinking through GetScope, GetExecutable and SkipScope nodes</short_desc>
          <delta_ts>2015-06-30 15:43:59 -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>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="Basile Clement">basile_clement</reporter>
          <assigned_to name="Basile Clement">basile_clement</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1105522</commentid>
    <comment_count>0</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-06-29 15:12:34 -0700</bug_when>
    <thetext>We are currently considering GetScope, GetExecutable and SkipScope nodes as blocking sinking of function and allocations, while this definitely shouldn&apos;t be the case.
This is a ~10% speedup on octane/earley (Conf#1 is ToT, Conf#2 is ToT w/ this patch):

Collected 6 samples per benchmark/VM, with 6 VM invocations per benchmark. Emitted a call to gc()
between sample measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used the
jsc-specific preciseTime() function to get microsecond-level timing. Reporting benchmark execution
times with 95% confidence intervals in milliseconds.

                             Conf#1                    Conf#2                                      

encrypt                 0.31553+-0.00094          0.31282+-0.00553       
decrypt                 5.12296+-0.00708          5.12107+-0.00895       
deltablue      x2       0.24604+-0.00074    ?     0.24641+-0.00151       ?
earley                  0.48200+-0.00316    ^     0.42697+-0.00062       ^ definitely 1.1289x faster
boyer                   6.69585+-0.01114    ?     6.69660+-0.01937       ?
navier-stokes  x2       6.99958+-0.00259          6.99893+-0.00333       
raytrace       x2       1.54523+-0.06374    ?     1.55159+-0.05032       ?
richards       x2       0.16939+-0.00249          0.16901+-0.00175       
splay          x2       0.48342+-0.00306          0.48300+-0.00416       
regexp         x2      36.77174+-0.17936         36.63545+-0.07532       
pdfjs          x2      55.24960+-0.27697         55.16416+-0.33324       
mandreel       x2      68.13311+-0.22945         68.00004+-0.15431       
gbemu          x2      59.30592+-0.40256         58.82190+-1.22108       
closure                 0.87790+-0.00269    ?     0.87852+-0.00340       ?
jquery                 11.57117+-0.11659         11.52107+-0.03844       
box2d          x2      16.72202+-0.06821    ?    16.73307+-0.04231       ?
zlib           x2     516.09832+-21.15309   ?   516.42894+-18.65591      ?
typescript     x2    1066.03271+-11.93493   ?  1074.22778+-7.63335       ?

&lt;geometric&gt;             8.68007+-0.02685          8.63929+-0.03370         might be 1.0047x faster</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105523</commentid>
    <comment_count>1</comment_count>
      <attachid>255783</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-06-29 15:13:29 -0700</bug_when>
    <thetext>Created attachment 255783
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105850</commentid>
    <comment_count>2</comment_count>
      <attachid>255783</attachid>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-06-30 15:19:58 -0700</bug_when>
    <thetext>Comment on attachment 255783
Patch

Clearing flags on attachment: 255783

Committed r186136: &lt;http://trac.webkit.org/changeset/186136&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105851</commentid>
    <comment_count>3</comment_count>
    <who name="Basile Clement">basile_clement</who>
    <bug_when>2015-06-30 15:20:02 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105872</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-06-30 15:43:59 -0700</bug_when>
    <thetext>Nice!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>255783</attachid>
            <date>2015-06-29 15:13:29 -0700</date>
            <delta_ts>2015-06-30 15:19:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-146431-20150629151239.patch</filename>
            <type>text/plain</type>
            <size>4247</size>
            <attacher name="Basile Clement">basile_clement</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg2MDgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
MjNjMGNkNjgxYWJhZjhhNzM5MzFjNmY3OWQwYzk0OWQ1NzIwOGQzLi5jMDFiYzM2YmY0ODQ2YWVl
ZTE1YTE5NzRhYzFhZmZiNWZjOGQ1MjczIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNS0wNi0yOSAgQmFzaWxlIENsZW1lbnQgIDxiYXNpbGVfY2xlbWVudEBh
cHBsZS5jb20+CisKKyAgICAgICAgQWxsb3cgb2JqZWN0IGFsbG9jYXRpb24gc2lua2luZyB0aHJv
dWdoIEdldFNjb3BlLCBHZXRFeGVjdXRhYmxlIGFuZCBTa2lwU2NvcGUgbm9kZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NjQzMQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZGZnL0RGR05vZGUuaDoK
KyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjppc0Z1bmN0aW9uQWxsb2NhdGlvbik6CisgICAgICAg
IChKU0M6OkRGRzo6Tm9kZTo6aXNQaGFudG9tRnVuY3Rpb25BbGxvY2F0aW9uKToKKyAgICAgICAg
KiBkZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6T2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZTo6aGFuZGxlTm9kZSk6CisgICAgICAg
ICogZGZnL0RGR1Byb21vdGVIZWFwQWNjZXNzLmg6CisgICAgICAgIChKU0M6OkRGRzo6cHJvbW90
ZUhlYXBBY2Nlc3MpOgorCiAyMDE1LTA2LTI5ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uLmZhYmxl
dEBjcmYuY2Fub24uZnI+CiAKICAgICAgICAgQmluZGluZyBnZW5lcmF0b3Igc2hvdWxkIGFsbG93
IHVzaW5nIEpTQzo6VmFsdWUgZm9yICJhbnkiIHBhcmFtZXRlciBpbiBsaWV1IG9mIFNjcmlwdFZh
bHVlCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCmluZGV4IDViZWZkODM5ZWM4MzY4YTRm
N2Q4ODJhN2QzZjJiMjU2NGU2ZWQ4ZDkuLjljYTJjZGM2ODE4YTIzYmMyYTZiN2MxMzYzMGM0Yjky
MmJiZWQzMWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCkBAIC0xNDg5LDYgKzE0
ODksMjYgQEAgc3RydWN0IE5vZGUgewogICAgICAgICB9CiAgICAgfQogCisgICAgYm9vbCBpc0Z1
bmN0aW9uQWxsb2NhdGlvbigpCisgICAgeworICAgICAgICBzd2l0Y2ggKG9wKCkpIHsKKyAgICAg
ICAgY2FzZSBOZXdGdW5jdGlvbjoKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBk
ZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAgfQorCisg
ICAgYm9vbCBpc1BoYW50b21GdW5jdGlvbkFsbG9jYXRpb24oKQorICAgIHsKKyAgICAgICAgc3dp
dGNoIChvcCgpKSB7CisgICAgICAgIGNhc2UgUGhhbnRvbU5ld0Z1bmN0aW9uOgorICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIH0KKyAgICB9CisKICAgICBib29sIGlzUGhhbnRvbUFsbG9jYXRpb24oKQog
ICAgIHsKICAgICAgICAgc3dpdGNoIChvcCgpKSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPYmplY3RBbGxvY2F0aW9uU2lua2luZ1BoYXNlLmNwcApp
bmRleCAwNDBkNTc4MWRlMjUyY2UxZWFjZjE3Y2RkOTcxOThmNGFmYjUwNTkyLi40MjIzODJmZjI5
ZDE3OTc1YmJmMmYxODNiNjc4MTFhNTg4ZWY1NmM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR09iamVjdEFsbG9jYXRpb25TaW5raW5nUGhhc2UuY3BwCisrKyBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT2JqZWN0QWxsb2NhdGlvblNpbmtpbmdQaGFzZS5j
cHAKQEAgLTkxNCw2ICs5MTQsMjcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgIGVzY2FwZShub2Rl
LT5jaGlsZDIoKS5ub2RlKCkpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KKworICAg
ICAgICBjYXNlIEdldFNjb3BlOiB7CisgICAgICAgICAgICBOb2RlKiB0YXJnZXQgPSBub2RlLT5j
aGlsZDEoKS5ub2RlKCk7CisgICAgICAgICAgICBpZiAoIXRhcmdldC0+aXNGdW5jdGlvbkFsbG9j
YXRpb24oKSkKKyAgICAgICAgICAgICAgICBlc2NhcGUodGFyZ2V0KTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2FzZSBHZXRFeGVjdXRhYmxlOiB7CisgICAgICAg
ICAgICBOb2RlKiB0YXJnZXQgPSBub2RlLT5jaGlsZDEoKS5ub2RlKCk7CisgICAgICAgICAgICBp
ZiAoIXRhcmdldC0+aXNGdW5jdGlvbkFsbG9jYXRpb24oKSkKKyAgICAgICAgICAgICAgICBlc2Nh
cGUodGFyZ2V0KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisKKyAgICAgICAgY2Fz
ZSBTa2lwU2NvcGU6IHsKKyAgICAgICAgICAgIE5vZGUqIHRhcmdldCA9IG5vZGUtPmNoaWxkMSgp
Lm5vZGUoKTsKKyAgICAgICAgICAgIGlmICghdGFyZ2V0LT5pc0FjdGl2YXRpb25BbGxvY2F0aW9u
KCkpCisgICAgICAgICAgICAgICAgZXNjYXBlKHRhcmdldCk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgfQogICAgICAgICAgICAgCiAgICAgICAgIGNhc2UgTXVsdGlQdXRCeU9mZnNldDoK
ICAgICAgICAgICAgIC8vIEZJWE1FOiBJbiB0aGUgZnV0dXJlIHdlIHNob3VsZCBiZSBhYmxlIHRv
IGhhbmRsZSB0aGlzLiBJdCdzIGp1c3QgYSBtYXR0ZXIgb2YKZGlmZiAtLWdpdCBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHUHJvbW90ZUhlYXBBY2Nlc3MuaCBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHUHJvbW90ZUhlYXBBY2Nlc3MuaAppbmRleCAwMThjM2IxNzQ5NzdmNzdl
NzJhZjRkZWUxOTlkZTA2ZjVkYjBjZTJjLi4yYmYyODc1YzFjZTU4NjFiZjQ2YzZjYmJiMmM0ZTQ5
N2RkNmFiYTY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Byb21v
dGVIZWFwQWNjZXNzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcm9tb3Rl
SGVhcEFjY2Vzcy5oCkBAIC02NCw3ICs2NCwyMiBAQCB2b2lkIHByb21vdGVIZWFwQWNjZXNzKE5v
ZGUqIG5vZGUsIGNvbnN0IFdyaXRlRnVuY3RvciYgd3JpdGUsIGNvbnN0IFJlYWRGdW5jdG9yJgog
ICAgICAgICBpZiAobm9kZS0+Y2hpbGQxKCktPmlzUGhhbnRvbUFjdGl2YXRpb25BbGxvY2F0aW9u
KCkpCiAgICAgICAgICAgICByZWFkKFByb21vdGVkSGVhcExvY2F0aW9uKENsb3N1cmVWYXJQTG9j
LCBub2RlLT5jaGlsZDEoKSwgbm9kZS0+c2NvcGVPZmZzZXQoKS5vZmZzZXQoKSkpOwogICAgICAg
ICBicmVhazsKLSAgICAgICAgCisKKyAgICBjYXNlIFNraXBTY29wZToKKyAgICAgICAgaWYgKG5v
ZGUtPmNoaWxkMSgpLT5pc1BoYW50b21BY3RpdmF0aW9uQWxsb2NhdGlvbigpKQorICAgICAgICAg
ICAgcmVhZChQcm9tb3RlZEhlYXBMb2NhdGlvbihBY3RpdmF0aW9uU2NvcGVQTG9jLCBub2RlLT5j
aGlsZDEoKSkpOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgR2V0U2NvcGU6CisgICAgICAg
IGlmIChub2RlLT5jaGlsZDEoKS0+aXNQaGFudG9tRnVuY3Rpb25BbGxvY2F0aW9uKCkpCisgICAg
ICAgICAgICByZWFkKFByb21vdGVkSGVhcExvY2F0aW9uKEZ1bmN0aW9uQWN0aXZhdGlvblBMb2Ms
IG5vZGUtPmNoaWxkMSgpKSk7CisgICAgICAgIGJyZWFrOworCisgICAgY2FzZSBHZXRFeGVjdXRh
YmxlOgorICAgICAgICBpZiAobm9kZS0+Y2hpbGQxKCktPmlzUGhhbnRvbUZ1bmN0aW9uQWxsb2Nh
dGlvbigpKQorICAgICAgICAgICAgcmVhZChQcm9tb3RlZEhlYXBMb2NhdGlvbihGdW5jdGlvbkV4
ZWN1dGFibGVQTG9jLCBub2RlLT5jaGlsZDEoKSkpOworICAgICAgICBicmVhazsKKwogICAgIGNh
c2UgUHV0SGludDogewogICAgICAgICBBU1NFUlQobm9kZS0+Y2hpbGQxKCktPmlzUGhhbnRvbUFs
bG9jYXRpb24oKSk7CiAgICAgICAgIHdyaXRlKAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>