Open
Bug 869187
Opened 12 years ago
Updated 2 years ago
Make non-tracing NS_SUCCESS_INTERRUPTED_TRAVERSE classes skippable
Categories
(Core :: Cycle Collector, defect)
Core
Cycle Collector
Tracking
()
NEW
People
(Reporter: mccr8, Unassigned)
References
(Blocks 1 open bug)
Details
NS_SUCCESS_INTERRUPTED_TRAVERSE was useful before we had a general mechanism for skippability of CCed objects, but it is a bit funky (it doesn't work nicely with WANT_ALL_TRACES, and requires some extra branches here and there). We could convert all existing users over to be standard skippable classes, then remove it.
It probably makes sense to file individual bugs for the conversions, at least for the ones like Node that may be nasty. I haven't thought about this too much. Not a huge deal, but it would be nice.
I thought I'd filed something on this, but I guess not.
Reporter | ||
Comment 1•11 years ago
|
||
NS_SUCCESS_INTERRUPTED_TRAVERSE classes that hold onto JS can't be converted entirely over to be purely skippable, because we must trace their JS no matter what. However, about half of the classes that do interrupted traverse don't trace, and so could be converted over:
nsNodeInfoManager
nsXULPrototypeDocument
nsXULTemplateBuilder (has some subclasses)
nsEditor (has a subclass)
nsFrameSelection
I noted which classes have subclasses because I forget how that interacts with skippability. We'd want to make sure we don't lose the skippability in subclasses.
Summary: Eliminate usage of NS_SUCCESS_INTERRUPTED_TRAVERSE in cycle collector traversal → Make non-tracing NS_SUCCESS_INTERRUPTED_TRAVERSE classes skippable
Updated•2 years ago
|
Severity: normal → S3
Reporter | ||
Updated•2 years ago
|
Component: XPCOM → Cycle Collector
You need to log in
before you can comment on or make changes to this bug.
Description
•