Bug 796760 (part 1) - Exactly root JSTraceOp. r=terrence.

--HG--
extra : rebase_source : da9591cf8013337b954d11d6921d6a666aae49e7
This commit is contained in:
Nicholas Nethercote 2012-10-02 22:02:44 -07:00
parent bfc3914658
commit b6547ac043
20 changed files with 29 additions and 29 deletions

View File

@ -962,7 +962,7 @@ MarkKey(Range &r, const HashableValue &key, JSTracer *trc)
}
void
MapObject::mark(JSTracer *trc, JSObject *obj)
MapObject::mark(JSTracer *trc, RawObject obj)
{
if (ValueMap *map = obj->asMap().getData()) {
for (ValueMap::Range r = map->all(); !r.empty(); r.popFront()) {
@ -1355,7 +1355,7 @@ SetObject::initClass(JSContext *cx, JSObject *obj)
}
void
SetObject::mark(JSTracer *trc, JSObject *obj)
SetObject::mark(JSTracer *trc, RawObject obj)
{
SetObject *setobj = static_cast<SetObject *>(obj);
if (ValueSet *set = setobj->getData()) {

View File

@ -87,7 +87,7 @@ class MapObject : public JSObject {
static JSFunctionSpec methods[];
ValueMap *getData() { return static_cast<ValueMap *>(getPrivate()); }
static ValueMap & extract(CallReceiver call);
static void mark(JSTracer *trc, JSObject *obj);
static void mark(JSTracer *trc, RawObject obj);
static void finalize(FreeOp *fop, JSObject *obj);
static JSBool construct(JSContext *cx, unsigned argc, Value *vp);
@ -115,7 +115,7 @@ class SetObject : public JSObject {
static JSFunctionSpec methods[];
ValueSet *getData() { return static_cast<ValueSet *>(getPrivate()); }
static ValueSet & extract(CallReceiver call);
static void mark(JSTracer *trc, JSObject *obj);
static void mark(JSTracer *trc, RawObject obj);
static void finalize(FreeOp *fop, JSObject *obj);
static JSBool construct(JSContext *cx, unsigned argc, Value *vp);

View File

@ -1711,7 +1711,7 @@ ParallelArrayObject::toLocaleString(JSContext *cx, CallArgs args)
}
void
ParallelArrayObject::mark(JSTracer *trc, JSObject *obj)
ParallelArrayObject::mark(JSTracer *trc, RawObject obj)
{
gc::MarkSlot(trc, &obj->getSlotRef(SLOT_DIMENSIONS), "parallelarray.shape");
gc::MarkSlot(trc, &obj->getSlotRef(SLOT_BUFFER), "parallelarray.buffer");

View File

@ -346,7 +346,7 @@ class ParallelArrayObject : public JSObject {
static bool toLocaleString(JSContext *cx, CallArgs args);
static bool toSource(JSContext *cx, CallArgs args);
static void mark(JSTracer *trc, JSObject *obj);
static void mark(JSTracer *trc, RawObject obj);
static JSBool lookupGeneric(JSContext *cx, HandleObject obj, HandleId id,
MutableHandleObject objp, MutableHandleShape propp);
static JSBool lookupProperty(JSContext *cx, HandleObject obj, HandlePropertyName name,

View File

@ -4554,7 +4554,7 @@ prop_iter_finalize(FreeOp *fop, JSObject *obj)
}
static void
prop_iter_trace(JSTracer *trc, JSObject *obj)
prop_iter_trace(JSTracer *trc, RawObject obj)
{
void *pdata = obj->getPrivate();
if (!pdata)

View File

@ -1838,7 +1838,7 @@ typedef JSBool
* marking its native structures.
*/
typedef void
(* JSTraceOp)(JSTracer *trc, JSObject *obj);
(* JSTraceOp)(JSTracer *trc, JSRawObject obj);
/*
* DEBUG only callback that JSTraceOp implementation can provide to return

View File

@ -1127,7 +1127,7 @@ array_deleteSpecial(JSContext *cx, HandleObject obj, HandleSpecialId sid,
}
static void
array_trace(JSTracer *trc, JSObject *obj)
array_trace(JSTracer *trc, RawObject obj)
{
JS_ASSERT(obj->isDenseArray());

View File

@ -50,7 +50,7 @@ static JSBool
Exception(JSContext *cx, unsigned argc, Value *vp);
static void
exn_trace(JSTracer *trc, JSObject *obj);
exn_trace(JSTracer *trc, RawObject obj);
static void
exn_finalize(FreeOp *fop, JSObject *obj);
@ -348,7 +348,7 @@ GetExnPrivate(JSObject *obj)
}
static void
exn_trace(JSTracer *trc, JSObject *obj)
exn_trace(JSTracer *trc, RawObject obj)
{
if (JSExnPrivate *priv = GetExnPrivate(obj)) {
if (priv->message)

View File

@ -524,7 +524,7 @@ JSFunction::trace(JSTracer *trc)
}
static void
fun_trace(JSTracer *trc, JSObject *obj)
fun_trace(JSTracer *trc, RawObject obj)
{
obj->toFunction()->trace(trc);
}

View File

@ -2818,7 +2818,7 @@ proxy_DeleteSpecial(JSContext *cx, HandleObject obj, HandleSpecialId sid,
}
static void
proxy_TraceObject(JSTracer *trc, JSObject *obj)
proxy_TraceObject(JSTracer *trc, RawObject obj)
{
#ifdef DEBUG
if (!trc->runtime->gcDisableStrictProxyCheckingCount && obj->isWrapper()) {
@ -2843,7 +2843,7 @@ proxy_TraceObject(JSTracer *trc, JSObject *obj)
}
static void
proxy_TraceFunction(JSTracer *trc, JSObject *obj)
proxy_TraceFunction(JSTracer *trc, RawObject obj)
{
// NB: If you add new slots here, make sure to change
// js::NukeChromeCrossCompartmentWrappers to cope.

View File

@ -494,7 +494,7 @@ ArrayBufferObject::stealContents(JSContext *cx, JSObject *obj, void **contents)
}
void
ArrayBufferObject::obj_trace(JSTracer *trc, JSObject *obj)
ArrayBufferObject::obj_trace(JSTracer *trc, RawObject obj)
{
/*
* If this object changes, it will get marked via the private data barrier,
@ -1150,7 +1150,7 @@ class TypedArrayTemplate
}
static void
obj_trace(JSTracer *trc, JSObject *obj)
obj_trace(JSTracer *trc, RawObject obj)
{
MarkSlot(trc, &obj->getFixedSlotRef(BUFFER_SLOT), "typedarray.buffer");
}

View File

@ -54,7 +54,7 @@ class ArrayBufferObject : public JSObject
template<typename T>
static JSBool createTypedArrayFromBuffer(JSContext *cx, unsigned argc, Value *vp);
static void obj_trace(JSTracer *trc, JSObject *obj);
static void obj_trace(JSTracer *trc, RawObject obj);
static JSBool obj_lookupGeneric(JSContext *cx, HandleObject obj, HandleId id,
MutableHandleObject objp, MutableHandleShape propp);

View File

@ -302,7 +302,7 @@ JS_NondeterministicGetWeakMapKeys(JSContext *cx, JSObject *obj, JSObject **ret)
}
static void
WeakMap_mark(JSTracer *trc, JSObject *obj)
WeakMap_mark(JSTracer *trc, RawObject obj)
{
if (ObjectValueMap *map = GetObjectMap(obj))
map->trace(trc);

View File

@ -5124,7 +5124,7 @@ xml_hasInstance(JSContext *cx, HandleObject obj, MutableHandleValue v, JSBool *b
}
static void
xml_trace(JSTracer *trc, JSObject *obj)
xml_trace(JSTracer *trc, RawObject obj)
{
JSXML *xml = (JSXML *) obj->getPrivate();
/*
@ -7824,7 +7824,7 @@ struct JSXMLFilter
};
static void
xmlfilter_trace(JSTracer *trc, JSObject *obj)
xmlfilter_trace(JSTracer *trc, RawObject obj)
{
JSXMLFilter *filter = (JSXMLFilter *) obj->getPrivate();
if (!filter)

View File

@ -400,7 +400,7 @@ ArgumentsObject::finalize(FreeOp *fop, JSObject *obj)
}
void
ArgumentsObject::trace(JSTracer *trc, JSObject *obj)
ArgumentsObject::trace(JSTracer *trc, RawObject obj)
{
ArgumentsObject &argsobj = obj->asArguments();
ArgumentsData *data = argsobj.data();

View File

@ -191,7 +191,7 @@ class ArgumentsObject : public JSObject
inline size_t sizeOfMisc(JSMallocSizeOfFun mallocSizeOf) const;
static void finalize(FreeOp *fop, JSObject *obj);
static void trace(JSTracer *trc, JSObject *obj);
static void trace(JSTracer *trc, RawObject obj);
/* For jit use: */
static size_t getDataSlotOffset() {

View File

@ -1400,7 +1400,7 @@ Debugger::markAllIteratively(GCMarker *trc)
}
void
Debugger::traceObject(JSTracer *trc, JSObject *obj)
Debugger::traceObject(JSTracer *trc, RawObject obj)
{
if (Debugger *dbg = Debugger::fromJSObject(obj))
dbg->trace(trc);
@ -2375,7 +2375,7 @@ SetScriptReferent(JSObject *obj, JSScript *script)
}
static void
DebuggerScript_trace(JSTracer *trc, JSObject *obj)
DebuggerScript_trace(JSTracer *trc, RawObject obj)
{
/* This comes from a private pointer, so no barrier needed. */
if (JSScript *script = GetScriptReferent(obj)) {
@ -3564,7 +3564,7 @@ static JSFunctionSpec DebuggerFrame_methods[] = {
/*** Debugger.Object *****************************************************************************/
static void
DebuggerObject_trace(JSTracer *trc, JSObject *obj)
DebuggerObject_trace(JSTracer *trc, RawObject obj)
{
/*
* There is a barrier on private pointers, so the Unbarriered marking
@ -4284,7 +4284,7 @@ static JSFunctionSpec DebuggerObject_methods[] = {
/*** Debugger.Environment ************************************************************************/
static void
DebuggerEnv_trace(JSTracer *trc, JSObject *obj)
DebuggerEnv_trace(JSTracer *trc, RawObject obj)
{
/*
* There is a barrier on private pointers, so the Unbarriered marking

View File

@ -141,7 +141,7 @@ class Debugger {
JSObject *unwrapDebuggeeArgument(JSContext *cx, const Value &v);
static void traceObject(JSTracer *trc, JSObject *obj);
static void traceObject(JSTracer *trc, RawObject obj);
void trace(JSTracer *trc);
static void finalize(FreeOp *fop, JSObject *obj);
void markKeysInCompartment(JSTracer *tracer);

View File

@ -239,7 +239,7 @@ RegExpCode::execute(JSContext *cx, const jschar *chars, size_t length, size_t st
/* RegExpObject */
static void
regexp_trace(JSTracer *trc, JSObject *obj)
regexp_trace(JSTracer *trc, RawObject obj)
{
/*
* We have to check both conditions, since:

View File

@ -28,7 +28,7 @@ resc_finalize(FreeOp *fop, JSObject *obj)
}
static void
resc_trace(JSTracer *trc, JSObject *obj)
resc_trace(JSTracer *trc, RawObject obj)
{
void *pdata = obj->getPrivate();
JS_ASSERT(pdata);