Closed Bug 1371908 Opened 8 years ago Closed 8 years ago

GlobalHelperThreadState::mergeParseTaskCompartment finishes GC at random times

Categories

(Core :: JavaScript Engine, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla56
Tracking Status
firefox56 --- fixed

People

(Reporter: smaug, Assigned: jonco)

Details

Attachments

(1 file)

If we want to avoid running GC at possibly bad times, this kind of explicit GC calls should be removed if possible. http://searchfox.org/mozilla-central/rev/12afa8cc9cea4a141494f767541b411845eef7a0/js/src/vm/HelperThreads.cpp#1554
As a first step we could easily check if the incremental GC affects the current Zone right? That way a parse task in Zone A is not going to affect an incremental GC of Zone B...
Flags: needinfo?(jcoppeard)
(In reply to Jan de Mooij [:jandem] from comment #1) Yes, good idea.
Assignee: nobody → jcoppeard
Flags: needinfo?(jcoppeard)
Patch to only finish an incremental GC if the destination zone is being collected when merging compartments (the source zone should never be being collected at this point). I also included the test code for bug 1146213 which I forgot to land after the fact, which also tests this area.
Attachment #8876725 - Flags: review?(sphink)
Comment on attachment 8876725 [details] [diff] [review] bug1371908-dont-finsish-gc-on-merge Review of attachment 8876725 [details] [diff] [review]: ----------------------------------------------------------------- Makes sense to me.
Attachment #8876725 - Flags: review?(sphink) → review+
Pushed by jcoppeard@mozilla.com: https://hg.mozilla.org/integration/mozilla-inbound/rev/a17ea8524638 When merging compartments only finish an ongoing GC if it affects the destination compartment r=sfink
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla56
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: