Closed Bug 1572006 Opened 1 year ago Closed 3 months ago

Replace use of JSRuntime with GCRuntime where possible inside the GC component

Categories

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

task

Tracking

()

RESOLVED FIXED
Tracking Status
firefox71 --- fixed

People

(Reporter: jonco, Assigned: jonco)

Details

Attachments

(6 files)

To increase modularity and decrease dependencies on the rest of the engine, we should prefer to pass around pointers to the GCRuntime rather than the JSRuntime within the GC component.

One example is the nursery, which has a JSRuntime* member. Most of the uses of this are of the form | runtime->gc.whatever() |, in other words we mainly use it to get at the GCRuntime. We should replace this with a GCRuntime* member.

Mostly the code is like this for historical reasons, when all the GC state used to live in the JSRuntime.

Assignee: nobody → jcoppeard
Keywords: leave-open
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e0f93751fd81
Make Nursery store a pointer to the GCRuntime rather than the JSRuntime r=allstarschh
https://hg.mozilla.org/integration/autoland/rev/1748f0da5721
Replace use of JSRuntime in GCLock classes r=allstarschh
https://hg.mozilla.org/integration/autoland/rev/886d6128768c
Use GCRuntime rather that JSRuntime in Chunk APIs r=allstarschh
Pushed by jcoppeard@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/5156147aa55d
Make GC iterators with in terms of GCRuntime rather than JSRuntime r=allstarschh
https://hg.mozilla.org/integration/autoland/rev/bd53a21e0e70
Make GCParallelTask work in terms of GCRuntime rather than JSRuntime r=allstarschh
https://hg.mozilla.org/integration/autoland/rev/aa7957c9c241
Make js::gc::Statistics work in terms of GCRuntime rather than JSRuntime r=allstarschh

A bunch of patches have landed in 71 so I'll close this and open a new bug for more work in this area.

Status: NEW → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Keywords: leave-open
You need to log in before you can comment on or make changes to this bug.