Classes | Defines | Typedefs | Enumerations | Functions

jsapi.h File Reference

#include <stddef.h>
#include <stdio.h>
#include "js-config.h"
#include "jspubtd.h"
#include "jsutil.h"
Include dependency graph for jsapi.h:
This graph shows which files directly or indirectly include this file:

Classes

struct  JSTracer
struct  JSClass
struct  JSExtendedClass
struct  JSIdArray
struct  JSConstDoubleSpec
struct  JSPropertySpec
struct  JSFunctionSpec
struct  JSPropertyDescriptor
struct  JSPrincipals
struct  JSSecurityCallbacks
struct  JSLocaleCallbacks
struct  JSErrorReport

Defines

#define JSVAL_TAGBITS   3
#define JSVAL_TAGMASK   ((jsval) JS_BITMASK(JSVAL_TAGBITS))
#define JSVAL_ALIGN   JS_BIT(JSVAL_TAGBITS)
#define JSVAL_TAG(v)   ((jsvaltag)((v) & JSVAL_TAGMASK))
#define JSVAL_SETTAG(v, t)   ((v) | (t))
#define JSVAL_NULL   ((jsval) 0)
#define JSVAL_ZERO   INT_TO_JSVAL(0)
#define JSVAL_ONE   INT_TO_JSVAL(1)
#define JSVAL_FALSE   SPECIAL_TO_JSVAL(JS_FALSE)
#define JSVAL_TRUE   SPECIAL_TO_JSVAL(JS_TRUE)
#define JSVAL_VOID   SPECIAL_TO_JSVAL(2)
#define JSVAL_TO_SPECIAL(v)   ((JSBool) ((v) >> JSVAL_TAGBITS))
#define SPECIAL_TO_JSVAL(b)   JSVAL_SETTAG((jsval) (b) << JSVAL_TAGBITS, JSVAL_SPECIAL)
#define JSVAL_LOCK(cx, v)
#define JSVAL_UNLOCK(cx, v)
#define JSVAL_INT_BITS   31
#define JSVAL_INT_POW2(n)   ((jsval)1 << (n))
#define JSVAL_INT_MIN   (-JSVAL_INT_POW2(30))
#define JSVAL_INT_MAX   (JSVAL_INT_POW2(30) - 1)
#define INT_FITS_IN_JSVAL(i)
#define INT_TO_JSVAL_CONSTEXPR(i)   (((jsval)(i) << 1) | JSVAL_INT)
#define JSVAL_TO_PRIVATE(v)   ((void *)((v) & ~JSVAL_INT))
#define PRIVATE_TO_JSVAL(p)   ((jsval)(p) | JSVAL_INT)
#define JSPROP_ENUMERATE   0x01
#define JSPROP_READONLY   0x02
#define JSPROP_PERMANENT   0x04
#define JSPROP_GETTER   0x10
#define JSPROP_SETTER   0x20
#define JSPROP_SHARED   0x40
#define JSPROP_INDEX   0x80
#define JSFUN_LAMBDA   0x08
#define JSFUN_GETTER   JSPROP_GETTER
#define JSFUN_SETTER   JSPROP_SETTER
#define JSFUN_BOUND_METHOD   0x40
#define JSFUN_HEAVYWEIGHT   0x80
#define JSFUN_DISJOINT_FLAGS(f)   ((f) & 0x0f)
#define JSFUN_GSFLAGS(f)   ((f) & (JSFUN_GETTER | JSFUN_SETTER))
#define JSFUN_GETTER_TEST(f)   ((f) & JSFUN_GETTER)
#define JSFUN_SETTER_TEST(f)   ((f) & JSFUN_SETTER)
#define JSFUN_BOUND_METHOD_TEST(f)   ((f) & JSFUN_BOUND_METHOD)
#define JSFUN_HEAVYWEIGHT_TEST(f)   ((f) & JSFUN_HEAVYWEIGHT)
#define JSFUN_GSFLAG2ATTR(f)   JSFUN_GSFLAGS(f)
#define JSFUN_THISP_FLAGS(f)   (f)
#define JSFUN_THISP_TEST(f, t)   ((f) & t)
#define JSFUN_THISP_STRING   0x0100
#define JSFUN_THISP_NUMBER   0x0200
#define JSFUN_THISP_BOOLEAN   0x0400
#define JSFUN_THISP_PRIMITIVE   0x0700
#define JSFUN_FAST_NATIVE   0x0800
#define JSFUN_FLAGS_MASK   0x0ff8
#define JSFUN_STUB_GSOPS   0x1000
#define JSFUN_GENERIC_NATIVE   JSFUN_LAMBDA
#define JS_NewRuntime   JS_Init
#define JS_DestroyRuntime   JS_Finish
#define JS_LockRuntime   JS_Lock
#define JS_UnlockRuntime   JS_Unlock
#define JSOPTION_STRICT   JS_BIT(0)
#define JSOPTION_WERROR   JS_BIT(1)
#define JSOPTION_VAROBJFIX   JS_BIT(2)
#define JSOPTION_PRIVATE_IS_NSISUPPORTS   JS_BIT(3)
#define JSOPTION_COMPILE_N_GO   JS_BIT(4)
#define JSOPTION_ATLINE   JS_BIT(5)
#define JSOPTION_XML   JS_BIT(6)
#define JSOPTION_DONT_REPORT_UNCAUGHT   JS_BIT(8)
#define JSOPTION_RELIMIT   JS_BIT(9)
#define JSOPTION_ANONFUNFIX   JS_BIT(10)
#define JSOPTION_JIT   JS_BIT(11)
#define JSOPTION_NO_SCRIPT_RVAL   JS_BIT(12)
#define JSOPTION_UNROOTED_GLOBAL   JS_BIT(13)
#define JS_CALLEE(cx, vp)   ((vp)[0])
#define JS_ARGV_CALLEE(argv)   ((argv)[-2])
#define JS_THIS(cx, vp)   JS_ComputeThis(cx, vp)
#define JS_THIS_OBJECT(cx, vp)   ((JSObject *) JS_THIS(cx,vp))
#define JS_ARGV(cx, vp)   ((vp) + 2)
#define JS_RVAL(cx, vp)   (*(vp))
#define JS_SET_RVAL(cx, vp, v)   (*(vp) = (v))
#define JS_MAP_GCROOT_NEXT   0
#define JS_MAP_GCROOT_STOP   1
#define JS_MAP_GCROOT_REMOVE   2
#define JSTRACE_OBJECT   0
#define JSTRACE_DOUBLE   1
#define JSTRACE_STRING   2
#define JSVAL_IS_TRACEABLE(v)   (JSVAL_IS_GCTHING(v) && !JSVAL_IS_NULL(v))
#define JSVAL_TO_TRACEABLE(v)   (JSVAL_TO_GCTHING(v))
#define JSVAL_TRACE_KIND(v)   (JSVAL_TAG(v) >> 1)
#define JS_SET_TRACING_DETAILS(trc, printer, arg, index)
#define JS_SET_TRACING_INDEX(trc, name, index)   JS_SET_TRACING_DETAILS(trc, NULL, name, index)
#define JS_SET_TRACING_NAME(trc, name)   JS_SET_TRACING_DETAILS(trc, NULL, name, (size_t)-1)
#define JS_CALL_TRACER(trc, thing, kind, name)
#define JS_CALL_VALUE_TRACER(trc, val, name)
#define JS_CALL_OBJECT_TRACER(trc, object, name)
#define JS_CALL_STRING_TRACER(trc, string, name)
#define JS_CALL_DOUBLE_TRACER(trc, number, name)
#define JS_TRACER_INIT(trc, cx_, callback_)
#define JS_DEFAULT_SCRIPT_STACK_QUOTA   ((size_t) 0x2000000)
#define JSCLASS_HAS_PRIVATE   (1<<0)
#define JSCLASS_NEW_ENUMERATE   (1<<1)
#define JSCLASS_NEW_RESOLVE   (1<<2)
#define JSCLASS_PRIVATE_IS_NSISUPPORTS   (1<<3)
#define JSCLASS_SHARE_ALL_PROPERTIES   (1<<4)
#define JSCLASS_NEW_RESOLVE_GETS_START   (1<<5)
#define JSCLASS_CONSTRUCT_PROTOTYPE   (1<<6)
#define JSCLASS_DOCUMENT_OBSERVER   (1<<7)
#define JSCLASS_RESERVED_SLOTS_SHIFT   8
#define JSCLASS_RESERVED_SLOTS_WIDTH   8
#define JSCLASS_RESERVED_SLOTS_MASK   JS_BITMASK(JSCLASS_RESERVED_SLOTS_WIDTH)
#define JSCLASS_HAS_RESERVED_SLOTS(n)
#define JSCLASS_RESERVED_SLOTS(clasp)
#define JSCLASS_HIGH_FLAGS_SHIFT
#define JSCLASS_IS_EXTENDED   (1<<(JSCLASS_HIGH_FLAGS_SHIFT+0))
#define JSCLASS_IS_ANONYMOUS   (1<<(JSCLASS_HIGH_FLAGS_SHIFT+1))
#define JSCLASS_IS_GLOBAL   (1<<(JSCLASS_HIGH_FLAGS_SHIFT+2))
#define JSCLASS_MARK_IS_TRACE   (1<<(JSCLASS_HIGH_FLAGS_SHIFT+3))
#define JSCLASS_GLOBAL_FLAGS   (JSCLASS_IS_GLOBAL | JSCLASS_HAS_RESERVED_SLOTS(JSProto_LIMIT))
#define JSCLASS_CACHED_PROTO_SHIFT   (JSCLASS_HIGH_FLAGS_SHIFT + 8)
#define JSCLASS_CACHED_PROTO_WIDTH   8
#define JSCLASS_CACHED_PROTO_MASK   JS_BITMASK(JSCLASS_CACHED_PROTO_WIDTH)
#define JSCLASS_HAS_CACHED_PROTO(key)   ((key) << JSCLASS_CACHED_PROTO_SHIFT)
#define JSCLASS_CACHED_PROTO_KEY(clasp)
#define JSCLASS_NO_OPTIONAL_MEMBERS   0,0,0,0,0,0,0,0
#define JSCLASS_NO_RESERVED_MEMBERS   0,0,0
#define JS_DEFAULT_XML_NAMESPACE_ID   ((jsid) JSVAL_VOID)
#define JSRESOLVE_QUALIFIED   0x01
#define JSRESOLVE_ASSIGNING   0x02
#define JSRESOLVE_DETECTING   0x04
#define JSRESOLVE_DECLARING   0x08
#define JSRESOLVE_CLASSNAME   0x10
#define JSRESOLVE_WITH   0x20
#define JS_FS_END   JS_FS(NULL,NULL,0,0,0)
#define JS_FS(name, call, nargs, flags, extra)   {name, call, nargs, flags, extra}
#define JS_FN(name, fastcall, nargs, flags)
#define JS_GET_CLASS(cx, obj)   JS_GetClass(cx, obj)
#define JSPRINCIPALS_HOLD(cx, principals)   JS_HoldPrincipals(cx,principals)
#define JSPRINCIPALS_DROP(cx, principals)   JS_DropPrincipals(cx,principals)
#define JS_DONT_PRETTY_PRINT   ((uintN)0x8000)
#define JSREPORT_ERROR   0x0
#define JSREPORT_WARNING   0x1
#define JSREPORT_EXCEPTION   0x2
#define JSREPORT_STRICT   0x4
#define JSREPORT_STRICT_MODE_ERROR   0x8
#define JSREPORT_IS_WARNING(flags)   (((flags) & JSREPORT_WARNING) != 0)
#define JSREPORT_IS_EXCEPTION(flags)   (((flags) & JSREPORT_EXCEPTION) != 0)
#define JSREPORT_IS_STRICT(flags)   (((flags) & JSREPORT_STRICT) != 0)
#define JSREPORT_IS_STRICT_MODE_ERROR(flags)
#define JSREG_FOLD   0x01
#define JSREG_GLOB   0x02
#define JSREG_MULTILINE   0x04
#define JSREG_STICKY   0x08
#define JSREG_FLAT   0x10
#define JSREG_NOCOMPILE   0x20

