当SpiderMonkey收集(或即将收集)特定的"GC“事件时,是否有可能得到通知?
在V8中有一些带有回调的“弱句柄”,当V8 GC决定句柄的对象变得不可访问时,就应该调用这些句柄。即使回调没有被调用(根据V8文档,这是可能的),我们仍然可以检查句柄指向的对象是否即将使用v8::Persistent<T>::IsNearDeath()收集。
在SpiderMonkey中,我们有PersistentRooted,这是一个很强的参考。但是,我们还没有找到以弱的方式安全引用对象的任何方法,因此我们至少可以检查以下条件中的一个(或多个):
发布于 2015-12-28 14:43:19
但是我们还没有找到以弱的方式安全地引用对象的任何方法,所以我们至少可以检查以下一个(或多个)条件中的一个 ..。
这可以通过弱引用实现。
如果要探测它们,只需检查它们是否返回null。
至少从C代码来看,JSClass终结器应该允许您这样做。
https://stackoverflow.com/questions/34490446
复制相似问题