Create a new JSContext
.
Syntax
JSContext * JS_NewContext(JSRuntime *rt, size_t stackChunkSize);
Name | Type | Description |
---|---|---|
rt |
JSRuntime * |
Parent runtime for the new context. JavaScript objects, functions, strings, and numbers may be shared among the contexts in a JSRuntime , but they cannot be shared across JSRuntime s. |
stackchunksize |
size_t |
The size, in bytes, of each "stack chunk". This is a memory management tuning parameter which most users should not adjust. 8192 is a good default value. |
Description
JS_NewContext
creates a new JSContext
in the runtime rt
. On success, it returns a pointer to the new context. Otherwise it returns NULL
. For more details about contexts, see JSContext
. For sample code that creates and initializes a JSContext
, see JSAPI User Guide.
The stackchunksize
parameter does not control the JavaScript stack size. (The JSAPI does not provide a way to adjust the stack depth limit.) Passing a large number for stackchunksize
is a mistake. In a DEBUG
build, large chunk sizes can degrade performance dramatically. The usual value of 8192
is recommended.
The application must call JS_DestroyContext
when it is done using the context. Before a JSRuntime
may be destroyed, all the JSContext
s associated with it must be destroyed.
The new JSContext
initially has no global object.
The new JSContext
is associated with the calling thread. No other thread may use it or destroy it.