Typedefs

typedef enum jsvaltag jsvaltag
typedef intN(* JSGCRootMapFun )(void *rp, const char *name, void *data)
typedef enum JSGCParamKey JSGCParamKey
typedef enum JSExecPart JSExecPart
typedef JSBool(* JSONWriteCallback )(const jschar *buf, uint32 len, void *data)

Enumerations

enum  jsvaltag {
  JSVAL_OBJECT = 0x0, JSVAL_INT = 0x1, JSVAL_DOUBLE = 0x2, JSVAL_STRING = 0x4,
  JSVAL_SPECIAL = 0x6
}
enum  JSGCParamKey {
  JSGC_MAX_BYTES = 0, JSGC_MAX_MALLOC_BYTES = 1, JSGC_STACKPOOL_LIFESPAN = 2, JSGC_TRIGGER_FACTOR = 3,
  JSGC_BYTES = 4, JSGC_NUMBER = 5, JSGC_MAX_CODE_CACHE_BYTES = 6
}
enum  JSExecPart { JSEXEC_PROLOG, JSEXEC_MAIN }

Functions

int64 JS_Now (void)
jsval JS_GetNaNValue (JSContext *cx)
jsval JS_GetNegativeInfinityValue (JSContext *cx)
jsval JS_GetPositiveInfinityValue (JSContext *cx)
jsval JS_GetEmptyStringValue (JSContext *cx)
JSBool JS_ConvertArguments (JSContext *cx, uintN argc, jsval *argv, const char *format,...)
jsvalJS_PushArguments (JSContext *cx, void **markp, const char *format,...)
void JS_PopArguments (JSContext *cx, void *mark)
JSBool JS_ConvertValue (JSContext *cx, jsval v, JSType type, jsval *vp)
JSBool JS_ValueToObject (JSContext *cx, jsval v, JSObject **objp)
JSFunctionJS_ValueToFunction (JSContext *cx, jsval v)
JSFunctionJS_ValueToConstructor (JSContext *cx, jsval v)
JSStringJS_ValueToString (JSContext *cx, jsval v)
JSStringJS_ValueToSource (JSContext *cx, jsval v)
JSBool JS_ValueToNumber (JSContext *cx, jsval v, jsdouble *dp)
JSBool JS_ValueToECMAInt32 (JSContext *cx, jsval v, int32 *ip)
JSBool JS_ValueToECMAUint32 (JSContext *cx, jsval v, uint32 *ip)
JSBool JS_ValueToInt32 (JSContext *cx, jsval v, int32 *ip)
JSBool JS_ValueToUint16 (JSContext *cx, jsval v, uint16 *ip)
JSBool JS_ValueToBoolean (JSContext *cx, jsval v, JSBool *bp)
JSType JS_TypeOfValue (JSContext *cx, jsval v)
const char * JS_GetTypeName (JSContext *cx, JSType type)
JSBool JS_StrictlyEqual (JSContext *cx, jsval v1, jsval v2)
JSBool JS_SameValue (JSContext *cx, jsval v1, jsval v2)
JSRuntimeJS_Init (uint32 maxbytes)
void JS_CommenceRuntimeShutDown (JSRuntime *rt)
void JS_Finish (JSRuntime *rt)
void JS_ShutDown (void)
void * JS_GetRuntimePrivate (JSRuntime *rt)
void JS_SetRuntimePrivate (JSRuntime *rt, void *data)
void JS_BeginRequest (JSContext *cx)
void JS_EndRequest (JSContext *cx)
void JS_YieldRequest (JSContext *cx)
jsrefcount JS_SuspendRequest (JSContext *cx)
void JS_ResumeRequest (JSContext *cx, jsrefcount saveDepth)
void JS_Lock (JSRuntime *rt)
void JS_Unlock (JSRuntime *rt)
JSContextCallback JS_SetContextCallback (JSRuntime *rt, JSContextCallback cxCallback)
JSContextJS_NewContext (JSRuntime *rt, size_t stackChunkSize)
void JS_DestroyContext (JSContext *cx)
void JS_DestroyContextNoGC (JSContext *cx)
void JS_DestroyContextMaybeGC (JSContext *cx)
void * JS_GetContextPrivate (JSContext *cx)
void JS_SetContextPrivate (JSContext *cx, void *data)
JSRuntimeJS_GetRuntime (JSContext *cx)
JSContextJS_ContextIterator (JSRuntime *rt, JSContext **iterp)
JSVersion JS_GetVersion (JSContext *cx)
JSVersion JS_SetVersion (JSContext *cx, JSVersion version)
const char * JS_VersionToString (JSVersion version)
JSVersion JS_StringToVersion (const char *string)
uint32 JS_GetOptions (JSContext *cx)
uint32 JS_SetOptions (JSContext *cx, uint32 options)
uint32 JS_ToggleOptions (JSContext *cx, uint32 options)
const char * JS_GetImplementationVersion (void)
JSObjectJS_GetGlobalObject (JSContext *cx)
void JS_SetGlobalObject (JSContext *cx, JSObject *obj)
JSBool JS_InitStandardClasses (JSContext *cx, JSObject *obj)
JSBool JS_ResolveStandardClass (JSContext *cx, JSObject *obj, jsval id, JSBool *resolved)
JSBool JS_EnumerateStandardClasses (JSContext *cx, JSObject *obj)
JSIdArrayJS_EnumerateResolvedStandardClasses (JSContext *cx, JSObject *obj, JSIdArray *ida)
JSBool JS_GetClassObject (JSContext *cx, JSObject *obj, JSProtoKey key, JSObject **objp)
JSObjectJS_GetScopeChain (JSContext *cx)
JSObjectJS_GetGlobalForObject (JSContext *cx, JSObject *obj)
jsval JS_ComputeThis (JSContext *cx, jsval *vp)
void * JS_malloc (JSContext *cx, size_t nbytes)
void * JS_realloc (JSContext *cx, void *p, size_t nbytes)
void JS_free (JSContext *cx, void *p)
void JS_updateMallocCounter (JSContext *cx, size_t nbytes)
char * JS_strdup (JSContext *cx, const char *s)
jsdoubleJS_NewDouble (JSContext *cx, jsdouble d)
JSBool JS_NewDoubleValue (JSContext *cx, jsdouble d, jsval *rval)
JSBool JS_NewNumberValue (JSContext *cx, jsdouble d, jsval *rval)
JSBool JS_AddRoot (JSContext *cx, void *rp)
JSBool JS_AddNamedRoot (JSContext *cx, void *rp, const char *name)
JSBool JS_AddNamedRootRT (JSRuntime *rt, void *rp, const char *name)
JSBool JS_RemoveRoot (JSContext *cx, void *rp)
JSBool JS_RemoveRootRT (JSRuntime *rt, void *rp)
void JS_ClearNewbornRoots (JSContext *cx)
JSBool JS_EnterLocalRootScope (JSContext *cx)
void JS_LeaveLocalRootScope (JSContext *cx)
void JS_LeaveLocalRootScopeWithResult (JSContext *cx, jsval rval)
void JS_ForgetLocalRoot (JSContext *cx, void *thing)
uint32 JS_MapGCRoots (JSRuntime *rt, JSGCRootMapFun map, void *data)
JSBool JS_LockGCThing (JSContext *cx, void *thing)
JSBool JS_LockGCThingRT (JSRuntime *rt, void *thing)
JSBool JS_UnlockGCThing (JSContext *cx, void *thing)
JSBool JS_UnlockGCThingRT (JSRuntime *rt, void *thing)
void JS_SetExtraGCRoots (JSRuntime *rt, JSTraceDataOp traceOp, void *data)
void JS_MarkGCThing (JSContext *cx, void *thing, const char *name, void *arg)
void JS_CallTracer (JSTracer *trc, void *thing, uint32 kind)
void JS_TraceChildren (JSTracer *trc, void *thing, uint32 kind)
void JS_TraceRuntime (JSTracer *trc)
void JS_GC (JSContext *cx)
void JS_MaybeGC (JSContext *cx)
JSGCCallback JS_SetGCCallback (JSContext *cx, JSGCCallback cb)
JSGCCallback JS_SetGCCallbackRT (JSRuntime *rt, JSGCCallback cb)
JSBool JS_IsGCMarkingTracer (JSTracer *trc)
JSBool JS_IsAboutToBeFinalized (JSContext *cx, void *thing)
void JS_SetGCParameter (JSRuntime *rt, JSGCParamKey key, uint32 value)
uint32 JS_GetGCParameter (JSRuntime *rt, JSGCParamKey key)
void JS_SetGCParameterForThread (JSContext *cx, JSGCParamKey key, uint32 value)
uint32 JS_GetGCParameterForThread (JSContext *cx, JSGCParamKey key)
void JS_FlushCaches (JSContext *cx)
intN JS_AddExternalStringFinalizer (JSStringFinalizeOp finalizer)
intN JS_RemoveExternalStringFinalizer (JSStringFinalizeOp finalizer)
JSStringJS_NewExternalString (JSContext *cx, jschar *chars, size_t length, intN type)
intN JS_GetExternalStringGCType (JSRuntime *rt, JSString *str)
void JS_SetThreadStackLimit (JSContext *cx, jsuword limitAddr)
void JS_SetScriptStackQuota (JSContext *cx, size_t quota)
void JS_DestroyIdArray (JSContext *cx, JSIdArray *ida)
JSBool JS_ValueToId (JSContext *cx, jsval v, jsid *idp)
JSBool JS_IdToValue (JSContext *cx, jsid id, jsval *vp)
JSBool JS_PropertyStub (JSContext *cx, JSObject *obj, jsval id, jsval *vp)
JSBool JS_EnumerateStub (JSContext *cx, JSObject *obj)
JSBool JS_ResolveStub (JSContext *cx, JSObject *obj, jsval id)
JSBool JS_ConvertStub (JSContext *cx, JSObject *obj, JSType type, jsval *vp)
void JS_FinalizeStub (JSContext *cx, JSObject *obj)
JSObjectJS_InitClass (JSContext *cx, JSObject *obj, JSObject *parent_proto, JSClass *clasp, JSNative constructor, uintN nargs, JSPropertySpec *ps, JSFunctionSpec *fs, JSPropertySpec *static_ps, JSFunctionSpec *static_fs)
JSClassJS_GetClass (JSContext *cx, JSObject *obj)
JSBool JS_InstanceOf (JSContext *cx, JSObject *obj, JSClass *clasp, jsval *argv)
JSBool JS_HasInstance (JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
void * JS_GetPrivate (JSContext *cx, JSObject *obj)
JSBool JS_SetPrivate (JSContext *cx, JSObject *obj, void *data)
void * JS_GetInstancePrivate (JSContext *cx, JSObject *obj, JSClass *clasp, jsval *argv)
JSObjectJS_GetPrototype (JSContext *cx, JSObject *obj)
JSBool JS_SetPrototype (JSContext *cx, JSObject *obj, JSObject *proto)
JSObjectJS_GetParent (JSContext *cx, JSObject *obj)
JSBool JS_SetParent (JSContext *cx, JSObject *obj, JSObject *parent)
JSObjectJS_GetConstructor (JSContext *cx, JSObject *proto)
JSBool JS_GetObjectId (JSContext *cx, JSObject *obj, jsid *idp)
JSObjectJS_NewObject (JSContext *cx, JSClass *clasp, JSObject *proto, JSObject *parent)
JSObjectJS_NewObjectWithGivenProto (JSContext *cx, JSClass *clasp, JSObject *proto, JSObject *parent)
JSBool JS_SealObject (JSContext *cx, JSObject *obj, JSBool deep)
JSObjectJS_ConstructObject (JSContext *cx, JSClass *clasp, JSObject *proto, JSObject *parent)
JSObjectJS_ConstructObjectWithArguments (JSContext *cx, JSClass *clasp, JSObject *proto, JSObject *parent, uintN argc, jsval *argv)
JSObjectJS_DefineObject (JSContext *cx, JSObject *obj, const char *name, JSClass *clasp, JSObject *proto, uintN attrs)
JSBool JS_DefineConstDoubles (JSContext *cx, JSObject *obj, JSConstDoubleSpec *cds)
JSBool JS_DefineProperties (JSContext *cx, JSObject *obj, JSPropertySpec *ps)
JSBool JS_DefineProperty (JSContext *cx, JSObject *obj, const char *name, jsval value, JSPropertyOp getter, JSPropertyOp setter, uintN attrs)
JSBool JS_DefinePropertyById (JSContext *cx, JSObject *obj, jsid id, jsval value, JSPropertyOp getter, JSPropertyOp setter, uintN attrs)
JSBool JS_GetPropertyAttributes (JSContext *cx, JSObject *obj, const char *name, uintN *attrsp, JSBool *foundp)
JSBool JS_GetPropertyAttrsGetterAndSetter (JSContext *cx, JSObject *obj, const char *name, uintN *attrsp, JSBool *foundp, JSPropertyOp *getterp, JSPropertyOp *setterp)
JSBool JS_GetPropertyAttrsGetterAndSetterById (JSContext *cx, JSObject *obj, jsid id, uintN *attrsp, JSBool *foundp, JSPropertyOp *getterp, JSPropertyOp *setterp)
JSBool JS_SetPropertyAttributes (JSContext *cx, JSObject *obj, const char *name, uintN attrs, JSBool *foundp)
JSBool JS_DefinePropertyWithTinyId (JSContext *cx, JSObject *obj, const char *name, int8 tinyid, jsval value, JSPropertyOp getter, JSPropertyOp setter, uintN attrs)
JSBool JS_AliasProperty (JSContext *cx, JSObject *obj, const char *name, const char *alias)
JSBool JS_AlreadyHasOwnProperty (JSContext *cx, JSObject *obj, const char *name, JSBool *foundp)
JSBool JS_AlreadyHasOwnPropertyById (JSContext *cx, JSObject *obj, jsid id, JSBool *foundp)
JSBool JS_HasProperty (JSContext *cx, JSObject *obj, const char *name, JSBool *foundp)
JSBool JS_HasPropertyById (JSContext *cx, JSObject *obj, jsid id, JSBool *foundp)
JSBool JS_LookupProperty (JSContext *cx, JSObject *obj, const char *name, jsval *vp)
JSBool JS_LookupPropertyById (JSContext *cx, JSObject *obj, jsid id, jsval *vp)
JSBool JS_LookupPropertyWithFlags (JSContext *cx, JSObject *obj, const char *name, uintN flags, jsval *vp)
JSBool JS_LookupPropertyWithFlagsById (JSContext *cx, JSObject *obj, jsid id, uintN flags, JSObject **objp, jsval *vp)
JSBool JS_GetPropertyDescriptorById (JSContext *cx, JSObject *obj, jsid id, uintN flags, JSPropertyDescriptor *desc)
JSBool JS_GetProperty (JSContext *cx, JSObject *obj, const char *name, jsval *vp)
JSBool JS_GetPropertyById (JSContext *cx, JSObject *obj, jsid id, jsval *vp)
JSBool JS_GetMethodById (JSContext *cx, JSObject *obj, jsid id, JSObject **objp, jsval *vp)
JSBool JS_GetMethod (JSContext *cx, JSObject *obj, const char *name, JSObject **objp, jsval *vp)
JSBool JS_SetProperty (JSContext *cx, JSObject *obj, const char *name, jsval *vp)
JSBool JS_SetPropertyById (JSContext *cx, JSObject *obj, jsid id, jsval *vp)
JSBool JS_DeleteProperty (JSContext *cx, JSObject *obj, const char *name)
JSBool JS_DeleteProperty2 (JSContext *cx, JSObject *obj, const char *name, jsval *rval)
JSBool JS_DeletePropertyById (JSContext *cx, JSObject *obj, jsid id)
JSBool JS_DeletePropertyById2 (JSContext *cx, JSObject *obj, jsid id, jsval *rval)
JSBool JS_DefineUCProperty (JSContext *cx, JSObject *obj, const jschar *name, size_t namelen, jsval value, JSPropertyOp getter, JSPropertyOp setter, uintN attrs)
JSBool JS_GetUCPropertyAttributes (JSContext *cx, JSObject *obj, const jschar *name, size_t namelen, uintN *attrsp, JSBool *foundp)
JSBool JS_GetUCPropertyAttrsGetterAndSetter (JSContext *cx, JSObject *obj, const jschar *name, size_t namelen, uintN *attrsp, JSBool *foundp, JSPropertyOp *getterp, JSPropertyOp *setterp)
JSBool JS_SetUCPropertyAttributes (JSContext *cx, JSObject *obj, const jschar *name, size_t namelen, uintN attrs, JSBool *foundp)
JSBool JS_DefineUCPropertyWithTinyId (JSContext *cx, JSObject *obj, const jschar *name, size_t namelen, int8 tinyid, jsval value, JSPropertyOp getter, JSPropertyOp setter, uintN attrs)
JSBool JS_AlreadyHasOwnUCProperty (JSContext *cx, JSObject *obj, const jschar *name, size_t namelen, JSBool *foundp)
JSBool JS_HasUCProperty (JSContext *cx, JSObject *obj, const jschar *name, size_t namelen, JSBool *vp)
JSBool JS_LookupUCProperty (JSContext *cx, JSObject *obj, const jschar *name, size_t namelen, jsval *vp)
JSBool JS_GetUCProperty (JSContext *cx, JSObject *obj, const jschar *name, size_t namelen, jsval *vp)
JSBool JS_SetUCProperty (JSContext *cx, JSObject *obj, const jschar *name, size_t namelen, jsval *vp)
JSBool JS_DeleteUCProperty2 (JSContext *cx, JSObject *obj, const jschar *name, size_t namelen, jsval *rval)
JSObjectJS_NewArrayObject (JSContext *cx, jsint length, jsval *vector)
JSBool JS_IsArrayObject (JSContext *cx, JSObject *obj)
JSBool JS_GetArrayLength (JSContext *cx, JSObject *obj, jsuint *lengthp)
JSBool JS_SetArrayLength (JSContext *cx, JSObject *obj, jsuint length)
JSBool JS_HasArrayLength (JSContext *cx, JSObject *obj, jsuint *lengthp)
JSBool JS_DefineElement (JSContext *cx, JSObject *obj, jsint index, jsval value, JSPropertyOp getter, JSPropertyOp setter, uintN attrs)
JSBool JS_AliasElement (JSContext *cx, JSObject *obj, const char *name, jsint alias)
JSBool JS_AlreadyHasOwnElement (JSContext *cx, JSObject *obj, jsint index, JSBool *foundp)
JSBool JS_HasElement (JSContext *cx, JSObject *obj, jsint index, JSBool *foundp)
JSBool JS_LookupElement (JSContext *cx, JSObject *obj, jsint index, jsval *vp)
JSBool JS_GetElement (JSContext *cx, JSObject *obj, jsint index, jsval *vp)
JSBool JS_SetElement (JSContext *cx, JSObject *obj, jsint index, jsval *vp)
JSBool JS_DeleteElement (JSContext *cx, JSObject *obj, jsint index)
JSBool JS_DeleteElement2 (JSContext *cx, JSObject *obj, jsint index, jsval *rval)
void JS_ClearScope (JSContext *cx, JSObject *obj)
JSIdArrayJS_Enumerate (JSContext *cx, JSObject *obj)
JSObjectJS_NewPropertyIterator (JSContext *cx, JSObject *obj)
JSBool JS_NextProperty (JSContext *cx, JSObject *iterobj, jsid *idp)
JSBool JS_CheckAccess (JSContext *cx, JSObject *obj, jsid id, JSAccessMode mode, jsval *vp, uintN *attrsp)
JSBool JS_GetReservedSlot (JSContext *cx, JSObject *obj, uint32 index, jsval *vp)
JSBool JS_SetReservedSlot (JSContext *cx, JSObject *obj, uint32 index, jsval v)
jsrefcount JS_HoldPrincipals (JSContext *cx, JSPrincipals *principals)
jsrefcount JS_DropPrincipals (JSContext *cx, JSPrincipals *principals)
JSSecurityCallbacksJS_SetRuntimeSecurityCallbacks (JSRuntime *rt, JSSecurityCallbacks *callbacks)
JSSecurityCallbacksJS_GetRuntimeSecurityCallbacks (JSRuntime *rt)
JSSecurityCallbacksJS_SetContextSecurityCallbacks (JSContext *cx, JSSecurityCallbacks *callbacks)
JSSecurityCallbacksJS_GetSecurityCallbacks (JSContext *cx)
JSFunctionJS_NewFunction (JSContext *cx, JSNative call, uintN nargs, uintN flags, JSObject *parent, const char *name)
JSObjectJS_GetFunctionObject (JSFunction *fun)
const char * JS_GetFunctionName (JSFunction *fun)
JSStringJS_GetFunctionId (JSFunction *fun)
uintN JS_GetFunctionFlags (JSFunction *fun)
uint16 JS_GetFunctionArity (JSFunction *fun)
JSBool JS_ObjectIsFunction (JSContext *cx, JSObject *obj)
JSBool JS_DefineFunctions (JSContext *cx, JSObject *obj, JSFunctionSpec *fs)
JSFunctionJS_DefineFunction (JSContext *cx, JSObject *obj, const char *name, JSNative call, uintN nargs, uintN attrs)
JSFunctionJS_DefineUCFunction (JSContext *cx, JSObject *obj, const jschar *name, size_t namelen, JSNative call, uintN nargs, uintN attrs)
JSObjectJS_CloneFunctionObject (JSContext *cx, JSObject *funobj, JSObject *parent)
JSBool JS_BufferIsCompilableUnit (JSContext *cx, JSObject *obj, const char *bytes, size_t length)
JSScriptJS_CompileScript (JSContext *cx, JSObject *obj, const char *bytes, size_t length, const char *filename, uintN lineno)
JSScriptJS_CompileScriptForPrincipals (JSContext *cx, JSObject *obj, JSPrincipals *principals, const char *bytes, size_t length, const char *filename, uintN lineno)
JSScriptJS_CompileUCScript (JSContext *cx, JSObject *obj, const jschar *chars, size_t length, const char *filename, uintN lineno)
JSScriptJS_CompileUCScriptForPrincipals (JSContext *cx, JSObject *obj, JSPrincipals *principals, const jschar *chars, size_t length, const char *filename, uintN lineno)
JSScriptJS_CompileFile (JSContext *cx, JSObject *obj, const char *filename)
JSScriptJS_CompileFileHandle (JSContext *cx, JSObject *obj, const char *filename, FILE *fh)
JSScriptJS_CompileFileHandleForPrincipals (JSContext *cx, JSObject *obj, const char *filename, FILE *fh, JSPrincipals *principals)
JSObjectJS_NewScriptObject (JSContext *cx, JSScript *script)
JSObjectJS_GetScriptObject (JSScript *script)
void JS_DestroyScript (JSContext *cx, JSScript *script)
JSFunctionJS_CompileFunction (JSContext *cx, JSObject *obj, const char *name, uintN nargs, const char **argnames, const char *bytes, size_t length, const char *filename, uintN lineno)
JSFunctionJS_CompileFunctionForPrincipals (JSContext *cx, JSObject *obj, JSPrincipals *principals, const char *name, uintN nargs, const char **argnames, const char *bytes, size_t length, const char *filename, uintN lineno)
JSFunctionJS_CompileUCFunction (JSContext *cx, JSObject *obj, const char *name, uintN nargs, const char **argnames, const jschar *chars, size_t length, const char *filename, uintN lineno)
JSFunctionJS_CompileUCFunctionForPrincipals (JSContext *cx, JSObject *obj, JSPrincipals *principals, const char *name, uintN nargs, const char **argnames, const jschar *chars, size_t length, const char *filename, uintN lineno)
JSStringJS_DecompileScript (JSContext *cx, JSScript *script, const char *name, uintN indent)
JSStringJS_DecompileFunction (JSContext *cx, JSFunction *fun, uintN indent)
JSStringJS_DecompileFunctionBody (JSContext *cx, JSFunction *fun, uintN indent)
JSBool JS_ExecuteScript (JSContext *cx, JSObject *obj, JSScript *script, jsval *rval)
JSBool JS_ExecuteScriptPart (JSContext *cx, JSObject *obj, JSScript *script, JSExecPart part, jsval *rval)
JSBool JS_EvaluateScript (JSContext *cx, JSObject *obj, const char *bytes, uintN length, const char *filename, uintN lineno, jsval *rval)
JSBool JS_EvaluateScriptForPrincipals (JSContext *cx, JSObject *obj, JSPrincipals *principals, const char *bytes, uintN length, const char *filename, uintN lineno, jsval *rval)
JSBool JS_EvaluateUCScript (JSContext *cx, JSObject *obj, const jschar *chars, uintN length, const char *filename, uintN lineno, jsval *rval)
JSBool JS_EvaluateUCScriptForPrincipals (JSContext *cx, JSObject *obj, JSPrincipals *principals, const jschar *chars, uintN length, const char *filename, uintN lineno, jsval *rval)
JSBool JS_CallFunction (JSContext *cx, JSObject *obj, JSFunction *fun, uintN argc, jsval *argv, jsval *rval)
JSBool JS_CallFunctionName (JSContext *cx, JSObject *obj, const char *name, uintN argc, jsval *argv, jsval *rval)
JSBool JS_CallFunctionValue (JSContext *cx, JSObject *obj, jsval fval, uintN argc, jsval *argv, jsval *rval)
JSOperationCallback JS_SetOperationCallback (JSContext *cx, JSOperationCallback callback)
JSOperationCallback JS_GetOperationCallback (JSContext *cx)
void JS_TriggerOperationCallback (JSContext *cx)
void JS_TriggerAllOperationCallbacks (JSRuntime *rt)
JSBool JS_IsRunning (JSContext *cx)
JSBool JS_IsConstructing (JSContext *cx)
JSBool JS_IsAssigning (JSContext *cx)
JSStackFrameJS_SaveFrameChain (JSContext *cx)
void JS_RestoreFrameChain (JSContext *cx, JSStackFrame *fp)
JSStringJS_NewString (JSContext *cx, char *bytes, size_t length)
JSStringJS_NewStringCopyN (JSContext *cx, const char *s, size_t n)
JSStringJS_NewStringCopyZ (JSContext *cx, const char *s)
JSStringJS_InternString (JSContext *cx, const char *s)
JSStringJS_NewUCString (JSContext *cx, jschar *chars, size_t length)
JSStringJS_NewUCStringCopyN (JSContext *cx, const jschar *s, size_t n)
JSStringJS_NewUCStringCopyZ (JSContext *cx, const jschar *s)
JSStringJS_InternUCStringN (JSContext *cx, const jschar *s, size_t length)
JSStringJS_InternUCString (JSContext *cx, const jschar *s)
char * JS_GetStringBytes (JSString *str)
jscharJS_GetStringChars (JSString *str)
size_t JS_GetStringLength (JSString *str)
const char * JS_GetStringBytesZ (JSContext *cx, JSString *str)
const jscharJS_GetStringCharsZ (JSContext *cx, JSString *str)
intN JS_CompareStrings (JSString *str1, JSString *str2)
JSStringJS_NewGrowableString (JSContext *cx, jschar *chars, size_t length)
JSStringJS_NewDependentString (JSContext *cx, JSString *str, size_t start, size_t length)
JSStringJS_ConcatStrings (JSContext *cx, JSString *left, JSString *right)
const jscharJS_UndependString (JSContext *cx, JSString *str)
JSBool JS_MakeStringImmutable (JSContext *cx, JSString *str)
JSBool JS_CStringsAreUTF8 (void)
void JS_SetCStringsAreUTF8 (void)
JSBool JS_EncodeCharacters (JSContext *cx, const jschar *src, size_t srclen, char *dst, size_t *dstlenp)
JSBool JS_DecodeBytes (JSContext *cx, const char *src, size_t srclen, jschar *dst, size_t *dstlenp)
char * JS_EncodeString (JSContext *cx, JSString *str)
JSBool JS_Stringify (JSContext *cx, jsval *vp, JSObject *replacer, jsval space, JSONWriteCallback callback, void *data)
JSBool JS_TryJSON (JSContext *cx, jsval *vp)
JSONParserJS_BeginJSONParse (JSContext *cx, jsval *vp)
JSBool JS_ConsumeJSONText (JSContext *cx, JSONParser *jp, const jschar *data, uint32 len)
JSBool JS_FinishJSONParse (JSContext *cx, JSONParser *jp, jsval reviver)
void JS_SetLocaleCallbacks (JSContext *cx, JSLocaleCallbacks *callbacks)
JSLocaleCallbacksJS_GetLocaleCallbacks (JSContext *cx)
void JS_ReportError (JSContext *cx, const char *format,...)
void JS_ReportErrorNumber (JSContext *cx, JSErrorCallback errorCallback, void *userRef, const uintN errorNumber,...)
void JS_ReportErrorNumberUC (JSContext *cx, JSErrorCallback errorCallback, void *userRef, const uintN errorNumber,...)
JSBool JS_ReportWarning (JSContext *cx, const char *format,...)
JSBool JS_ReportErrorFlagsAndNumber (JSContext *cx, uintN flags, JSErrorCallback errorCallback, void *userRef, const uintN errorNumber,...)
JSBool JS_ReportErrorFlagsAndNumberUC (JSContext *cx, uintN flags, JSErrorCallback errorCallback, void *userRef, const uintN errorNumber,...)
void JS_ReportOutOfMemory (JSContext *cx)
void JS_ReportAllocationOverflow (JSContext *cx)
JSErrorReporter JS_SetErrorReporter (JSContext *cx, JSErrorReporter er)
JSObjectJS_NewRegExpObject (JSContext *cx, char *bytes, size_t length, uintN flags)
JSObjectJS_NewUCRegExpObject (JSContext *cx, jschar *chars, size_t length, uintN flags)
void JS_SetRegExpInput (JSContext *cx, JSString *input, JSBool multiline)
void JS_ClearRegExpStatics (JSContext *cx)
void JS_ClearRegExpRoots (JSContext *cx)
JSBool JS_IsExceptionPending (JSContext *cx)
JSBool JS_GetPendingException (JSContext *cx, jsval *vp)
void JS_SetPendingException (JSContext *cx, jsval v)
void JS_ClearPendingException (JSContext *cx)
JSBool JS_ReportPendingException (JSContext *cx)
JSExceptionStateJS_SaveExceptionState (JSContext *cx)
void JS_RestoreExceptionState (JSContext *cx, JSExceptionState *state)
void JS_DropExceptionState (JSContext *cx, JSExceptionState *state)
JSErrorReportJS_ErrorFromException (JSContext *cx, jsval v)
JSBool JS_ThrowReportedError (JSContext *cx, const char *message, JSErrorReport *reportp)
JSBool JS_ThrowStopIteration (JSContext *cx)
jsword JS_GetContextThread (JSContext *cx)
jsword JS_SetContextThread (JSContext *cx)
jsword JS_ClearContextThread (JSContext *cx)

Define Documentation

#define INT_FITS_IN_JSVAL (   i  ) 
Value:
((jsuint)(i) - (jsuint)JSVAL_INT_MIN <=       \
                                 (jsuint)(JSVAL_INT_MAX - JSVAL_INT_MIN))
#define INT_TO_JSVAL_CONSTEXPR (   i  )     (((jsval)(i) << 1) | JSVAL_INT)
#define JS_ARGV (   cx,
  vp 
)    ((vp) + 2)
#define JS_ARGV_CALLEE (   argv  )     ((argv)[-2])
#define JS_CALL_DOUBLE_TRACER (   trc,
  number,
  name 
)
Value:
JS_BEGIN_MACRO                                                            \
        jsdouble *num_ = (number);                                            \
        JS_ASSERT(num_);                                                      \
        JS_CALL_TRACER((trc), num_, JSTRACE_DOUBLE, name);                    \
    JS_END_MACRO
