Make nsEditor into a skippable class

NEW
Unassigned

Status

()

6 years ago
6 years ago

People

(Reporter: mccr8, Unassigned)

Tracking

Trunk
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Reporter)

Description

6 years ago
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.
(Reporter)

Comment 3

6 years ago
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.