ok = JS_ExecuteScript(cx, obj, script, &result);
ok = !compileOnly ? JS_ExecuteScript(cx, obj, script, &result) : JS_TRUE;
Load(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval){    uintN i;    JSString *str;    const char *filename;    JSScript *script;    JSBool ok;    jsval result;    JSErrorReporter older;    uint32 oldopts;    for (i = 0; i < argc; i++) {        str = JS_ValueToString(cx, argv[i]);        if (!str)            return JS_FALSE;        argv[i] = STRING_TO_JSVAL(str);        filename = JS_GetStringBytes(str);        errno = 0;        older = JS_SetErrorReporter(cx, my_LoadErrorReporter);        oldopts = JS_GetOptions(cx);        JS_SetOptions(cx, oldopts | JSOPTION_COMPILE_N_GO);        script = JS_CompileFile(cx, obj, filename);        if (!script) {            ok = JS_FALSE;        } else {            ok = JS_ExecuteScript(cx, obj, script, &result);            JS_DestroyScript(cx, script);        }        JS_SetOptions(cx, oldopts);        JS_SetErrorReporter(cx, older);        if (!ok)            return JS_FALSE;    }    return JS_TRUE;}