Bug 1105069 - Part 12: Convert VisitGrayWrapperTargets to GCCellPtr; r=jonco, r=mccr8
This commit is contained in:
@@ -120,7 +120,7 @@ js::IterateGrayObjects(Zone *zone, GCThingCallback cellCallback, void *data)
|
|||||||
for (ZoneCellIterUnderGC i(zone, AllocKind(finalizeKind)); !i.done(); i.next()) {
|
for (ZoneCellIterUnderGC i(zone, AllocKind(finalizeKind)); !i.done(); i.next()) {
|
||||||
JSObject *obj = i.get<JSObject>();
|
JSObject *obj = i.get<JSObject>();
|
||||||
if (obj->asTenured().isMarked(GRAY))
|
if (obj->asTenured().isMarked(GRAY))
|
||||||
cellCallback(data, obj);
|
cellCallback(data, JS::GCCellPtr(obj));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -659,7 +659,7 @@ js::VisitGrayWrapperTargets(Zone *zone, GCThingCallback callback, void *closure)
|
|||||||
for (JSCompartment::WrapperEnum e(comp); !e.empty(); e.popFront()) {
|
for (JSCompartment::WrapperEnum e(comp); !e.empty(); e.popFront()) {
|
||||||
gc::Cell *thing = e.front().key().wrapped;
|
gc::Cell *thing = e.front().key().wrapped;
|
||||||
if (thing->isTenured() && thing->asTenured().isMarked(gc::GRAY))
|
if (thing->isTenured() && thing->asTenured().isMarked(gc::GRAY))
|
||||||
callback(closure, thing);
|
callback(closure, JS::GCCellPtr(thing, thing->asTenured().getTraceKind()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -513,7 +513,7 @@ extern JS_FRIEND_API(bool)
|
|||||||
ZoneGlobalsAreAllGray(JS::Zone *zone);
|
ZoneGlobalsAreAllGray(JS::Zone *zone);
|
||||||
|
|
||||||
typedef void
|
typedef void
|
||||||
(*GCThingCallback)(void *closure, void *gcthing);
|
(*GCThingCallback)(void *closure, JS::GCCellPtr thing);
|
||||||
|
|
||||||
extern JS_FRIEND_API(void)
|
extern JS_FRIEND_API(void)
|
||||||
VisitGrayWrapperTargets(JS::Zone *zone, GCThingCallback callback, void *closure);
|
VisitGrayWrapperTargets(JS::Zone *zone, GCThingCallback callback, void *closure);
|
||||||
|
|||||||
@@ -439,10 +439,10 @@ NoteJSChildTracerShim(JSTracer* aTrc, void** aThingp, JSGCTraceKind aTraceKind)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
NoteJSChildGrayWrapperShim(void* aData, void* aThing)
|
NoteJSChildGrayWrapperShim(void* aData, JS::GCCellPtr aThing)
|
||||||
{
|
{
|
||||||
TraversalTracer* trc = static_cast<TraversalTracer*>(aData);
|
TraversalTracer* trc = static_cast<TraversalTracer*>(aData);
|
||||||
NoteJSChild(trc, aThing, js::GCThingTraceKind(aThing));
|
NoteJSChild(trc, aThing.asCell(), aThing.kind());
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -706,14 +706,14 @@ CycleCollectedJSRuntime::TraverseZone(JS::Zone* aZone,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* static */ void
|
/* static */ void
|
||||||
CycleCollectedJSRuntime::TraverseObjectShim(void* aData, void* aThing)
|
CycleCollectedJSRuntime::TraverseObjectShim(void* aData, JS::GCCellPtr aThing)
|
||||||
{
|
{
|
||||||
TraverseObjectShimClosure* closure =
|
TraverseObjectShimClosure* closure =
|
||||||
static_cast<TraverseObjectShimClosure*>(aData);
|
static_cast<TraverseObjectShimClosure*>(aData);
|
||||||
|
|
||||||
MOZ_ASSERT(js::GCThingTraceKind(aThing) == JSTRACE_OBJECT);
|
MOZ_ASSERT(aThing.isObject());
|
||||||
closure->self->TraverseGCThing(CycleCollectedJSRuntime::TRAVERSE_CPP, aThing,
|
closure->self->TraverseGCThing(CycleCollectedJSRuntime::TRAVERSE_CPP,
|
||||||
JSTRACE_OBJECT, closure->cb);
|
aThing.asCell(), JSTRACE_OBJECT, closure->cb);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|||||||
@@ -186,7 +186,7 @@ private:
|
|||||||
TraverseZone(JS::Zone* aZone, nsCycleCollectionTraversalCallback& aCb);
|
TraverseZone(JS::Zone* aZone, nsCycleCollectionTraversalCallback& aCb);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
TraverseObjectShim(void* aData, void* aThing);
|
TraverseObjectShim(void* aData, JS::GCCellPtr aThing);
|
||||||
|
|
||||||
void TraverseNativeRoots(nsCycleCollectionNoteRootCallback& aCb);
|
void TraverseNativeRoots(nsCycleCollectionNoteRootCallback& aCb);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user