void CStdDeserializer::TraceMember(JSTracer *trc) { for (size_t i=0; i<m_ScriptBackrefs.size(); ++i) JS_CallObjectTracer(trc, &m_ScriptBackrefs[i], "StdDeserializer::m_ScriptBackrefs"); for (std::pair<const std::wstring, JS::Heap<JSObject*>>& proto : m_SerializablePrototypes) JS_CallObjectTracer(trc, &proto.second, "StdDeserializer::m_SerializablePrototypes"); }
void gjs_closure_trace(GClosure *closure, JSTracer *tracer) { Closure *c; c = (Closure*) closure; if (c->obj == NULL) return; JS_CallObjectTracer(tracer, &c->obj, "signal connection"); }