Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

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.

Syntax

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

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

JSBool
JS_LockGCThingRT(JSRuntime *rt, void *thing);

JSBool
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.

Description

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,