Closed Bug 1539031 Opened 5 years ago Closed 5 years ago

We can't easily disable zonal GC and enable incremental GC

Categories

(Core :: JavaScript: GC, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
mozilla68
Tracking Status
firefox68 --- fixed

People

(Reporter: pbone, Assigned: pbone)

References

(Blocks 1 open bug)

Details

Attachments

(3 files)

We have a choice between:

  • non-zonal, non-incremental GC (aka Global GC)
  • zonal, non-incremental GC
  • zonal, incremental GC.

https://searchfox.org/mozilla-central/source/dom/base/nsJSEnvironment.cpp#2359-2366

It'd be nice to be able to select non-zonal + incremental GC, for testing.

Since this mode covers both incremental and zonal GC, let's rename it to
reflect that. JSGC_MODE_ZONE_INCREMENTAL.

Hi Jon, While I was working on this I noticed:

https://searchfox.org/mozilla-central/source/js/src/jsapi.cpp#1291

This is probably overridden by prefs, but why would we use zonal, non-incremental GC for the "nominal" configuration (or any configuration)?

Flags: needinfo?(jcoppeard)

(In reply to Paul Bone [:pbone] from comment #4)

Probably because incremental GC requires explicit support from the embedding (which must trigger incremental slices).

Flags: needinfo?(jcoppeard)
Summary: We can't easilly disable zonal GC and enable incremental GC → We can't easily disable zonal GC and enable incremental GC
Pushed by pbone@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/7e86a3bf7315
(part 1) Rename JSGC_MODE_INCREMENTAL r=jonco
https://hg.mozilla.org/integration/autoland/rev/4ed979059135
(part 2) Add a incremental non-zonal mode r=jonco
https://hg.mozilla.org/integration/autoland/rev/1467f14d7dd6
(part 3) Set the GC modes from prefs with the new mode r=mccr8

(In reply to Jon Coppeard (:jonco) from comment #5)

(In reply to Paul Bone [:pbone] from comment #4)

Probably because incremental GC requires explicit support from the embedding (which must trigger incremental slices).

In that case there may be a problem where the minimal config (nearby) uses incremental GC.

I wanted to see what would happen to memory use everywhere without zonal GC. I thought it might improve after what I saw on Bug 1530397. but it got worse, not sure why:

https://treeherder.mozilla.org/perf.html#/compare?originalProject=mozilla-central&newProject=try&newRevision=d97320bbe43de8360c200dd149f1183588d78b82&framework=4&selectedTimeRange=172800

Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla68
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: