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); CallNewScriptHook(cx(), script, NullPtr()); Debugger::onNewScript(cx(), script, NULL); scriptp.set(script); } return true; }