Make nsEditor into a skippable class




6 years ago
6 years ago


(Reporter: mccr8, Unassigned)



Firefox Tracking Flags

(Not tracked)


This isn't a big deal, but right now the start of the traverse for nsEditor sometimes returns NS_SUCCESS_INTERRUPTED_TRAVERSE.  We could move that logic into CanSkip, remove that from traverse, and turn it into a NS_IMPL_CYCLE_COLLECTION_n class.

Comment 1

6 years ago
I'm not sure what any of this means!  :-)
A skippable object is something which can be removed from the cycle collector's purple buffer if we
can detect that it is certainly alive.
Right now, there's some logic at the start of the TRAVERSE method for nsEditor that detects if the editor is definitely alive.  If it is, then the CC doesn't need to look at it any more.

The "old" way to make use of this information is to return NS_SUCCESS_INTERRUPTED_TRAVERSE from the TRAVERSE method, but the more modern way is to do that reasoning in various CanSkip methods, which are at various earlier points.
You need to log in before you can comment on or make changes to this bug.