Support generators in self-hosted code
Categories
(Core :: JavaScript Engine, task, P1)
Tracking
()
Tracking | Status | |
---|---|---|
firefox79 | --- | fixed |
People
(Reporter: avandolder, Assigned: jorendorff)
References
Details
Attachments
(6 files)
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review | |
47 bytes,
text/x-phabricator-request
|
Details | Review |
Generator functions currently can't be defined in self-hosted code, as they requires the Iterator prototype to be already defined, leading to the following error when attempting to run the JS console:
Assertion failure: shape, at /js/src/vm/SelfHosting.cpp:2763
Assignee | ||
Comment 1•4 years ago
|
||
The first hurdle is to stop giving prototypes to self-hosted functions that live in the self-hosted realm. That part is easy.
The second hurdle is to make JSFunction::generatorKind()
work for lazy self-hosted functions.
Assignee | ||
Comment 2•4 years ago
|
||
Assignee | ||
Comment 3•4 years ago
|
||
Depends on D75219
Assignee | ||
Comment 4•4 years ago
|
||
Work-in-progress patches. Still failing a few warp tests, but Adam, if you apply these locally, you should be able to get a little farther at least.
Assignee | ||
Updated•4 years ago
|
Updated•4 years ago
|
Updated•4 years ago
|
Assignee | ||
Comment 5•4 years ago
|
||
Depends on D75220
Assignee | ||
Comment 6•4 years ago
|
||
Depends on D76336
Assignee | ||
Comment 7•4 years ago
|
||
Depends on D76337
Assignee | ||
Comment 8•4 years ago
|
||
Depends on D75219
Pushed by jorendorff@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/c424830cdaf9 Part 1: Support self-hosted builtins possibly being generators in JSFunction::generatorKind(). r=tcampbell. https://hg.mozilla.org/integration/autoland/rev/b0dd4d14f584 Part 1.1: Make some functions to access uncloned self-hosted values infallible. r=tcampbell. https://hg.mozilla.org/integration/autoland/rev/d119bd2522d8 Part 2: Prevent runaway recursion when compiling self-hosted generators. r=tcampbell. https://hg.mozilla.org/integration/autoland/rev/9f6e9f146c37 Part 3: Delete an unused argument. r=tcampbell. https://hg.mozilla.org/integration/autoland/rev/da3acd236f47 Part 4: Select the correct [[Prototype]] for self-hosted functions, based on kind. r=tcampbell. https://hg.mozilla.org/integration/autoland/rev/8acea7464a54 Part 5: Prevent runaway recursion setting up %IteratorPrototype%. r=tcampbell.
Comment 10•4 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/c424830cdaf9
https://hg.mozilla.org/mozilla-central/rev/b0dd4d14f584
https://hg.mozilla.org/mozilla-central/rev/d119bd2522d8
https://hg.mozilla.org/mozilla-central/rev/9f6e9f146c37
https://hg.mozilla.org/mozilla-central/rev/da3acd236f47
https://hg.mozilla.org/mozilla-central/rev/8acea7464a54
Description
•