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()) { 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));
} }
} }
} }

View File

@@ -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()));
} }
} }
} }

View File

@@ -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);

View File

@@ -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

View File

@@ -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);