Intent to ship: Optimize await and AsyncFromSyncIterator

36 views
Skip to first unread message

Maya Lekova

unread,
Sep 28, 2018, 2:44:32 PM9/28/18
to v8-u...@googlegroups.com, blin...@chromium.org, ad...@chromium.org

Contact emails

msle...@chromium.org


Explainer

https://docs.google.com/document/d/1kL08cz4lR6gO5b2FATNK3QAfS8t-6K6kdk88U-n8tug/edit?usp=sharing


Spec

The ECMAScript specification change reached consensus. Pull request: https://github.com/tc39/ecma262/pull/1250


The tag review process is not needed, TC39 consensus was reached instead.


Summary

The goal of this change is to reduce the native “await” functionality to only take 1 tick on the microtask queue instead of 3.


Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes.


Risks

Interoperability and Compatibility


Edge: Shipped

Firefox: No signals

Safari: No signals

Web developers: Shouldn’t affect web developers, as most of them transpile away async/await and Babel already ships with the new behaviour.


Activation

The new behaviour won’t affect the way async/await is being used.


Is this feature fully tested by web-platform-tests?

Test262 tests are being implemented. We have related tests in the V8 repository in

test/inspector/debugger.


Entry on the feature dashboard

Fits under https://www.chromestatus.com/feature/5643236399906816, as this is simply an errata to the spec.


---
Best regards,
Maya

Sathya Gunasekaran

unread,
Sep 28, 2018, 6:39:32 PM9/28/18
to msle...@chromium.org, v8-users, blink-dev, Adam Klein
LGTM

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAFszerUqYez-STtMj1kEkjP1M%2BGm%2Bd07E7RNcY3%3DXn9rwZ57yQ%40mail.gmail.com.

Sathya Gunasekaran

unread,
Sep 28, 2018, 6:45:01 PM9/28/18
to msle...@chromium.org, v8-users, blink-dev, Adam Klein
On Fri, Sep 28, 2018 at 6:39 PM Sathya Gunasekaran <gsa...@chromium.org> wrote:
LGTM

On Fri, Sep 28, 2018 at 7:57 AM Maya Lekova <msle...@chromium.org> wrote:

Contact emails

msle...@chromium.org


Explainer

https://docs.google.com/document/d/1kL08cz4lR6gO5b2FATNK3QAfS8t-6K6kdk88U-n8tug/edit?usp=sharing


Spec

The ECMAScript specification change reached consensus. Pull request: https://github.com/tc39/ecma262/pull/1250


The tag review process is not needed, TC39 consensus was reached instead.


Summary

The goal of this change is to reduce the native “await” functionality to only take 1 tick on the microtask queue instead of 3.


Is this feature supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?

Yes.


Risks

Interoperability and Compatibility


Edge: Shipped

Firefox: No signals

Safari: No signals

Web developers: Shouldn’t affect web developers, as most of them transpile away async/await and Babel already ships with the new behaviour.



Note: There's a web compat risk as this changes the observable order in which promises created by async functions are resolved. Chrome plans to ship this with a kill switch in case we hear about breakages in the wild. 

We've decided not to add a use counter for this as it will lead to unacceptable performance regressions.
Reply all
Reply to author
Forward
0 new messages