Create a new JSContext.


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


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

See Also