MDN may have intermittent access issues April 18 13:00 - April 19 01:00 UTC. See for all notifications.

Your Search Results


    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.

    In a JS_THREADSAFE build, the new JSContext is initially associated with the calling thread. As long as it stays associated with that thread, no other thread may use it or destroy it. A JSContext may be transferred from one thread to another using JS_ClearContextThread and JS_SetContextThread.

    See Also

    Document Tags and Contributors

    Contributors to this page: Sheppy, fscholz, Petermichaux, Wesgarland, arai, MMondor, Mgjbot, Dria, Jorend
    Last updated by: arai,
    Hide Sidebar