#define JS_CALL_OBJECT_TRACER (   trc,
  object,
  name 
)
Value:
JS_BEGIN_MACRO                                                            \
        JSObject *obj_ = (object);                                            \
        JS_ASSERT(obj_);                                                      \
        JS_CALL_TRACER((trc), obj_, JSTRACE_OBJECT, name);                    \
    JS_END_MACRO
#define JS_CALL_STRING_TRACER (   trc,
  string,
  name 
)
Value:
JS_BEGIN_MACRO                                                            \
        JSString *str_ = (string);                                            \
        JS_ASSERT(str_);                                                      \
        JS_CALL_TRACER((trc), str_, JSTRACE_STRING, name);                    \
    JS_END_MACRO
#define JS_CALL_TRACER (   trc,
  thing,
  kind,
  name 
)
Value:
JS_BEGIN_MACRO                                                            \
        JS_SET_TRACING_NAME(trc, name);                                       \
        JS_CallTracer((trc), (thing), (kind));                                \
    JS_END_MACRO
#define JS_CALL_VALUE_TRACER (   trc,
  val,
  name 
)
Value:
JS_BEGIN_MACRO                                                            \
        if (JSVAL_IS_TRACEABLE(val)) {                                        \
            JS_CALL_TRACER((trc), JSVAL_TO_GCTHING(val),                      \
                           JSVAL_TRACE_KIND(val), name);                      \
        }                                                                     \
    JS_END_MACRO
