Closed Bug 1670077 Opened 5 years ago Closed 5 years ago

Deduplicate bytecode while building Stencil.

Categories

(Core :: JavaScript Engine, task, P3)

task

Tracking

()

RESOLVED FIXED
83 Branch
Tracking Status
firefox83 --- fixed

People

(Reporter: tcampbell, Assigned: tcampbell)

References

Details

Attachments

(2 files)

Deduplicate the bytecode while building Stencil so we don't have to mutate it during instantiation.

We also have to fix the ScriptData table lock since it relied on machinery in the ParseGlobal.

The AutoLockScriptData mechanism currently skips locking if there are no
active parse globals. With Stencil, we no longer use the parse global but
would still like to have access to the script-data table. To do this, we
add a similar counter that tracks ParseTasks instead of parse globals.

Instead of waiting until instantiation, deduplicate the bytecode as soon as
we create the stencil. This lets the stencil become immutable sooner.

Pushed by tcampbell@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/4cd7bf410b93 Use ParseTask count to control AutoLockScriptData. r=jonco https://hg.mozilla.org/integration/autoland/rev/c330707328a4 Deduplicate bytecode while building Stencil. r=arai
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 83 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: