mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-18 15:55:36 +00:00
Bug 770092 (part 2) - Don't set JSScript::function_ in JSScript::fullyInitFromEmitter().
--HG-- extra : rebase_source : 83effb7eabadfcaf7efcd56341191b11e6a05069
This commit is contained in:
parent
f73f739606
commit
b817e3f18d
@ -392,6 +392,7 @@ js::XDRInterpretedFunction(XDRState<mode> *xdr, JSObject **objp, JSScript *paren
|
||||
fun->flags = uint16_t(flagsword);
|
||||
fun->atom.init(atom);
|
||||
fun->initScript(script);
|
||||
script->setFunction(fun);
|
||||
if (!script->typeSetFunction(cx, fun))
|
||||
return false;
|
||||
JS_ASSERT(fun->nargs == fun->script()->bindings.numArgs());
|
||||
@ -431,6 +432,7 @@ js::CloneInterpretedFunction(JSContext *cx, JSFunction *srcFun)
|
||||
clone->flags = srcFun->flags;
|
||||
clone->atom.init(srcFun->atom);
|
||||
clone->initScript(clonedScript);
|
||||
clonedScript->setFunction(clone);
|
||||
if (!clonedScript->typeSetFunction(cx, clone))
|
||||
return NULL;
|
||||
|
||||
@ -1301,6 +1303,7 @@ js_CloneFunctionObject(JSContext *cx, HandleFunction fun, HandleObject parent,
|
||||
|
||||
cscript->globalObject = &clone->global();
|
||||
clone->setScript(cscript);
|
||||
cscript->setFunction(clone);
|
||||
if (!cscript->typeSetFunction(cx, clone))
|
||||
return NULL;
|
||||
|
||||
|
@ -5419,8 +5419,6 @@ JSScript::makeAnalysis(JSContext *cx)
|
||||
bool
|
||||
JSScript::typeSetFunction(JSContext *cx, JSFunction *fun, bool singleton)
|
||||
{
|
||||
function_ = fun;
|
||||
|
||||
if (!cx->typeInferenceEnabled())
|
||||
return true;
|
||||
|
||||
|
@ -1359,6 +1359,7 @@ JSScript::fullyInitFromEmitter(JSContext *cx, BytecodeEmitter *bce)
|
||||
bce->parent &&
|
||||
bce->parent->checkSingletonContext();
|
||||
|
||||
script->setFunction(fun);
|
||||
if (!script->typeSetFunction(cx, fun, singleton))
|
||||
return false;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user