|
Classes |
| struct | JSPtrTable |
| struct | JSGCThing |
| struct | JSGCArenaList |
Defines |
| #define | GCX_OBJECT 0 |
| #define | GCX_STRING 1 |
| #define | GCX_DOUBLE 2 |
| #define | GCX_MUTABLE_STRING 3 |
| #define | GCX_PRIVATE 4 |
| #define | GCX_NAMESPACE 5 |
| #define | GCX_QNAME 6 |
| #define | GCX_XML 7 |
| #define | GCX_EXTERNAL_STRING 8 |
| #define | GCX_NTYPES_LOG2 4 |
| #define | GCX_NTYPES JS_BIT(GCX_NTYPES_LOG2) |
| #define | GCF_TYPEMASK JS_BITMASK(GCX_NTYPES_LOG2) |
| #define | GCF_MARK JS_BIT(GCX_NTYPES_LOG2) |
| #define | GCF_FINAL JS_BIT(GCX_NTYPES_LOG2 + 1) |
| #define | GCF_SYSTEM JS_BIT(GCX_NTYPES_LOG2 + 2) |
| #define | GCF_LOCKSHIFT (GCX_NTYPES_LOG2 + 3) |
| #define | GCF_LOCK JS_BIT(GCF_LOCKSHIFT) |
| #define | GCF_MUTABLE 2 |
| #define | GC_POKE(cx, oldval) ((cx)->runtime->gcPoke = JS_TRUE) |
| #define | GC_NBYTES_MAX (10 * sizeof(JSGCThing)) |
| #define | GC_NUM_FREELISTS (GC_NBYTES_MAX / sizeof(JSGCThing)) |
| #define | GC_FREELIST_NBYTES(i) (((i) + 1) * sizeof(JSGCThing)) |
| #define | GC_FREELIST_INDEX(n) (((n) / sizeof(JSGCThing)) - 1) |
| #define | GC_MARK_ATOM(cx, atom) |
| #define | GC_MARK(cx, thing, name) js_MarkGCThing(cx, thing) |
Typedefs |
| typedef JSGCArena | JSGCArena |
| typedef JSGCArenaList | JSGCArenaList |
Enumerations |
| enum | JSGCInvocationKind { GC_NORMAL,
GC_LAST_CONTEXT,
GC_LAST_DITCH
} |
Functions |
| uint8 * | js_GetGCThingFlags (void *thing) |
| JSRuntime * | js_GetGCStringRuntime (JSString *str) |
| intN | js_ChangeExternalStringFinalizer (JSStringFinalizeOp oldop, JSStringFinalizeOp newop) |
| JSBool | js_InitGC (JSRuntime *rt, uint32 maxbytes) |
| void | js_FinishGC (JSRuntime *rt) |
| JSBool | js_AddRoot (JSContext *cx, void *rp, const char *name) |
| JSBool | js_AddRootRT (JSRuntime *rt, void *rp, const char *name) |
| JSBool | js_RemoveRoot (JSRuntime *rt, void *rp) |
| uint32 | js_MapGCRoots (JSRuntime *rt, JSGCRootMapFun map, void *data) |
| JSBool | js_RegisterCloseableIterator (JSContext *cx, JSObject *obj) |
| void * | js_NewGCThing (JSContext *cx, uintN flags, size_t nbytes) |
| JSBool | js_LockGCThing (JSContext *cx, void *thing) |
| JSBool | js_LockGCThingRT (JSRuntime *rt, void *thing) |
| JSBool | js_UnlockGCThingRT (JSRuntime *rt, void *thing) |
| JSBool | js_IsAboutToBeFinalized (JSContext *cx, void *thing) |
| void | js_MarkAtom (JSContext *cx, JSAtom *atom) |
| void | js_MarkGCThing (JSContext *cx, void *thing) |
| void | js_MarkStackFrame (JSContext *cx, JSStackFrame *fp) |
| void | js_GC (JSContext *cx, JSGCInvocationKind gckind) |
| void | js_UpdateMallocCounter (JSContext *cx, size_t nbytes) |