Hmm, interesting. I guess all stream interfaces should use `NS_IMPL_CYCLE_COLLECTION_MULTI_ZONE_JSHOLDER_CLASS` instead. https://searchfox.org/mozilla-central/rev/9ad01b5eae48436e3bdb8df01be3973e683d5242/xpcom/base/nsCycleCollectionParticipant.h#950-951 >// Most JS holder classes should only contain pointers to JS GC things in a >// single JS zone (excluding pointers into the atoms zone), but there are some >// exceptions. Such classes should use this macro to tell the system about this. Not quite sure this is true.
Bug 1777574 Comment 12 Edit History
Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.
Hmm, interesting. I guess all stream interfaces should use `NS_IMPL_CYCLE_COLLECTION_MULTI_ZONE_JSHOLDER_CLASS` instead. https://searchfox.org/mozilla-central/rev/9ad01b5eae48436e3bdb8df01be3973e683d5242/xpcom/base/nsCycleCollectionParticipant.h#950-951 >// Most JS holder classes should only contain pointers to JS GC things in a >// single JS zone (excluding pointers into the atoms zone), but there are some >// exceptions. Such classes should use this macro to tell the system about this. Not quite sure this is true. Edit: https://searchfox.org/mozilla-central/rev/9ad01b5eae48436e3bdb8df01be3973e683d5242/xpcom/base/CycleCollectedJSRuntime.cpp#1334-1348 (from comment #8) says that's a last resort, okay then.