mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 796760 (part 1) - Exactly root JSTraceOp. r=terrence.
--HG-- extra : rebase_source : da9591cf8013337b954d11d6921d6a666aae49e7
This commit is contained in:
parent
bfc3914658
commit
b6547ac043
@ -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()) {
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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");
|
||||
|
@ -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,
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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());
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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.
|
||||
|
@ -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");
|
||||
}
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -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)
|
||||
|
@ -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();
|
||||
|
@ -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() {
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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:
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user