Closed Bug 1800724 Opened 3 years ago Closed 2 years 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: