Obsolete since JSAPI 22
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.

Protect a specified JS item from garbage collection.


JS_LockGCThing(JSContext *cx, void *thing); // Obsolete since JSAPI 21

JS_UnlockGCThing(JSContext *cx, void *thing); // Obsolete since JSAPI 21

JS_LockGCThingRT(JSRuntime *rt, void *thing);

JS_UnlockGCThingRT(JSRuntime *rt, void *thing);
Name Type Description
cx JSContext * A context. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext.
rt JSRuntime * A runtime.
thing void * Pointer to the item to protect.


JS_LockGCThing is a deprecated function that protects a specified item, thing, associated with an executable script context, cx, from garbage collection. thing is a pointer to a jsdouble, JSString, or JSObject.

JS_UnlockGCThing removes a lock from a specified item, thing, allowing it to be garbage collected when the JavaScript engine determines it is unreachable.

JS_LockGCThing and JS_UnlockGCThing are available only for backward compatibility with existing applications. Use JS_AddRoot and JS_RemoveRoot instead.

See Also

Document Tags and Contributors

 Contributors to this page: arai, fscholz, Jorend, Dria, MMondor, Nickolay, Callek, Tservo
 Last updated by: arai,