void TraceMonkeyEngine::quit()
{
    Logging::log(Logging::DEBUG, "TraceMonkeyEngine::quit\r\n");

    // Clean up our internal wrappers

    globalValue.reset();

    /* Cleanup. */
    JS_DestroyContext(context);
    context = NULL;

    JS_DestroyRuntime(runtime);
    runtime = NULL;

//    JS_ShutDown(); XXX Should be done only when NO runtimes remain, for final cleanup, as we are quitting probably
}
void V8Engine::quit()
{
    Logging::log(Logging::DEBUG, "V8Engine::quit (0)\r\n");

    // Clean up our globals

    globalValue.reset();

    Logging::log(Logging::DEBUG, "V8Engine::quit (1)\r\n");

    context->Exit();

    Logging::log(Logging::DEBUG, "V8Engine::quit (2)\r\n");

    context.Dispose();

    Logging::log(Logging::DEBUG, "V8Engine::quit (3)\r\n");
}