From 6397fedb2b221aab93d697ed9fc0530dd1415233 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Mon, 3 Jun 2013 11:07:32 +0100 Subject: Turns out there are still two different compiles of the 1.8.5 API about --- javascript/jsapi.h | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) (limited to 'javascript') diff --git a/javascript/jsapi.h b/javascript/jsapi.h index d8dcb360f..5b544b8fd 100644 --- a/javascript/jsapi.h +++ b/javascript/jsapi.h @@ -23,7 +23,7 @@ #ifndef _NETSURF_JAVASCRIPT_JSAPI_H_ #define _NETSURF_JAVASCRIPT_JSAPI_H_ -/* include teh correct header */ +/* include the correct header */ #ifdef WITH_MOZJS #include "js/jsapi.h" #else @@ -155,8 +155,10 @@ JS_NewCompartmentAndGlobalObject(JSContext *cx, #define JSAPI_GCMARK(thing) JS_MarkGCThing(cx, thing, "object", arg) -/* Macros for manipulating GC root */ +#define JSAPI_MARKOP_RETURN(value) return value + +/* Macros for manipulating GC root */ #define JSAPI_ADD_OBJECT_ROOT(cx, obj) JS_AddRoot(cx, obj) #define JSAPI_REMOVE_OBJECT_ROOT(cx, obj) JS_RemoveRoot(cx, obj) @@ -270,6 +272,8 @@ JS_NewCompartmentAndGlobalObject(JSContext *cx, #define JSAPI_GCMARK(thing) JS_CallTracer(trc, thing, JSTRACE_OBJECT); +#define JSAPI_MARKOP_RETURN(value) return value + /* Macros for manipulating GC root */ #define JSAPI_ADD_OBJECT_ROOT(cx, obj) JS_AddRoot(cx, obj) #define JSAPI_REMOVE_OBJECT_ROOT(cx, obj) JS_RemoveRoot(cx, obj) @@ -359,18 +363,23 @@ JS_NewCompartmentAndGlobalObject(JSContext *cx, #define JSAPI_CLASS_NO_INTERNAL_MEMBERS JSCLASS_NO_INTERNAL_MEMBERS /* GC marking */ - -/* mark API is always JSTraceOp now */ +#ifdef JSCLASS_MARK_IS_TRACE +/* mark function pointer requires casting */ +#define JSAPI_JSCLASS_MARK_IS_TRACE JSCLASS_MARK_IS_TRACE +#define JSAPI_JSCLASS_MARKOP(x) ((JSMarkOp)x) +#else +/* mark function pointer does not require casting */ #define JSAPI_JSCLASS_MARK_IS_TRACE 0 #define JSAPI_JSCLASS_MARKOP(x) (x) +#endif #define JSAPI_MARKOP(name) void name(JSTracer *trc, JSObject *obj) #define JSAPI_MARKCX trc->context -#define JSAPI_GCMARK(thing) JS_CallTracer(trc, JSVAL_TO_TRACEABLE(OBJECT_TO_JSVAL(thing)), JSTRACE_OBJECT); - +#define JSAPI_GCMARK(thing) JS_CallTracer(trc, thing, JSTRACE_OBJECT); +#define JSAPI_MARKOP_RETURN(value) /* Macros for manipulating GC root */ -- cgit v1.2.3