Closed
Bug 913527
Opened 11 years ago
Closed 11 years ago
Simplify top level invocation of cycle collector phases
Categories
(Core :: XPCOM, defect)
Core
XPCOM
Tracking
()
RESOLVED
FIXED
mozilla26
People
(Reporter: mccr8, Assigned: mccr8)
References
Details
Attachments
(3 files)
3.73 KB,
patch
|
smaug
:
review+
|
Details | Diff | Splinter Review |
2.42 KB,
patch
|
smaug
:
review+
|
Details | Diff | Splinter Review |
3.06 KB,
patch
|
smaug
:
review+
|
Details | Diff | Splinter Review |
No description provided.
Assignee | ||
Updated•11 years ago
|
Blocks: IncrementalCC
Assignee | ||
Comment 1•11 years ago
|
||
I'm simplifying the top level invocation of CC phases in these patches to make it easier to resume an ICC.
Attachment #801180 -
Flags: review?(bugs)
Assignee | ||
Comment 2•11 years ago
|
||
Try run for these patches: https://tbpl.mozilla.org/?tree=Try&rev=cd687180be3a
Attachment #801181 -
Flags: review?(bugs)
Assignee | ||
Comment 3•11 years ago
|
||
Attachment #801182 -
Flags: review?(bugs)
Comment 4•11 years ago
|
||
Comment on attachment 801180 [details] [diff] [review] part 1 - Get rid of FinishCollection. r=smaug Odd naming after this patch. BeginCollection, CollectWhite and CleanupAfterCollection. CollectWhite doesn't quite fit in. Could you explain a bit.
Attachment #801180 -
Flags: review?(bugs) → review-
Updated•11 years ago
|
Attachment #801181 -
Flags: review?(bugs) → review+
Updated•11 years ago
|
Attachment #801182 -
Flags: review?(bugs) → review+
Assignee | ||
Comment 5•11 years ago
|
||
(In reply to Olli Pettay [:smaug] from comment #4) > Odd naming after this patch. > BeginCollection, CollectWhite and CleanupAfterCollection. > > CollectWhite doesn't quite fit in. > > Could you explain a bit. Sure. So, what happens in later patches is that I move MarkRoots and ScanRoots out of BeginCollection, and split up CollectWhite into its three subphases. That leaves the main part of Collect like this: BeginCollection(aCCType, aManualListener); MarkRoots(); ScanRoots(); RootGarbage(); UnlinkGarbage(); bool collectedAny = UnrootGarbage(); CleanupAfterCollection(); Where BeginCollection sets up the graph and adds the roots to the graph. At that point, I suppose BeginCollection() is really more like PrepareForCollection(). I don't know if you think that is better or not. :) I want to have all of these at the top level because in ICC there are 3 separate ways to trigger a CC: 1 - synchronously, like we do now, which runs through all of the phases 2 - incrementally, which runs a single one of these phases (eg RootGarbage) 3 - finish the current ICC, which says something like "hey, we're working on RootGarbage right now, so finish that off, then run the phases after it" Having the top level phase thing just be a simple list of phases makes it easier to write those three pieces of code.
Updated•11 years ago
|
Attachment #801180 -
Flags: review- → review+
Assignee | ||
Comment 6•11 years ago
|
||
remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/c65a5025b50a remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/41888e2e355d remote: https://hg.mozilla.org/integration/mozilla-inbound/rev/33e3cbca0437
Comment 7•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/c65a5025b50a https://hg.mozilla.org/mozilla-central/rev/41888e2e355d https://hg.mozilla.org/mozilla-central/rev/33e3cbca0437
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
You need to log in
before you can comment on or make changes to this bug.
Description
•