JS_IterateCompartments

This article covers features introduced in SpiderMonkey 17

Iterate over compartments and call the specified callback function on every compartment.

Syntax

void
JS_IterateCompartments(JSRuntime *rt, void *data,
                       JSIterateCompartmentCallback compartmentCallback);
Name Type Description
cx JSRuntime * The runtime of the compartments to iterate over.
data void * This will be passed as the data parameter of the JSIterateCompartmentCallback.
compartmentCallback JSIterateCompartmentCallback Callback function (see below).

Callback function

typedef void
(*JSIterateCompartmentCallback)(JSRuntime *rt, void *data, JSCompartment *compartment);
Name Type Description
cx JSRuntime * The runtime of the compartments.
data void * data parameter passed to JS_IterateCompartments.
compartmentCallback JSCompartment * The pointer to the compartment.

Description

JS_IterateCompartments calls compartmentCallback on every compartment. Beware that there is no guarantee that the compartment will survive after the callback returns. Also, barriers are disabled via the TraceSession.

See also

Document Tags and Contributors

 Contributors to this page: arai, kscarfone
 Last updated by: arai,