#define JS_CALLEE (   cx,
  vp 
)    ((vp)[0])
#define JS_DEFAULT_SCRIPT_STACK_QUOTA   ((size_t) 0x2000000)
#define JS_DEFAULT_XML_NAMESPACE_ID   ((jsid) JSVAL_VOID)
#define JS_DestroyRuntime   JS_Finish
#define JS_DONT_PRETTY_PRINT   ((uintN)0x8000)
#define JS_FN (   name,
  fastcall,
  nargs,
  flags 
)
Value:
JS_FS(name, (JSNative)(fastcall), nargs,                                  \
          (flags) | JSFUN_FAST_NATIVE | JSFUN_STUB_GSOPS, 0)
#define JS_FS (   name,
  call,
  nargs,
  flags,
  extra 
)    {name, call, nargs, flags, extra}
#define JS_FS_END   JS_FS(NULL,NULL,0,0,0)
#define JS_GET_CLASS (   cx,
  obj 
)    JS_GetClass(cx, obj)
#define JS_LockRuntime   JS_Lock
#define JS_MAP_GCROOT_NEXT   0
#define JS_MAP_GCROOT_REMOVE   2
#define JS_MAP_GCROOT_STOP   1
#define JS_NewRuntime   JS_Init
#define JS_RVAL (   cx,
  vp 
)    (*(vp))
#define JS_SET_RVAL (   cx,
  vp,
  v 
)    (*(vp) = (v))
#define JS_SET_TRACING_DETAILS (   trc,
  printer,
  arg,
  index 
)
#define JS_SET_TRACING_INDEX (   trc,
  name,
  index 
)    JS_SET_TRACING_DETAILS(trc, NULL, name, index)
#define JS_SET_TRACING_NAME (   trc,
  name 
)    JS_SET_TRACING_DETAILS(trc, NULL, name, (size_t)-1)
#define JS_THIS (   cx,
  vp 
)    JS_ComputeThis(cx, vp)
#define JS_THIS_OBJECT (   cx,
  vp 
)    ((JSObject *) JS_THIS(cx,vp))
#define JS_TRACER_INIT (   trc,
  cx_,
  callback_ 
)
Value:
JS_BEGIN_MACRO                                                            \
        (trc)->context = (cx_);                                               \
        (trc)->callback = (callback_);                                        \
        (trc)->debugPrinter = NULL;                                           \
        (trc)->debugPrintArg = NULL;                                          \
        (trc)->debugPrintIndex = (size_t)-1;                                  \
    JS_END_MACRO
