Bug 1105069 - Part 12: Convert VisitGrayWrapperTargets to GCCellPtr; r=jonco, r=mccr8

This commit is contained in:
Terrence Cole
2014-12-05 09:38:33 -08:00
parent a68c5287d6
commit bd524ef64a
5 changed files with 10 additions and 10 deletions

View File

@@ -120,7 +120,7 @@ js::IterateGrayObjects(Zone *zone, GCThingCallback cellCallback, void *data)
for (ZoneCellIterUnderGC i(zone, AllocKind(finalizeKind)); !i.done(); i.next()) {
JSObject *obj = i.get<JSObject>();
if (obj->asTenured().isMarked(GRAY))
cellCallback(data, obj);
cellCallback(data, JS::GCCellPtr(obj));
}
}
}

View File

@@ -659,7 +659,7 @@ js::VisitGrayWrapperTargets(Zone *zone, GCThingCallback callback, void *closure)
for (JSCompartment::WrapperEnum e(comp); !e.empty(); e.popFront()) {
gc::Cell *thing = e.front().key().wrapped;
if (thing->isTenured() && thing->asTenured().isMarked(gc::GRAY))
callback(closure, thing);
callback(closure, JS::GCCellPtr(thing, thing->asTenured().getTraceKind()));
}
}
}

View File

@@ -513,7 +513,7 @@ extern JS_FRIEND_API(bool)
ZoneGlobalsAreAllGray(JS::Zone *zone);
typedef void
(*GCThingCallback)(void *closure, void *gcthing);
(*GCThingCallback)(void *closure, JS::GCCellPtr thing);
extern JS_FRIEND_API(void)
VisitGrayWrapperTargets(JS::Zone *zone, GCThingCallback callback, void *closure);

View File

@@ -439,10 +439,10 @@ NoteJSChildTracerShim(JSTracer* aTrc, void** aThingp, JSGCTraceKind aTraceKind)
}
static void
NoteJSChildGrayWrapperShim(void* aData, void* aThing)
NoteJSChildGrayWrapperShim(void* aData, JS::GCCellPtr aThing)
{
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
CycleCollectedJSRuntime::TraverseObjectShim(void* aData, void* aThing)
CycleCollectedJSRuntime::TraverseObjectShim(void* aData, JS::GCCellPtr aThing)
{
TraverseObjectShimClosure* closure =
static_cast<TraverseObjectShimClosure*>(aData);
MOZ_ASSERT(js::GCThingTraceKind(aThing) == JSTRACE_OBJECT);
closure->self->TraverseGCThing(CycleCollectedJSRuntime::TRAVERSE_CPP, aThing,
JSTRACE_OBJECT, closure->cb);
MOZ_ASSERT(aThing.isObject());
closure->self->TraverseGCThing(CycleCollectedJSRuntime::TRAVERSE_CPP,
aThing.asCell(), JSTRACE_OBJECT, closure->cb);
}
void

View File

@@ -186,7 +186,7 @@ private:
TraverseZone(JS::Zone* aZone, nsCycleCollectionTraversalCallback& aCb);
static void
TraverseObjectShim(void* aData, void* aThing);
TraverseObjectShim(void* aData, JS::GCCellPtr aThing);
void TraverseNativeRoots(nsCycleCollectionNoteRootCallback& aCb);