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.