#define JS_UnlockRuntime   JS_Unlock
#define JSCLASS_CACHED_PROTO_KEY (   clasp  ) 
Value:
((JSProtoKey)                         \
                                         (((clasp)->flags                     \
                                           >> JSCLASS_CACHED_PROTO_SHIFT)     \
                                          & JSCLASS_CACHED_PROTO_MASK))
#define JSCLASS_CACHED_PROTO_MASK   JS_BITMASK(JSCLASS_CACHED_PROTO_WIDTH)
#define JSCLASS_CACHED_PROTO_SHIFT   (JSCLASS_HIGH_FLAGS_SHIFT + 8)
#define JSCLASS_CACHED_PROTO_WIDTH   8
#define JSCLASS_CONSTRUCT_PROTOTYPE   (1<<6)
#define JSCLASS_DOCUMENT_OBSERVER   (1<<7)
#define JSCLASS_GLOBAL_FLAGS   (JSCLASS_IS_GLOBAL | JSCLASS_HAS_RESERVED_SLOTS(JSProto_LIMIT))
#define JSCLASS_HAS_CACHED_PROTO (   key  )     ((key) << JSCLASS_CACHED_PROTO_SHIFT)
#define JSCLASS_HAS_PRIVATE   (1<<0)
#define JSCLASS_HAS_RESERVED_SLOTS (   n  ) 
Value:
(((n) & JSCLASS_RESERVED_SLOTS_MASK)  \
                                         << JSCLASS_RESERVED_SLOTS_SHIFT)
#define JSCLASS_HIGH_FLAGS_SHIFT
Value:
(JSCLASS_RESERVED_SLOTS_SHIFT +       \
                                         JSCLASS_RESERVED_SLOTS_WIDTH)
#define JSCLASS_IS_ANONYMOUS   (1<<(JSCLASS_HIGH_FLAGS_SHIFT+1))
#define JSCLASS_IS_EXTENDED   (1<<(JSCLASS_HIGH_FLAGS_SHIFT+0))
#define JSCLASS_IS_GLOBAL   (1<<(JSCLASS_HIGH_FLAGS_SHIFT+2))
#define JSCLASS_MARK_IS_TRACE   (1<<(JSCLASS_HIGH_FLAGS_SHIFT+3))
#define JSCLASS_NEW_ENUMERATE   (1<<1)
#define JSCLASS_NEW_RESOLVE   (1<<2)
#define JSCLASS_NEW_RESOLVE_GETS_START   (1<<5)
#define JSCLASS_NO_OPTIONAL_MEMBERS   0,0,0,0,0,0,0,0
#define JSCLASS_NO_RESERVED_MEMBERS   0,0,0
#define JSCLASS_PRIVATE_IS_NSISUPPORTS   (1<<3)
#define JSCLASS_RESERVED_SLOTS (   clasp  ) 
Value:
(((clasp)->flags                      \
                                          >> JSCLASS_RESERVED_SLOTS_SHIFT)    \
                                         & JSCLASS_RESERVED_SLOTS_MASK)
#define JSCLASS_RESERVED_SLOTS_MASK   JS_BITMASK(JSCLASS_RESERVED_SLOTS_WIDTH)
#define JSCLASS_RESERVED_SLOTS_SHIFT   8
#define JSCLASS_RESERVED_SLOTS_WIDTH   8
#define JSCLASS_SHARE_ALL_PROPERTIES   (1<<4)
#define JSFUN_BOUND_METHOD   0x40
#define JSFUN_BOUND_METHOD_TEST (   f  )     ((f) & JSFUN_BOUND_METHOD)
#define JSFUN_DISJOINT_FLAGS (   f  )     ((f) & 0x0f)
#define JSFUN_FAST_NATIVE   0x0800
#define JSFUN_FLAGS_MASK   0x0ff8
#define JSFUN_GENERIC_NATIVE   JSFUN_LAMBDA
#define JSFUN_GETTER   JSPROP_GETTER
#define JSFUN_GETTER_TEST (   f  )     ((f) & JSFUN_GETTER)
#define JSFUN_GSFLAG2ATTR (   f  )     JSFUN_GSFLAGS(f)
#define JSFUN_GSFLAGS (   f  )     ((f) & (JSFUN_GETTER | JSFUN_SETTER))
#define JSFUN_HEAVYWEIGHT   0x80
#define JSFUN_HEAVYWEIGHT_TEST (   f  )     ((f) & JSFUN_HEAVYWEIGHT)
#define JSFUN_LAMBDA   0x08
#define JSFUN_SETTER   JSPROP_SETTER
#define JSFUN_SETTER_TEST (   f  )     ((f) & JSFUN_SETTER)
#define JSFUN_STUB_GSOPS   0x1000
#define JSFUN_THISP_BOOLEAN   0x0400
#define JSFUN_THISP_FLAGS (   f  )     (f)
#define JSFUN_THISP_NUMBER   0x0200
#define JSFUN_THISP_PRIMITIVE   0x0700
#define JSFUN_THISP_STRING   0x0100
#define JSFUN_THISP_TEST (   f,
  t 
)    ((f) & t)
#define JSOPTION_ANONFUNFIX   JS_BIT(10)
#define JSOPTION_ATLINE   JS_BIT(5)
#define JSOPTION_COMPILE_N_GO   JS_BIT(4)
#define JSOPTION_DONT_REPORT_UNCAUGHT   JS_BIT(8)
#define JSOPTION_JIT   JS_BIT(11)
#define JSOPTION_NO_SCRIPT_RVAL   JS_BIT(12)
#define JSOPTION_PRIVATE_IS_NSISUPPORTS   JS_BIT(3)
#define JSOPTION_RELIMIT   JS_BIT(9)
#define JSOPTION_STRICT   JS_BIT(0)
#define JSOPTION_UNROOTED_GLOBAL   JS_BIT(13)
#define JSOPTION_VAROBJFIX   JS_BIT(2)
#define JSOPTION_WERROR   JS_BIT(1)
#define JSOPTION_XML   JS_BIT(6)
#define JSPRINCIPALS_DROP (   cx,
  principals 
)    JS_DropPrincipals(cx,principals)
#define JSPRINCIPALS_HOLD (   cx,
  principals 
)    JS_HoldPrincipals(cx,principals)
#define JSPROP_ENUMERATE   0x01
#define JSPROP_GETTER   0x10
#define JSPROP_INDEX   0x80
#define JSPROP_PERMANENT   0x04
#define JSPROP_READONLY   0x02
#define JSPROP_SETTER   0x20
#define JSPROP_SHARED   0x40
#define JSREG_FLAT   0x10
#define JSREG_FOLD   0x01
#define JSREG_GLOB   0x02
#define JSREG_MULTILINE   0x04
#define JSREG_NOCOMPILE   0x20
#define JSREG_STICKY   0x08
#define JSREPORT_ERROR   0x0
#define JSREPORT_EXCEPTION   0x2
#define JSREPORT_IS_EXCEPTION (   flags  )     (((flags) & JSREPORT_EXCEPTION) != 0)
#define JSREPORT_IS_STRICT (   flags  )     (((flags) & JSREPORT_STRICT) != 0)
#define JSREPORT_IS_STRICT_MODE_ERROR (   flags  ) 
Value:
#define JSREPORT_IS_WARNING (   flags  )     (((flags) & JSREPORT_WARNING) != 0)
#define JSREPORT_STRICT   0x4
#define JSREPORT_STRICT_MODE_ERROR   0x8
#define JSREPORT_WARNING   0x1
#define JSRESOLVE_ASSIGNING   0x02
#define JSRESOLVE_CLASSNAME   0x10
#define JSRESOLVE_DECLARING   0x08
#define JSRESOLVE_DETECTING   0x04
#define JSRESOLVE_QUALIFIED   0x01
#define JSRESOLVE_WITH   0x20
#define JSTRACE_DOUBLE   1
#define JSTRACE_OBJECT   0
#define JSTRACE_STRING   2
#define JSVAL_ALIGN   JS_BIT(JSVAL_TAGBITS)
#define JSVAL_FALSE   SPECIAL_TO_JSVAL(JS_FALSE)
#define JSVAL_INT_BITS   31
#define JSVAL_INT_MAX   (JSVAL_INT_POW2(30) - 1)
#define JSVAL_INT_MIN   (-JSVAL_INT_POW2(30))
#define JSVAL_INT_POW2 (   n  )     ((jsval)1 << (n))
#define JSVAL_IS_TRACEABLE (   v  )     (JSVAL_IS_GCTHING(v) && !JSVAL_IS_NULL(v))
#define JSVAL_LOCK (   cx,
  v 
)
Value:
(JSVAL_IS_GCTHING(v)                          \
                                 ? JS_LockGCThing(cx, JSVAL_TO_GCTHING(v))    \
                                 : JS_TRUE)
#define JSVAL_NULL   ((jsval) 0)
#define JSVAL_ONE   INT_TO_JSVAL(1)
#define JSVAL_SETTAG (   v,
  t 
)    ((v) | (t))
#define JSVAL_TAG (   v  )     ((jsvaltag)((v) & JSVAL_TAGMASK))
#define JSVAL_TAGBITS   3
#define JSVAL_TAGMASK   ((jsval) JS_BITMASK(JSVAL_TAGBITS))
#define JSVAL_TO_PRIVATE (   v  )     ((void *)((v) & ~JSVAL_INT))
#define JSVAL_TO_SPECIAL (   v  )     ((JSBool) ((v) >> JSVAL_TAGBITS))
#define JSVAL_TO_TRACEABLE (   v  )     (JSVAL_TO_GCTHING(v))
#define JSVAL_TRACE_KIND (   v  )     (JSVAL_TAG(v) >> 1)
#define JSVAL_TRUE   SPECIAL_TO_JSVAL(JS_TRUE)
#define JSVAL_UNLOCK (   cx,
  v 
)
Value:
(JSVAL_IS_GCTHING(v)                          \
                                 ? JS_UnlockGCThing(cx, JSVAL_TO_GCTHING(v))  \
                                 : JS_TRUE)
