bool RootList::init(ZoneSet &debuggees) { SimpleEdgeVector allRootEdges(cx); SimpleEdgeVectorTracer tracer(cx, &allRootEdges, wantNames); JS_TraceRuntime(&tracer); if (!tracer.okay) return false; JS_TraceIncomingCCWs(&tracer, debuggees); if (!tracer.okay) return false; for (SimpleEdgeVector::Range r = allRootEdges.all(); !r.empty(); r.popFront()) { SimpleEdge &edge = r.front(); Zone *zone = edge.referent.zone(); if (zone && !debuggees.has(zone)) continue; if (!edges.append(mozilla::Move(edge))) return false; } noGC.emplace(cx->runtime()); return true; }
bool RootList::init() { SimpleEdgeVectorTracer tracer(cx, &edges, wantNames); JS_TraceRuntime(&tracer); if (!tracer.okay) return false; noGC.emplace(cx->runtime()); return true; }
bool RootList::init() { EdgeVectorTracer tracer(rt, &edges, wantNames); JS_TraceRuntime(&tracer); if (!tracer.okay) return false; noGC.emplace(rt); return true; }