Code generation for accessor decorators
Categories
(Core :: JavaScript Engine, enhancement, P2)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox117 | --- | fixed |
People
(Reporter: dminor, Assigned: dminor)
References
(Blocks 2 open bugs)
Details
Attachments
(6 files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
Code generation for decorators is likely to be complicated, so we'll split it into multiple bugs. This bug covers code generation for accessor decorators.
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Updated•3 years ago
|
| Assignee | ||
Comment 1•3 years ago
|
||
Previously, we were associating the decorators with the new getter and setter that
were created for the accessor, but for code generation purposes, we want them to be
associated the underlying accessor storage.
| Assignee | ||
Comment 2•3 years ago
|
||
The existing code had a bug where the static decorators were being used to
initialize static fields as though they were instance fields. This fixes that
bug and adds the code necessary to run the static decorators to add static
initializers.
Depends on D182080
| Assignee | ||
Comment 3•3 years ago
|
||
Depends on D182081
| Assignee | ||
Comment 4•3 years ago
|
||
We should only create an initializer if the private accessor is not static.
Depends on D182082
| Assignee | ||
Comment 5•3 years ago
|
||
Depends on D182083
| Assignee | ||
Comment 6•3 years ago
|
||
We need an IsObject test for the decorators implementation. We already
support this in the interpreter and in the jits, so adding the opcode
is straightforward.
Depends on D182083
Updated•3 years ago
|
Comment 8•3 years ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/246c79c06ccc
https://hg.mozilla.org/mozilla-central/rev/090f6bd36035
https://hg.mozilla.org/mozilla-central/rev/cef773277d52
https://hg.mozilla.org/mozilla-central/rev/c275cb67393a
https://hg.mozilla.org/mozilla-central/rev/787edb38b936
https://hg.mozilla.org/mozilla-central/rev/947a9303000e
Description
•