#define JSVAL_VOID   SPECIAL_TO_JSVAL(2)
#define JSVAL_ZERO   INT_TO_JSVAL(0)
#define PRIVATE_TO_JSVAL (   p  )     ((jsval)(p) | JSVAL_INT)
#define SPECIAL_TO_JSVAL (   b  )     JSVAL_SETTAG((jsval) (b) << JSVAL_TAGBITS, JSVAL_SPECIAL)

Typedef Documentation

typedef enum JSExecPart JSExecPart
typedef enum JSGCParamKey JSGCParamKey
typedef intN(* JSGCRootMapFun)(void *rp, const char *name, void *data)
typedef JSBool(* JSONWriteCallback)(const jschar *buf, uint32 len, void *data)
typedef enum jsvaltag jsvaltag

Enumeration Type Documentation

enum JSExecPart
Enumerator:
JSEXEC_PROLOG 
JSEXEC_MAIN 
Enumerator:
JSGC_MAX_BYTES 
JSGC_MAX_MALLOC_BYTES 
JSGC_STACKPOOL_LIFESPAN 
JSGC_TRIGGER_FACTOR 
JSGC_BYTES 
JSGC_NUMBER 
JSGC_MAX_CODE_CACHE_BYTES 
enum jsvaltag
Enumerator:
JSVAL_OBJECT 
JSVAL_INT 
JSVAL_DOUBLE 
JSVAL_STRING 
JSVAL_SPECIAL 

Function Documentation

