Closed Bug 1803527 Opened 1 year ago Closed 1 year ago

Finish call site object when instantiating the stencil

Categories

(Core :: JavaScript Engine, task)

task

Tracking

()

RESOLVED FIXED
109 Branch
Tracking Status
firefox109 --- fixed

People

(Reporter: jandem, Assigned: jandem)

Details

Attachments

(1 file)

We currently store two array objects in the script. The first time the JSOp::CallSiteObj op executes, we define the .raw property and freeze both arrays in ProcessCallSiteObjOperation. This used to be hard to improve due to script cloning and XDR.

After all the Stencil changes, we can now do this step when we instantiate the Stencil, when we create the arrays. JSOp::CallSiteObj then becomes a much simpler bytecode op (almost identical to JSOp::Object).

We were storing two arrays in the script's gc-thing list. The first time the
JSOp::CallSiteObj op executed, we defined the .raw property and froze both
arrays, in ProcessCallSiteObjOperation.

After all the Stencil work, we can now do this step when we instantiate then Stencil.
JSOp::CallSiteObj then becomes just like JSOp::Object, it pushes the call
site object (we can't reuse JSOp::Object because it has extra run-once assertions).

Pushed by jdemooij@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/dabe9a3dd556
Finish call site object when instantiating the Stencil. r=arai
Status: ASSIGNED → RESOLVED
Closed: 1 year ago
Resolution: --- → FIXED
Target Milestone: --- → 109 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: