From js/public/UbiNode.h: > // Rooting Restrictions > // > // At present there is no way to root ubi::Node instances, so instances can't be > // live across any operation that might GC. Analyses using ubi::Node must either > // run to completion and convert their results to some other rootable type, or > // save their intermediate state in some rooted structure if they must GC before > // they complete. (For algorithms like path-finding and dominator tree > // computation, we implement the algorithm avoiding any operation that could > // cause a GC --- and use AutoCheckCannotGC to verify this.) > // > // If this restriction prevents us from implementing interesting tools, we may > // teach the GC how to root ubi::Nodes, fix up hash tables that use them as > // keys, etc. In bug 1024774, we can implement the interesting tools, however implementing *tests* for them is actually much harder to do without GC'ing! It should be pretty easy to make a ubi::RootedNode, but I'm very hesitant about adding extra overhead to heap snapshots. Perhaps it is possible to make WriteHeapGraph take a UbiNodeT type that is plain old ubi::Node in non-tests and ubi::RootedNode in tests where GC can get triggered? Is it time?
Assignee: nobody → nfitzgerald
Status: NEW → ASSIGNED
(In reply to Nick Fitzgerald [:fitzgen] from comment #0) > Is it time? Nope, we are just going to ignore MockWriter in the hazard analysis.
Status: ASSIGNED → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.