intN JS_AddExternalStringFinalizer ( JSStringFinalizeOp  finalizer  ) 
JSBool JS_AddNamedRoot ( JSContext cx,
void *  rp,
const char *  name 
)
JSBool JS_AddNamedRootRT ( JSRuntime rt,
void *  rp,
const char *  name 
)
JSBool JS_AddRoot ( JSContext cx,
void *  rp 
)
JSBool JS_AliasElement ( JSContext cx,
JSObject obj,
const char *  name,
jsint  alias 
)
JSBool JS_AliasProperty ( JSContext cx,
JSObject obj,
const char *  name,
const char *  alias 
)
JSBool JS_AlreadyHasOwnElement ( JSContext cx,
JSObject obj,
jsint  index,
JSBool foundp 
)
JSBool JS_AlreadyHasOwnProperty ( JSContext cx,
JSObject obj,
const char *  name,
JSBool foundp 
)
JSBool JS_AlreadyHasOwnPropertyById ( JSContext cx,
JSObject obj,
jsid  id,
JSBool foundp 
)
JSBool JS_AlreadyHasOwnUCProperty ( JSContext cx,
JSObject obj,
const jschar name,
size_t  namelen,
JSBool foundp 
)
JSONParser* JS_BeginJSONParse ( JSContext cx,
jsval vp 
)
void JS_BeginRequest ( JSContext cx  ) 
JSBool JS_BufferIsCompilableUnit ( JSContext cx,
JSObject obj,
const char *  bytes,
size_t  length 
)
JSBool JS_CallFunction ( JSContext cx,
JSObject obj,
JSFunction fun,
uintN  argc,
jsval argv,
jsval rval 
)
JSBool JS_CallFunctionName ( JSContext cx,
JSObject obj,
const char *  name,
uintN  argc,
jsval argv,
jsval rval 
)
JSBool JS_CallFunctionValue ( JSContext cx,
JSObject obj,
jsval  fval,
uintN  argc,
jsval argv,
jsval rval 
)
void JS_CallTracer ( JSTracer trc,
void *  thing,
uint32  kind 
)
JSBool JS_CheckAccess ( JSContext cx,
JSObject obj,
jsid  id,
JSAccessMode  mode,
jsval vp,
uintN attrsp 
)
jsword JS_ClearContextThread ( JSContext cx  ) 
void JS_ClearNewbornRoots ( JSContext cx  ) 
void JS_ClearPendingException ( JSContext cx  ) 
void JS_ClearRegExpRoots ( JSContext cx  ) 
void JS_ClearRegExpStatics ( JSContext cx  ) 
void JS_ClearScope ( JSContext cx,
JSObject obj 
)
JSObject* JS_CloneFunctionObject ( JSContext cx,
JSObject funobj,
JSObject parent 
)
void JS_CommenceRuntimeShutDown ( JSRuntime rt  ) 
intN JS_CompareStrings ( JSString str1,
JSString str2 
)
JSScript* JS_CompileFile ( JSContext cx,
JSObject obj,
const char *  filename 
)
JSScript* JS_CompileFileHandle ( JSContext cx,
JSObject obj,
const char *  filename,
FILE *  fh 
)
JSScript* JS_CompileFileHandleForPrincipals ( JSContext cx,
JSObject obj,
const char *  filename,
FILE *  fh,
JSPrincipals principals 
)
JSFunction* JS_CompileFunction ( JSContext cx,
JSObject obj,
const char *  name,
uintN  nargs,
const char **  argnames,
const char *  bytes,
size_t  length,
const char *  filename,
uintN  lineno 
)
JSFunction* JS_CompileFunctionForPrincipals ( JSContext cx,
JSObject obj,
JSPrincipals principals,
const char *  name,
uintN  nargs,
const char **  argnames,
const char *  bytes,
size_t  length,
const char *  filename,
uintN  lineno 
)
JSScript* JS_CompileScript ( JSContext cx,
JSObject obj,
const char *  bytes,
size_t  length,
const char *  filename,
uintN  lineno 
)
JSScript* JS_CompileScriptForPrincipals ( JSContext cx,
JSObject obj,
JSPrincipals principals,
const char *  bytes,
size_t  length,
const char *  filename,
uintN  lineno 
)
JSFunction* JS_CompileUCFunction ( JSContext cx,
JSObject obj,
const char *  name,
uintN  nargs,
const char **  argnames,
const jschar chars,
size_t  length,
const char *  filename,
uintN  lineno 
)
JSFunction* JS_CompileUCFunctionForPrincipals ( JSContext cx,
JSObject obj,
JSPrincipals principals,
const char *  name,
uintN  nargs,
const char **  argnames,
const jschar chars,
size_t  length,
const char *  filename,
uintN  lineno 
)
JSScript* JS_CompileUCScript ( JSContext cx,
JSObject obj,
const jschar chars,
size_t  length,
const char *  filename,
uintN  lineno 
)
JSScript* JS_CompileUCScriptForPrincipals ( JSContext cx,
JSObject obj,
JSPrincipals principals,
const jschar chars,
size_t  length,
const char *  filename,
uintN  lineno 
)
jsval JS_ComputeThis ( JSContext cx,
jsval vp 
)
JSString* JS_ConcatStrings ( JSContext cx,
JSString left,
JSString right 
)
JSObject* JS_ConstructObject ( JSContext cx,
JSClass clasp,
JSObject proto,
JSObject parent 
)
JSObject* JS_ConstructObjectWithArguments ( JSContext cx,
JSClass clasp,
JSObject proto,
JSObject parent,
uintN  argc,
jsval argv 
)
JSBool JS_ConsumeJSONText ( JSContext cx,
JSONParser jp,
const jschar data,
uint32  len 
)
JSContext* JS_ContextIterator ( JSRuntime rt,
JSContext **  iterp 
)
JSBool JS_ConvertArguments ( JSContext cx,
uintN  argc,
jsval argv,
const char *  format,
  ... 
)
JSBool JS_ConvertStub ( JSContext cx,
JSObject obj,
JSType  type,
jsval vp 
)
JSBool JS_ConvertValue ( JSContext cx,
jsval  v,
JSType  type,
jsval vp 
)
JSBool JS_CStringsAreUTF8 ( void   ) 
JSBool JS_DecodeBytes ( JSContext cx,
const char *  src,
size_t  srclen,
jschar dst,
size_t *  dstlenp 
)
JSString* JS_DecompileFunction ( JSContext cx,
JSFunction fun,
uintN  indent 
)
JSString* JS_DecompileFunctionBody ( JSContext cx,
JSFunction fun,
uintN  indent 
)
JSString* JS_DecompileScript ( JSContext cx,
JSScript script,
const char *  name,
uintN  indent 
)
JSBool JS_DefineConstDoubles ( JSContext cx,
JSObject obj,
JSConstDoubleSpec cds 
)
JSBool JS_DefineElement ( JSContext cx,
JSObject obj,
jsint  index,
jsval  value,
JSPropertyOp  getter,
JSPropertyOp  setter,
uintN  attrs 
)
JSFunction* JS_DefineFunction ( JSContext cx,
JSObject obj,
const char *  name,
JSNative  call,
uintN  nargs,
uintN  attrs 
)
JSBool JS_DefineFunctions ( JSContext cx,
JSObject obj,
JSFunctionSpec fs 
)
JSObject* JS_DefineObject ( JSContext cx,
JSObject obj,
const char *  name,
JSClass clasp,
JSObject proto,
uintN  attrs 
)
JSBool JS_DefineProperties ( JSContext cx,
JSObject obj,
JSPropertySpec ps 
)
JSBool JS_DefineProperty ( JSContext cx,
JSObject obj,
const char *  name,
jsval  value,
JSPropertyOp  getter,
JSPropertyOp  setter,
uintN  attrs 
)
JSBool JS_DefinePropertyById ( JSContext cx,
JSObject obj,
jsid  id,
jsval  value,
JSPropertyOp  getter,
JSPropertyOp  setter,
uintN  attrs 
)
JSBool JS_DefinePropertyWithTinyId ( JSContext cx,
JSObject obj,
const char *  name,
int8  tinyid,
jsval  value,
JSPropertyOp  getter,
JSPropertyOp  setter,
uintN  attrs 
)
JSFunction* JS_DefineUCFunction ( JSContext cx,
JSObject obj,
const jschar name,
size_t  namelen,
JSNative  call,
uintN  nargs,
uintN  attrs 
)
JSBool JS_DefineUCProperty ( JSContext cx,
JSObject obj,
const jschar name,
size_t  namelen,
jsval  value,
JSPropertyOp  getter,
JSPropertyOp  setter,
uintN  attrs 
)
JSBool JS_DefineUCPropertyWithTinyId ( JSContext cx,
JSObject obj,
const jschar name,
size_t  namelen,
int8  tinyid,
jsval  value,
JSPropertyOp  getter,
JSPropertyOp  setter,
uintN  attrs 
)
JSBool JS_DeleteElement ( JSContext cx,
JSObject obj,
jsint  index 
)
JSBool JS_DeleteElement2 ( JSContext cx,
JSObject obj,
jsint  index,
jsval rval 
)
JSBool JS_DeleteProperty ( JSContext cx,
JSObject obj,
const char *  name 
)
JSBool JS_DeleteProperty2 ( JSContext cx,
JSObject obj,
const char *  name,
jsval rval 
)
JSBool JS_DeletePropertyById ( JSContext cx,
JSObject obj,
jsid  id 
)
JSBool JS_DeletePropertyById2 ( JSContext cx,
JSObject obj,
jsid  id,
jsval rval 
)
JSBool JS_DeleteUCProperty2 ( JSContext cx,
JSObject obj,
const jschar name,
size_t  namelen,
jsval rval 
)
void JS_DestroyContext ( JSContext cx  ) 
void JS_DestroyContextMaybeGC ( JSContext cx  ) 
void JS_DestroyContextNoGC ( JSContext cx  ) 
void JS_DestroyIdArray ( JSContext cx,
JSIdArray ida 
)
void JS_DestroyScript ( JSContext cx,
JSScript script 
)
void JS_DropExceptionState ( JSContext cx,
JSExceptionState state 
)
jsrefcount JS_DropPrincipals ( JSContext cx,
JSPrincipals principals 
)
JSBool JS_EncodeCharacters ( JSContext cx,
const jschar src,
size_t  srclen,
char *  dst,
size_t *  dstlenp 
)
char* JS_EncodeString ( JSContext cx,
JSString str 
)
void JS_EndRequest ( JSContext cx  ) 
JSBool JS_EnterLocalRootScope ( JSContext cx  ) 
JSIdArray* JS_Enumerate ( JSContext cx,
JSObject obj 
)
JSIdArray* JS_EnumerateResolvedStandardClasses ( JSContext cx,
JSObject obj,
JSIdArray ida 
)
JSBool JS_EnumerateStandardClasses ( JSContext cx,
JSObject obj 
)
JSBool JS_EnumerateStub ( JSContext cx,
JSObject obj 
)
JSErrorReport* JS_ErrorFromException ( JSContext cx,
jsval  v 
)
JSBool JS_EvaluateScript ( JSContext cx,
JSObject obj,
const char *  bytes,
uintN  length,
const char *  filename,
uintN  lineno,
jsval rval 
)
JSBool JS_EvaluateScriptForPrincipals ( JSContext cx,
JSObject obj,
JSPrincipals principals,
const char *  bytes,
uintN  length,
const char *  filename,
uintN  lineno,
jsval rval 
)
JSBool JS_EvaluateUCScript ( JSContext cx,
JSObject obj,
const jschar chars,
uintN  length,
const char *  filename,
uintN  lineno,
jsval rval 
)
JSBool JS_EvaluateUCScriptForPrincipals ( JSContext cx,
JSObject obj,
JSPrincipals principals,
const jschar chars,
uintN  length,
const char *  filename,
uintN  lineno,
jsval rval 
)
JSBool JS_ExecuteScript ( JSContext cx,
JSObject obj,
JSScript script,
jsval rval 
)
JSBool JS_ExecuteScriptPart ( JSContext cx,
JSObject obj,
JSScript script,
JSExecPart  part,
jsval rval 
)
void JS_FinalizeStub ( JSContext cx,
JSObject obj 
)
void JS_Finish ( JSRuntime rt  ) 
JSBool JS_FinishJSONParse ( JSContext cx,
JSONParser jp,
jsval  reviver 
)
void JS_FlushCaches ( JSContext cx  ) 
void JS_ForgetLocalRoot ( JSContext cx,
void *  thing 
)
void JS_free ( JSContext cx,
void *  p 
)
void JS_GC ( JSContext cx  ) 
JSBool JS_GetArrayLength ( JSContext cx,
JSObject obj,
jsuint lengthp 
)
JSClass* JS_GetClass ( JSContext cx,
JSObject obj 
)
JSBool JS_GetClassObject ( JSContext cx,
JSObject obj,
JSProtoKey  key,
JSObject **  objp 
)
JSObject* JS_GetConstructor ( JSContext cx,
JSObject proto 
)
void* JS_GetContextPrivate ( JSContext cx  ) 
jsword JS_GetContextThread ( JSContext cx  ) 
JSBool JS_GetElement ( JSContext cx,
JSObject obj,
jsint  index,
jsval vp 
)
jsval JS_GetEmptyStringValue ( JSContext cx  ) 
intN JS_GetExternalStringGCType ( JSRuntime rt,
JSString str 
)
uint16 JS_GetFunctionArity ( JSFunction fun  ) 
uintN JS_GetFunctionFlags ( JSFunction fun  ) 
JSString* JS_GetFunctionId ( JSFunction fun  ) 
const char* JS_GetFunctionName ( JSFunction fun  ) 
JSObject* JS_GetFunctionObject ( JSFunction fun  ) 
uint32 JS_GetGCParameter ( JSRuntime rt,
JSGCParamKey  key 
)
uint32 JS_GetGCParameterForThread ( JSContext cx,
JSGCParamKey  key 
)
JSObject* JS_GetGlobalForObject ( JSContext cx,
JSObject obj 
)
JSObject* JS_GetGlobalObject ( JSContext cx  ) 
const char* JS_GetImplementationVersion ( void   ) 
void* JS_GetInstancePrivate ( JSContext cx,
JSObject obj,
JSClass clasp,
jsval argv 
)
JSLocaleCallbacks* JS_GetLocaleCallbacks ( JSContext cx  ) 
JSBool JS_GetMethod ( JSContext cx,
JSObject obj,
const char *  name,
JSObject **  objp,
jsval vp 
)
JSBool JS_GetMethodById ( JSContext cx,
JSObject obj,
jsid  id,
JSObject **  objp,
jsval vp 
)
jsval JS_GetNaNValue ( JSContext cx  ) 
jsval JS_GetNegativeInfinityValue ( JSContext cx  ) 
JSBool JS_GetObjectId ( JSContext cx,
JSObject obj,
jsid idp 
)
JSOperationCallback JS_GetOperationCallback ( JSContext cx  ) 
uint32 JS_GetOptions ( JSContext cx  ) 
JSObject* JS_GetParent ( JSContext cx,
JSObject obj 
)
JSBool JS_GetPendingException ( JSContext cx,
jsval vp 
)
jsval JS_GetPositiveInfinityValue ( JSContext cx  ) 
void* JS_GetPrivate ( JSContext cx,
JSObject obj 
)
JSBool JS_GetProperty ( JSContext cx,
JSObject obj,
const char *  name,
jsval vp 
)
JSBool JS_GetPropertyAttributes ( JSContext cx,
JSObject obj,
const char *  name,
uintN attrsp,
JSBool foundp 
)
JSBool JS_GetPropertyAttrsGetterAndSetter ( JSContext cx,
JSObject obj,
const char *  name,
uintN attrsp,
JSBool foundp,
JSPropertyOp getterp,
JSPropertyOp setterp 
)
JSBool JS_GetPropertyAttrsGetterAndSetterById ( JSContext cx,
JSObject obj,
jsid  id,
uintN attrsp,
JSBool foundp,
JSPropertyOp getterp,
JSPropertyOp setterp 
)
JSBool JS_GetPropertyById ( JSContext cx,
JSObject obj,
jsid  id,
jsval vp 
)
JSBool JS_GetPropertyDescriptorById ( JSContext cx,
JSObject obj,
jsid  id,
uintN  flags,
JSPropertyDescriptor desc 
)
JSObject* JS_GetPrototype ( JSContext cx,
JSObject obj 
)
JSBool JS_GetReservedSlot ( JSContext cx,
JSObject obj,
uint32  index,
jsval vp 
)
JSRuntime* JS_GetRuntime ( JSContext cx  ) 
void* JS_GetRuntimePrivate ( JSRuntime rt  ) 
JSSecurityCallbacks* JS_GetRuntimeSecurityCallbacks ( JSRuntime rt  ) 
JSObject* JS_GetScopeChain ( JSContext cx  ) 
JSObject* JS_GetScriptObject ( JSScript script  ) 
JSSecurityCallbacks* JS_GetSecurityCallbacks ( JSContext cx  ) 
char* JS_GetStringBytes ( JSString str  ) 
const char* JS_GetStringBytesZ ( JSContext cx,
JSString str 
)
jschar* JS_GetStringChars ( JSString str  ) 
const jschar* JS_GetStringCharsZ ( JSContext cx,
JSString str 
)
size_t JS_GetStringLength ( JSString str  ) 
const char* JS_GetTypeName ( JSContext cx,
JSType  type 
)
JSBool JS_GetUCProperty ( JSContext cx,
JSObject obj,
const jschar name,
size_t  namelen,
jsval vp 
)
JSBool JS_GetUCPropertyAttributes ( JSContext cx,
JSObject obj,
const jschar name,
size_t  namelen,
uintN attrsp,
JSBool foundp 
)
JSBool JS_GetUCPropertyAttrsGetterAndSetter ( JSContext cx,
JSObject obj,
const jschar name,
size_t  namelen,
uintN attrsp,
JSBool foundp,
JSPropertyOp getterp,
JSPropertyOp setterp 
)
JSVersion JS_GetVersion ( JSContext cx  ) 
JSBool JS_HasArrayLength ( JSContext cx,
JSObject obj,
jsuint lengthp 
)
JSBool JS_HasElement ( JSContext cx,
JSObject obj,
jsint  index,
JSBool foundp 
)
JSBool JS_HasInstance ( JSContext cx,
JSObject obj,
jsval  v,
JSBool bp 
)
JSBool JS_HasProperty ( JSContext cx,
JSObject obj,
const char *  name,
JSBool foundp 
)
JSBool JS_HasPropertyById ( JSContext cx,
JSObject obj,
jsid  id,
JSBool foundp 
)
JSBool JS_HasUCProperty ( JSContext cx,
JSObject obj,
const jschar name,
size_t  namelen,
JSBool vp 
)
jsrefcount JS_HoldPrincipals ( JSContext cx,
JSPrincipals principals 
)
JSBool JS_IdToValue ( JSContext cx,
jsid  id,
jsval vp 
)
JSRuntime* JS_Init ( uint32  maxbytes  ) 
JSObject* JS_InitClass ( JSContext cx,
JSObject obj,
JSObject parent_proto,
JSClass clasp,
JSNative  constructor,
uintN  nargs,
JSPropertySpec ps,
JSFunctionSpec fs,
JSPropertySpec static_ps,
JSFunctionSpec static_fs 
)
JSBool JS_InitStandardClasses ( JSContext cx,
JSObject obj 
)
JSBool JS_InstanceOf ( JSContext cx,
JSObject obj,
JSClass clasp,
jsval argv 
)
JSString* JS_InternString ( JSContext cx,
const char *  s 
)
JSString* JS_InternUCString ( JSContext cx,
const jschar s 
)
JSString* JS_InternUCStringN ( JSContext cx,
const jschar s,
size_t  length 
)
JSBool JS_IsAboutToBeFinalized ( JSContext cx,
void *  thing 
)
JSBool JS_IsArrayObject ( JSContext cx,
JSObject obj 
)
JSBool JS_IsAssigning ( JSContext cx  ) 
JSBool JS_IsConstructing ( JSContext cx  ) 
JSBool JS_IsExceptionPending ( JSContext cx  ) 
JSBool JS_IsGCMarkingTracer ( JSTracer trc  ) 
JSBool JS_IsRunning ( JSContext cx  ) 
void JS_LeaveLocalRootScope ( JSContext cx  ) 
void JS_LeaveLocalRootScopeWithResult ( JSContext cx,
jsval  rval 
)
void JS_Lock ( JSRuntime rt  ) 
JSBool JS_LockGCThing ( JSContext cx,
void *  thing 
)
JSBool JS_LockGCThingRT ( JSRuntime rt,
void *  thing 
)
JSBool JS_LookupElement ( JSContext cx,
JSObject obj,
jsint  index,
jsval vp 
)
JSBool JS_LookupProperty ( JSContext cx,
JSObject obj,
const char *  name,
jsval vp 
)
JSBool JS_LookupPropertyById ( JSContext cx,
JSObject obj,
jsid  id,
jsval vp 
)
JSBool JS_LookupPropertyWithFlags ( JSContext cx,
JSObject obj,
const char *  name,
uintN  flags,
jsval vp 
)
JSBool JS_LookupPropertyWithFlagsById ( JSContext cx,
JSObject obj,
jsid  id,
uintN  flags,
JSObject **  objp,
jsval vp 
)
JSBool JS_LookupUCProperty ( JSContext cx,
JSObject obj,
const jschar name,
size_t  namelen,
jsval vp 
)
JSBool JS_MakeStringImmutable ( JSContext cx,
JSString str 
)
void* JS_malloc ( JSContext cx,
size_t  nbytes 
)
uint32 JS_MapGCRoots ( JSRuntime rt,
JSGCRootMapFun  map,
void *  data 
)
void JS_MarkGCThing ( JSContext cx,
void *  thing,
const char *  name,
void *  arg 
)
void JS_MaybeGC ( JSContext cx  ) 
JSObject* JS_NewArrayObject ( JSContext cx,
jsint  length,
jsval vector 
)
JSContext* JS_NewContext ( JSRuntime rt,
size_t  stackChunkSize 
)
JSString* JS_NewDependentString ( JSContext cx,
JSString str,
size_t  start,
size_t  length 
)
jsdouble* JS_NewDouble ( JSContext cx,
jsdouble  d 
)
JSBool JS_NewDoubleValue ( JSContext cx,
jsdouble  d,
jsval rval 
)
JSString* JS_NewExternalString ( JSContext cx,
jschar chars,
size_t  length,
intN  type 
)
JSFunction* JS_NewFunction ( JSContext cx,
JSNative  call,
uintN  nargs,
uintN  flags,
JSObject parent,
const char *  name 
)
JSString* JS_NewGrowableString ( JSContext cx,
jschar chars,
size_t  length 
)
JSBool JS_NewNumberValue ( JSContext cx,
jsdouble  d,
jsval rval 
)
JSObject* JS_NewObject ( JSContext cx,
JSClass clasp,
JSObject proto,
JSObject parent 
)
JSObject* JS_NewObjectWithGivenProto ( JSContext cx,
JSClass clasp,
JSObject proto,
JSObject parent 
)
JSObject* JS_NewPropertyIterator ( JSContext cx,
JSObject obj 
)
JSObject* JS_NewRegExpObject ( JSContext cx,
char *  bytes,
size_t  length,
uintN  flags 
)
JSObject* JS_NewScriptObject ( JSContext cx,
JSScript script 
)
JSString* JS_NewString ( JSContext cx,
char *  bytes,
size_t  length 
)
JSString* JS_NewStringCopyN ( JSContext cx,
const char *  s,
size_t  n 
)
JSString* JS_NewStringCopyZ ( JSContext cx,
const char *  s 
)
JSObject* JS_NewUCRegExpObject ( JSContext cx,
jschar chars,
size_t  length,
uintN  flags 
)
JSString* JS_NewUCString ( JSContext cx,
jschar chars,
size_t  length 
)
JSString* JS_NewUCStringCopyN ( JSContext cx,
const jschar s,
size_t  n 
)
JSString* JS_NewUCStringCopyZ ( JSContext cx,
const jschar s 
)
JSBool JS_NextProperty ( JSContext cx,
JSObject iterobj,
jsid idp 
)
int64 JS_Now ( void   ) 
JSBool JS_ObjectIsFunction ( JSContext cx,
JSObject obj 
)
void JS_PopArguments ( JSContext cx,
void *  mark 
)
JSBool JS_PropertyStub ( JSContext cx,
JSObject obj,
jsval  id,
jsval vp 
)
jsval* JS_PushArguments ( JSContext cx,
void **  markp,
const char *  format,
  ... 
)
void* JS_realloc ( JSContext cx,
void *  p,
size_t  nbytes 
)
intN JS_RemoveExternalStringFinalizer ( JSStringFinalizeOp  finalizer  ) 
JSBool JS_RemoveRoot ( JSContext cx,
void *  rp 
)
JSBool JS_RemoveRootRT ( JSRuntime rt,
void *  rp 
)
void JS_ReportAllocationOverflow ( JSContext cx  ) 
void JS_ReportError ( JSContext cx,
const char *  format,
  ... 
)
JSBool JS_ReportErrorFlagsAndNumber ( JSContext cx,
uintN  flags,
JSErrorCallback  errorCallback,
void *  userRef,
const uintN  errorNumber,
  ... 
)
JSBool JS_ReportErrorFlagsAndNumberUC ( JSContext cx,
uintN  flags,
JSErrorCallback  errorCallback,
void *  userRef,
const uintN  errorNumber,
  ... 
)
void JS_ReportErrorNumber ( JSContext cx,
JSErrorCallback  errorCallback,
void *  userRef,
const uintN  errorNumber,
  ... 
)
void JS_ReportErrorNumberUC ( JSContext cx,
JSErrorCallback  errorCallback,
void *  userRef,
const uintN  errorNumber,
  ... 
)
void JS_ReportOutOfMemory ( JSContext cx  ) 
JSBool JS_ReportPendingException ( JSContext cx  ) 
JSBool JS_ReportWarning ( JSContext cx,
const char *  format,
  ... 
)
JSBool JS_ResolveStandardClass ( JSContext cx,
JSObject obj,
jsval  id,
JSBool resolved 
)
JSBool JS_ResolveStub ( JSContext cx,
JSObject obj,
jsval  id 
)
void JS_RestoreExceptionState ( JSContext cx,
JSExceptionState state 
)
void JS_RestoreFrameChain ( JSContext cx,
JSStackFrame fp 
)
void JS_ResumeRequest ( JSContext cx,
jsrefcount  saveDepth 
)
JSBool JS_SameValue ( JSContext cx,
jsval  v1,
jsval  v2 
)
JSExceptionState* JS_SaveExceptionState ( JSContext cx  ) 
JSStackFrame* JS_SaveFrameChain ( JSContext cx  ) 
JSBool JS_SealObject ( JSContext cx,
JSObject obj,
JSBool  deep 
)
JSBool JS_SetArrayLength ( JSContext cx,
JSObject obj,
jsuint  length 
)
JSContextCallback JS_SetContextCallback ( JSRuntime rt,
JSContextCallback  cxCallback 
)
void JS_SetContextPrivate ( JSContext cx,
void *  data 
)
JSSecurityCallbacks* JS_SetContextSecurityCallbacks ( JSContext cx,
JSSecurityCallbacks callbacks 
)
jsword JS_SetContextThread ( JSContext cx  ) 
void JS_SetCStringsAreUTF8 ( void   ) 
JSBool JS_SetElement ( JSContext cx,
JSObject obj,
jsint  index,
jsval vp 
)
JSErrorReporter JS_SetErrorReporter ( JSContext cx,
JSErrorReporter  er 
)
void JS_SetExtraGCRoots ( JSRuntime rt,
JSTraceDataOp  traceOp,
void *  data 
)
JSGCCallback JS_SetGCCallback ( JSContext cx,
JSGCCallback  cb 
)
JSGCCallback JS_SetGCCallbackRT ( JSRuntime rt,
JSGCCallback  cb 
)
void JS_SetGCParameter ( JSRuntime rt,
JSGCParamKey  key,
uint32  value 
)
void JS_SetGCParameterForThread ( JSContext cx,
JSGCParamKey  key,
uint32  value 
)
void JS_SetGlobalObject ( JSContext cx,
JSObject obj 
)
void JS_SetLocaleCallbacks ( JSContext cx,
JSLocaleCallbacks callbacks 
)
JSOperationCallback JS_SetOperationCallback ( JSContext cx,
JSOperationCallback  callback 
)
uint32 JS_SetOptions ( JSContext cx,
uint32  options 
)
JSBool JS_SetParent ( JSContext cx,
JSObject obj,
JSObject parent 
)
void JS_SetPendingException ( JSContext cx,
jsval  v 
)
JSBool JS_SetPrivate ( JSContext cx,
JSObject obj,
void *  data 
)
JSBool JS_SetProperty ( JSContext cx,
JSObject obj,
const char *  name,
jsval vp 
)
JSBool JS_SetPropertyAttributes ( JSContext cx,
JSObject obj,
const char *  name,
uintN  attrs,
JSBool foundp 
)
JSBool JS_SetPropertyById ( JSContext cx,
JSObject obj,
jsid  id,
jsval vp 
)
JSBool JS_SetPrototype ( JSContext cx,
JSObject obj,
JSObject proto 
)
void JS_SetRegExpInput ( JSContext cx,
JSString input,
JSBool  multiline 
)
JSBool JS_SetReservedSlot ( JSContext cx,
JSObject obj,
uint32  index,
jsval  v 
)
void JS_SetRuntimePrivate ( JSRuntime rt,
void *  data 
)
JSSecurityCallbacks* JS_SetRuntimeSecurityCallbacks ( JSRuntime rt,
JSSecurityCallbacks callbacks 
)
void JS_SetScriptStackQuota ( JSContext cx,
size_t  quota 
)
void JS_SetThreadStackLimit ( JSContext cx,
jsuword  limitAddr 
)
JSBool JS_SetUCProperty ( JSContext cx,
JSObject obj,
const jschar name,
size_t  namelen,
jsval vp 
)
JSBool JS_SetUCPropertyAttributes ( JSContext cx,
JSObject obj,
const jschar name,
size_t  namelen,
uintN  attrs,
JSBool foundp 
)
JSVersion JS_SetVersion ( JSContext cx,
JSVersion  version 
)
void JS_ShutDown ( void   ) 
char* JS_strdup ( JSContext cx,
const char *  s 
)
JSBool JS_StrictlyEqual ( JSContext cx,
jsval  v1,
jsval  v2 
)
JSBool JS_Stringify ( JSContext cx,
jsval vp,
JSObject replacer,
jsval  space,
JSONWriteCallback  callback,
void *  data 
)
JSVersion JS_StringToVersion ( const char *  string  ) 
jsrefcount JS_SuspendRequest ( JSContext cx  ) 
JSBool JS_ThrowReportedError ( JSContext cx,
const char *  message,
JSErrorReport reportp 
)
JSBool JS_ThrowStopIteration ( JSContext cx  ) 
uint32 JS_ToggleOptions ( JSContext cx,
uint32  options 
)
void JS_TraceChildren ( JSTracer trc,
void *  thing,
uint32  kind 
)
void JS_TraceRuntime ( JSTracer trc  ) 
void JS_TriggerAllOperationCallbacks ( JSRuntime rt  ) 
void JS_TriggerOperationCallback ( JSContext cx  ) 
JSBool JS_TryJSON ( JSContext cx,
jsval vp 
)
JSType JS_TypeOfValue ( JSContext cx,
jsval  v 
)
const jschar* JS_UndependString ( JSContext cx,
JSString str 
)
void JS_Unlock ( JSRuntime rt  ) 
JSBool JS_UnlockGCThing ( JSContext cx,
void *  thing 
)
JSBool JS_UnlockGCThingRT ( JSRuntime rt,
void *  thing 
)
void JS_updateMallocCounter ( JSContext cx,
size_t  nbytes 
)
JSBool JS_ValueToBoolean ( JSContext cx,
jsval  v,
JSBool bp 
)
JSFunction* JS_ValueToConstructor ( JSContext cx,
jsval  v 
)
JSBool JS_ValueToECMAInt32 ( JSContext cx,
jsval  v,
int32 ip 
)
JSBool JS_ValueToECMAUint32 ( JSContext cx,
jsval  v,
uint32 ip 
)
JSFunction* JS_ValueToFunction ( JSContext cx,
jsval  v 
)
JSBool JS_ValueToId ( JSContext cx,
jsval  v,
jsid idp 
)
JSBool JS_ValueToInt32 ( JSContext cx,
jsval  v,
int32 ip 
)
JSBool JS_ValueToNumber ( JSContext cx,
jsval  v,
jsdouble dp 
)
JSBool JS_ValueToObject ( JSContext cx,
jsval  v,
JSObject **  objp 
)
JSString* JS_ValueToSource ( JSContext cx,
jsval  v 
)
JSString* JS_ValueToString ( JSContext cx,
jsval  v 
)
JSBool JS_ValueToUint16 ( JSContext cx,
jsval  v,
uint16 ip 
)
const char* JS_VersionToString ( JSVersion  version  ) 
void JS_YieldRequest ( JSContext cx  )