当SpiderMonkey收集(或即将收集)某个特定的GC事物时,是否可以通知" ?
在V8中有弱手柄&#34;有回调附加到它们的时候,当V8 GC决定句柄对象变得无法访问时,应该调用这些回调。即使没有调用回调(这可能是根据V8文档),我们仍然可以检查句柄指向的对象是否将使用v8::Persistent<T>::IsNearDeath()
收集。
在SpiderMonkey中,我们有PersistentRooted,这是一个强大的参考。但我们没有找到任何方法以弱方式安全地引用对象,因此我们至少可以检查一个(或多个)以下条件:
答案 0 :(得分:1)
但是我们没有找到任何方法以弱方式安全地引用对象,因此我们至少可以检查一个(或多个)以下条件
[...]
- 该对象已被收集;
这可以通过weak references
来实现如果要探测它们,可以简单地检查它们是否返回null。
- 即将收集对象;
至少从C代码JSClass finalizer应该允许你这样做。