Closed Bug 1800724 Opened 1 year ago Closed 4 months ago

Implement DecoratorEmitter::emitCreateAddInitializerFunction

Categories

(Core :: JavaScript Engine, enhancement, P2)

enhancement

Tracking

()

RESOLVED FIXED
122 Branch
Tracking Status
firefox122 --- fixed

People

(Reporter: dminor, Assigned: dminor)

References

(Blocks 5 open bugs)

Details

Attachments

(11 files, 3 obsolete 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
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

A DecoratorEmitter is being added as part of Bug 1793959. The implementation of emitCreateAddInitializerFunction is complicated enough to break out into a follow up bug.

Assignee: nobody → dminor
Status: NEW → ASSIGNED
Attachment #9322377 - Attachment is obsolete: true

When I first filed this bug, I thought there was only one set of extra initializers, similar to the current .initializers, but it runs out they can be added for static fields and at the class level as well. Since this is turning into a big project, I'm going to split out support for static and class extra initializers into follow up bugs.

Blocks: 1868220
Blocks: 1868221
Blocks: 1868461
Blocks: 1868841
Blocks: 1869000

We'll want to be able to use this while generating the function code for addInitializer,
so we need to be able to specify the BytecodeEmitter to use.

Depends on D195918

Attachment #9356875 - Attachment is obsolete: true
Attachment #9353963 - Attachment is obsolete: true
Blocks: 1869587
Attachment #9367705 - Attachment description: Bug 1800724 - Add properties for extra initializers; r=arai → Bug 1800724 - Add properties for instance extra initializers; r=arai
Attachment #9367709 - Attachment description: Bug 1800724 - Allow emitCheckIsCallable to take BytecodeEmitter as a parameter; r=arai! → Bug 1800724 - Move emitCheckIsCallable to BytecodeEmitter; r=arai!
Pushed by dminor@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/35620d1f3d31
Add properties for instance extra initializers; r=arai
https://hg.mozilla.org/integration/autoland/rev/f10f9cab1395
Add synthesizeAddInitializerFunction to Parser; r=arai
https://hg.mozilla.org/integration/autoland/rev/8510ebb4bc51
Prepare for extra initializers in ObjectEmitter; r=arai
https://hg.mozilla.org/integration/autoland/rev/7bfbd3878605
Call prepareForExtraInitializers in BytecodeEmitter; r=arai
https://hg.mozilla.org/integration/autoland/rev/3b59324b7194
Move emitCheckIsCallable to BytecodeEmitter; r=arai
https://hg.mozilla.org/integration/autoland/rev/7bb98802a27b
Implement DecoratorEmitter::emitCreateAddInitializerFunction; r=arai
https://hg.mozilla.org/integration/autoland/rev/4905307036cd
Pass addInitializerFunction on stack to emitCreateDecoratorContextObject; r=arai
https://hg.mozilla.org/integration/autoland/rev/5790563a32c5
Use DecoratorEmitter::emitCreateAddInitializerFunction for non-static fields in BytecodeEmitter; r=arai
https://hg.mozilla.org/integration/autoland/rev/d2d10d00585b
Implement DecoratorEmitter::emitCallExtraInitializers; r=arai
https://hg.mozilla.org/integration/autoland/rev/67c0d6dc77af
Use DecoratorEmitter::emitCallExtraInitializers in BytecodeEmitter; r=arai
https://hg.mozilla.org/integration/autoland/rev/847f583eeaaa
Update references to follow up bug for emitDecorationState and emitUpdateDecorationState; r=arai
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: