bool XDRState<mode>::codeScript(MutableHandleScript scriptp) { RootedScript script(cx()); if (mode == XDR_DECODE) { script = NULL; scriptp.set(NULL); } else { script = scriptp.get(); } if (!VersionCheck(this)) return false; if (!XDRScript(this, NullPtr(), NullPtr(), NullPtr(), &script)) return false; if (mode == XDR_DECODE) { JS_ASSERT(!script->compileAndGo); js_CallNewScriptHook(cx(), script, NULL); Debugger::onNewScript(cx(), script, NULL); scriptp.set(script); } return true; }
bool XDRState<mode>::codeScript(JSScript **scriptp) { JSScript *script; if (mode == XDR_DECODE) { script = NULL; *scriptp = NULL; } else { script = *scriptp; } if (!VersionCheck(this) || !XDRScript(this, &script, NULL)) return false; if (mode == XDR_DECODE) { JS_ASSERT(!script->compileAndGo); script->globalObject = GetCurrentGlobal(cx()); js_CallNewScriptHook(cx(), script, NULL); Debugger::onNewScript(cx(), script, NULL); *scriptp = script; } return true; }