From ae6058c15c4dbf1c067fac45cd092afeefa68a53 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Sun, 2 Jun 2013 20:58:57 +0100 Subject: create objects from window on demand an keep them as simple unshared objects update prototype handling to keep GC refs --- javascript/jsapi.h | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'javascript/jsapi.h') diff --git a/javascript/jsapi.h b/javascript/jsapi.h index 8f9affd02..d8dcb360f 100644 --- a/javascript/jsapi.h +++ b/javascript/jsapi.h @@ -359,21 +359,19 @@ JS_NewCompartmentAndGlobalObject(JSContext *cx, #define JSAPI_CLASS_NO_INTERNAL_MEMBERS JSCLASS_NO_INTERNAL_MEMBERS /* GC marking */ -#ifdef JSCLASS_MARK_IS_TRACE -/* mark requires casting */ -#define JSAPI_JSCLASS_MARK_IS_TRACE JSCLASS_MARK_IS_TRACE -#define JSAPI_JSCLASS_MARKOP(x) ((JSMarkOp)x) -#else -/* mark does not require casting */ + +/* mark API is always JSTraceOp now */ #define JSAPI_JSCLASS_MARK_IS_TRACE 0 #define JSAPI_JSCLASS_MARKOP(x) (x) -#endif -#define JSAPI_MARKOP(name) JSBool name(JSTracer *trc, JSObject *obj) +#define JSAPI_MARKOP(name) void name(JSTracer *trc, JSObject *obj) #define JSAPI_MARKCX trc->context -#define JSAPI_GCMARK(thing) JS_CallTracer(trc, thing, JSTRACE_OBJECT); +#define JSAPI_GCMARK(thing) JS_CallTracer(trc, JSVAL_TO_TRACEABLE(OBJECT_TO_JSVAL(thing)), JSTRACE_OBJECT); + + + /* Macros for manipulating GC root */ #define JSAPI_ADD_OBJECT_ROOT(cx, obj) JS_AddObjectRoot(cx, obj) -- cgit v1.2.3