Closed Bug 1615145 Opened 5 years ago Closed 5 years ago

Combine JSScript and LazyScript arenas

Categories

(Core :: JavaScript Engine, task, P1)

task

Tracking

()

RESOLVED FIXED
mozilla75
Tracking Status
firefox75 --- fixed

People

(Reporter: tcampbell, Assigned: tcampbell)

References

Details

Attachments

(3 files)

After Bug 1615143 combines the TraceKinds, the next step is to also combine the AllocKinds. The tricky part here is that all uses of arena CellIter need to be adjusted to continue to work.

A side-effect of this will be disabling of background finalization of lazy-scripts.

The ZoneCellIter will already check for finalization so we don't need to
worry about checking again.

Depends on D62681

To prepare for merging the LazyScript and JSScript gc-arenas we need to fix
uses of cellIter. This patch adds checks for the BaseScript::isLazyScript
flag. Variable names are also cleaned up to be more consistent.

Note semantics are unchanged and these continues are not currently executed
(as confirmed by making them MOZ_CRASH).

This patch does the naive thing in each case for ease of review. Future
patches will simplify code where possible in order to tolerate a mix of lazy
and non-lazy scripts.

Depends on D62686

Combine AllocKind::SCRIPT and AllocKind::LAZY_SCRIPT arenas. This impacts
code that scans the arenas directly but required checks were added in a
previous patch.

This removes background finalization of those LazyScript types.

Depends on D62687

Pushed by tcampbell@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/273552e59a14 Cleanup use of cellIter in TraceLogger. r=jandem https://hg.mozilla.org/integration/autoland/rev/d8e1e34e466a Update uses of cellIter<JSScript>. r=jandem https://hg.mozilla.org/integration/autoland/rev/987a7f91bc32 Combine JSScript and LazyScript GC arena. r=jonco
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: