New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

async/await, this time with feeling [M1185106] #521

Open
classilla opened this Issue Sep 15, 2018 · 5 comments

Comments

Projects
None yet
1 participant
@classilla
Owner

classilla commented Sep 15, 2018

A number of broken sites rely on this functionality, and it just made it into Fx52. I'm not 100% sure it's doable, but reviewing the changesets suggest that much of it should work sans the Annex B portions.

https://bugzilla.mozilla.org/show_bug.cgi?id=1185106
(note deps)

classilla added a commit that referenced this issue Sep 15, 2018

classilla added a commit that referenced this issue Sep 15, 2018

@classilla

This comment has been minimized.

Show comment
Hide comment
@classilla

classilla Sep 16, 2018

Owner

We need to implement JS Promises :/

Owner

classilla commented Sep 16, 2018

We need to implement JS Promises :/

@classilla

This comment has been minimized.

Show comment
Hide comment
@classilla

classilla Sep 16, 2018

Owner

The C++ version used here seems to originate from https://hg.mozilla.org/mozilla-central/rev/309ecb16acfe ( https://bugzilla.mozilla.org/show_bug.cgi?id=1313049 )

However, the root implementation it descends from is here: https://bugzilla.mozilla.org/show_bug.cgi?id=911216
That is a nightmare.

Owner

classilla commented Sep 16, 2018

The C++ version used here seems to originate from https://hg.mozilla.org/mozilla-central/rev/309ecb16acfe ( https://bugzilla.mozilla.org/show_bug.cgi?id=1313049 )

However, the root implementation it descends from is here: https://bugzilla.mozilla.org/show_bug.cgi?id=911216
That is a nightmare.

@classilla

This comment has been minimized.

Show comment
Hide comment
@classilla

classilla Sep 16, 2018

Owner

https://bug911216.bmoattachments.org/attachment.cgi?id=8727872 contains the base implementation plus some tests. We could ignore all the builtin/Promise.* stuff and just use the ones from 52ESR. The jsapi.* changes would generally apply with the differences in InvokeArgs and this version does implement js::CallSelfHostedFunction for us.

However, the changes in vm/SelfHosting.cpp are different from what is in ESR52. This would be a very big merge job.

Owner

classilla commented Sep 16, 2018

https://bug911216.bmoattachments.org/attachment.cgi?id=8727872 contains the base implementation plus some tests. We could ignore all the builtin/Promise.* stuff and just use the ones from 52ESR. The jsapi.* changes would generally apply with the differences in InvokeArgs and this version does implement js::CallSelfHostedFunction for us.

However, the changes in vm/SelfHosting.cpp are different from what is in ESR52. This would be a very big merge job.

@classilla

This comment has been minimized.

Show comment
Hide comment
@classilla

classilla Sep 16, 2018

Owner

Aborting the current parser work while I think this over. The other patches should be webcompatible.
aborted_521.txt

Owner

classilla commented Sep 16, 2018

Aborting the current parser work while I think this over. The other patches should be webcompatible.
aborted_521.txt

@classilla

This comment has been minimized.

Show comment
Hide comment
@classilla

classilla Sep 17, 2018

Owner

Let's use the machinery we do have to at least generate a warning when such functions are encountered.

At least we have DOM Promises so that's something (except finally which is probably not the issue at hand).

Owner

classilla commented Sep 17, 2018

Let's use the machinery we do have to at least generate a warning when such functions are encountered.

At least we have DOM Promises so that's something (except finally which is probably not the issue at hand).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment