コード例 #1
0
ファイル: UbiNode.cpp プロジェクト: mmatyas/mozjs
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;
}
コード例 #2
0
ファイル: UbiNode.cpp プロジェクト: mmatyas/mozjs
bool
RootList::init()
{
    SimpleEdgeVectorTracer tracer(cx, &edges, wantNames);
    JS_TraceRuntime(&tracer);
    if (!tracer.okay)
        return false;
    noGC.emplace(cx->runtime());
    return true;
}
コード例 #3
0
ファイル: UbiNode.cpp プロジェクト: AlexOreshkevich/mongo
bool
RootList::init()
{
    EdgeVectorTracer tracer(rt, &edges, wantNames);
    JS_TraceRuntime(&tracer);
    if (!tracer.okay)
        return false;
    noGC.emplace(rt);
    return true;
}