When building the graph, we first add a bunch of XPConnect roots. These are checked using CanSkipThis. Then we add things from the purple buffer, which are checked using CanSkipInCC. Any children of these nodes are checked via CanSkipThis. We're already calling CanSkipInCC during graph construction, so hopefully it is safe.
If we check XPConnect roots using CanSkipInCC instead of CanSkipThis, we should be able to remove some more nodes from the graph. This clarifies the role of these two functions a bit: CanSkipInCC is more like CanSkipRoot, and CanSkipThis is more like CanSkipChild.
Created attachment 606889 [details] [diff] [review]
This passed the try run along with my various other patches I put up for review today. https://tbpl.mozilla.org/?tree=Try&rev=869ed959b506