<?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>216637</bug_id>
          
          <creation_ts>2020-09-16 23:00:26 -0700</creation_ts>
          <short_desc>[JSC] Optimize Promise#finally by avoiding creating multiple environments</short_desc>
          <delta_ts>2020-09-17 01:07:21 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>joepeck</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>ross.kirsling</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1689340</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-16 23:00:26 -0700</bug_when>
    <thetext>[JSC] Optimize Promise#finally by avoiding creating multiple environments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689342</commentid>
    <comment_count>1</comment_count>
      <attachid>408992</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-16 23:07:21 -0700</bug_when>
    <thetext>Created attachment 408992
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689350</commentid>
    <comment_count>2</comment_count>
      <attachid>408992</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2020-09-16 23:35:56 -0700</bug_when>
    <thetext>Comment on attachment 408992
Patch

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

Seems fine to me.

&gt; Source/JavaScriptCore/builtins/PromisePrototype.js:74
&gt; +        thenFinally = (0, /* prevent function name inference */ (value) =&gt; {

nit: Seems like this could be a line comment above? But I don&apos;t feel that strongly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689360</commentid>
    <comment_count>3</comment_count>
      <attachid>408992</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2020-09-16 23:54:29 -0700</bug_when>
    <thetext>Comment on attachment 408992
Patch

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

&gt;&gt; Source/JavaScriptCore/builtins/PromisePrototype.js:74
&gt;&gt; +        thenFinally = (0, /* prevent function name inference */ (value) =&gt; {
&gt; 
&gt; nit: Seems like this could be a line comment above? But I don&apos;t feel that strongly.

I think this is because `(0, expr)` looks super tricky, and this inlined comment helps readers to understand why this comma expression exists. I think this prefixed comment is nice for consistency since we are using this style in the other places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689382</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-09-17 01:06:05 -0700</bug_when>
    <thetext>Committed r267184: &lt;https://trac.webkit.org/changeset/267184&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 408992.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1689383</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-09-17 01:07:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/69049394&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>408992</attachid>
            <date>2020-09-16 23:07:21 -0700</date>
            <delta_ts>2020-09-17 01:06:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-216637-20200916230720.patch</filename>
            <type>text/plain</type>
            <size>3083</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY3MTgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBm
YWU0NzU3OGVlNGMzNmI3YjA2YzI2ZjEzYzdhYzM3ZTZkMzQ1ODUzLi5mYzYzYTY1ZThjMWQ4NzQz
MTdiOWRjNGNmNGY3YTA3MDg1Mjc1NTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAyMC0wOS0xNiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29t
PgorCisgICAgICAgIFtKU0NdIE9wdGltaXplIFByb21pc2UjZmluYWxseSBieSBhdm9pZGluZyBj
cmVhdGluZyBtdWx0aXBsZSBlbnZpcm9ubWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIxNjYzNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIExldCdzIGp1c3QgY3JlYXRlIGZ1bmN0aW9ucyBpbnNpZGUg
UHJvbWlzZSNmaW5hbGx5LiBUaGlzIGF2b2lkcyBjcmVhdGluZworICAgICAgICBtdWx0aXBsZSBs
ZXhpY2FsIGVudmlyb25tZW50cyB0aGF0IGFyZSBjYXB0dXJlZCBieSBlYWNoIGZ1bmN0aW9uLgor
CisgICAgICAgICogYnVpbHRpbnMvUHJvbWlzZVByb3RvdHlwZS5qczoKKyAgICAgICAgKGZpbmFs
bHkpOgorICAgICAgICAoZ2xvYmFsUHJpdmF0ZS5nZXRUaGVuRmluYWxseSk6IERlbGV0ZWQuCisg
ICAgICAgIChnbG9iYWxQcml2YXRlLmdldENhdGNoRmluYWxseSk6IERlbGV0ZWQuCisKIDIwMjAt
MDktMTYgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3Qg
SUMgYSBudWxsIGN1c3RvbSBhY2Nlc3Nvci92YWx1ZSBzZXR0ZXIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9idWlsdGlucy9Qcm9taXNlUHJvdG90eXBlLmpzIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J1aWx0aW5zL1Byb21pc2VQcm90b3R5cGUuanMKaW5kZXggMDI0M2Q1MGU4
NmMyZjVmMTliMzE4YjliZmM3OTg1MzAyMmRmM2EzZC4uZGZmMmNkNGJiZTZmMDNhMGVhYTdlMzM5
MDVjMDQ1ODczZmQwMGQ3OSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0
aW5zL1Byb21pc2VQcm90b3R5cGUuanMKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2J1aWx0
aW5zL1Byb21pc2VQcm90b3R5cGUuanMKQEAgLTcxLDQzICs3MSwyNSBAQCBmdW5jdGlvbiBmaW5h
bGx5KG9uRmluYWxseSkKICAgICAgICAgdGhlbkZpbmFsbHkgPSBvbkZpbmFsbHk7CiAgICAgICAg
IGNhdGNoRmluYWxseSA9IG9uRmluYWxseTsKICAgICB9IGVsc2UgewotICAgICAgICB0aGVuRmlu
YWxseSA9IEBnZXRUaGVuRmluYWxseShvbkZpbmFsbHksIGNvbnN0cnVjdG9yKTsKLSAgICAgICAg
Y2F0Y2hGaW5hbGx5ID0gQGdldENhdGNoRmluYWxseShvbkZpbmFsbHksIGNvbnN0cnVjdG9yKTsK
LSAgICB9CisgICAgICAgIHRoZW5GaW5hbGx5ID0gKDAsIC8qIHByZXZlbnQgZnVuY3Rpb24gbmFt
ZSBpbmZlcmVuY2UgKi8gKHZhbHVlKSA9PiB7CisgICAgICAgICAgICBAYXNzZXJ0KEBpc0NhbGxh
YmxlKG9uRmluYWxseSkpOworICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG9uRmluYWxseSgpOwog
Ci0gICAgcmV0dXJuIHRoaXMudGhlbih0aGVuRmluYWxseSwgY2F0Y2hGaW5hbGx5KTsKLX0KKyAg
ICAgICAgICAgIEBhc3NlcnQoQGlzQ29uc3RydWN0b3IoY29uc3RydWN0b3IpKTsKKyAgICAgICAg
ICAgIHZhciBwcm9taXNlID0gQHByb21pc2VSZXNvbHZlKGNvbnN0cnVjdG9yLCByZXN1bHQpOwog
Ci1AZ2xvYmFsUHJpdmF0ZQotZnVuY3Rpb24gZ2V0VGhlbkZpbmFsbHkob25GaW5hbGx5LCBjb25z
dHJ1Y3RvcikKLXsKLSAgICAidXNlIHN0cmljdCI7Ci0KLSAgICByZXR1cm4gKHZhbHVlKSA9Pgot
ICAgIHsKLSAgICAgICAgQGFzc2VydChAaXNDYWxsYWJsZShvbkZpbmFsbHkpKTsKLSAgICAgICAg
dmFyIHJlc3VsdCA9IG9uRmluYWxseSgpOworICAgICAgICAgICAgcmV0dXJuIHByb21pc2UudGhl
bigoKSA9PiB2YWx1ZSk7CisgICAgICAgIH0pOworICAgICAgICBjYXRjaEZpbmFsbHkgPSAoMCwg
LyogcHJldmVudCBmdW5jdGlvbiBuYW1lIGluZmVyZW5jZSAqLyAocmVhc29uKSA9PiB7CisgICAg
ICAgICAgICBAYXNzZXJ0KEBpc0NhbGxhYmxlKG9uRmluYWxseSkpOworICAgICAgICAgICAgdmFy
IHJlc3VsdCA9IG9uRmluYWxseSgpOwogCi0gICAgICAgIEBhc3NlcnQoQGlzQ29uc3RydWN0b3Io
Y29uc3RydWN0b3IpKTsKLSAgICAgICAgdmFyIHByb21pc2UgPSBAcHJvbWlzZVJlc29sdmUoY29u
c3RydWN0b3IsIHJlc3VsdCk7CisgICAgICAgICAgICBAYXNzZXJ0KEBpc0NvbnN0cnVjdG9yKGNv
bnN0cnVjdG9yKSk7CisgICAgICAgICAgICB2YXIgcHJvbWlzZSA9IEBwcm9taXNlUmVzb2x2ZShj
b25zdHJ1Y3RvciwgcmVzdWx0KTsKIAotICAgICAgICByZXR1cm4gcHJvbWlzZS50aGVuKCgpID0+
IHZhbHVlKTsKKyAgICAgICAgICAgIHJldHVybiBwcm9taXNlLnRoZW4oKCkgPT4geyB0aHJvdyBy
ZWFzb247IH0pOworICAgICAgICB9KTsKICAgICB9Ci19CiAKLUBnbG9iYWxQcml2YXRlCi1mdW5j
dGlvbiBnZXRDYXRjaEZpbmFsbHkob25GaW5hbGx5LCBjb25zdHJ1Y3RvcikKLXsKLSAgICAidXNl
IHN0cmljdCI7Ci0KLSAgICByZXR1cm4gKHJlYXNvbikgPT4KLSAgICB7Ci0gICAgICAgIEBhc3Nl
cnQoQGlzQ2FsbGFibGUob25GaW5hbGx5KSk7Ci0gICAgICAgIHZhciByZXN1bHQgPSBvbkZpbmFs
bHkoKTsKLQotICAgICAgICBAYXNzZXJ0KEBpc0NvbnN0cnVjdG9yKGNvbnN0cnVjdG9yKSk7Ci0g
ICAgICAgIHZhciBwcm9taXNlID0gQHByb21pc2VSZXNvbHZlKGNvbnN0cnVjdG9yLCByZXN1bHQp
OwotCi0gICAgICAgIHJldHVybiBwcm9taXNlLnRoZW4oKCkgPT4geyB0aHJvdyByZWFzb247IH0p
OwotICAgIH0KKyAgICByZXR1cm4gdGhpcy50aGVuKHRoZW5GaW5hbGx5LCBjYXRjaEZpbmFsbHkp
OwogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>