Closed Bug 1705819 Opened 4 years ago Closed 4 years ago

Resolve _SetIsInlinableLargeFunction at parse time

Categories

(Core :: JavaScript Engine, task, P1)

task

Tracking

()

RESOLVED FIXED
90 Branch
Tracking Status
firefox90 --- fixed

People

(Reporter: tcampbell, Assigned: tcampbell)

References

Details

Attachments

(1 file)

The self-hosting intrinsic, _SetIsInlinableLargeFunction, is used to add flags to a target function (much like a decorator), but currently is processed when the top-level self-hosted.js file is executed rather than at parse time. This means a mutable flag is needed and extra care must be taken to copy it correctly.

Instead, we can process this at BCE-time and make the flag immutable. This will also enable Bug 1688794 to clone more things directly from the stencil.

Use the existing intrinsic function call processing of self-hosting, the BCE
can also resolve _SetIsInlinableLargeFunction. To do this, we also track the
latest top-level FunctionBox that was processed to allow easily updating
flags without a dedicated hashmap. This change lets us make the flag
immutable now.

Pushed by tcampbell@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/109b9e93819d Resolve _SetIsInlinableLargeFunction during BCE. r=arai
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 90 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: