зеркало из https://github.com/mozilla/gecko-dev.git
Propagate special and compile-n-go flags from top frame when pushing a compiler frame, EXCEPT when pushing a frame for a function body -- there, propagate compile-n-go (285219, r=shaver).
This commit is contained in:
Родитель
a9737587bb
Коммит
e0b35fdac6
|
@ -389,6 +389,8 @@ js_ParseTokenStream(JSContext *cx, JSObject *chain, JSTokenStream *ts)
|
|||
frame.varobj = chain;
|
||||
}
|
||||
frame.down = fp;
|
||||
if (fp)
|
||||
frame.flags = fp->flags & (JSFRAME_SPECIAL | JSFRAME_COMPILE_N_GO);
|
||||
cx->fp = &frame;
|
||||
}
|
||||
|
||||
|
@ -450,6 +452,8 @@ js_CompileTokenStream(JSContext *cx, JSObject *chain, JSTokenStream *ts,
|
|||
frame.varobj = chain;
|
||||
}
|
||||
frame.down = fp;
|
||||
if (fp)
|
||||
frame.flags = fp->flags & (JSFRAME_SPECIAL | JSFRAME_COMPILE_N_GO);
|
||||
cx->fp = &frame;
|
||||
}
|
||||
flags = cx->fp->flags;
|
||||
|
@ -641,7 +645,8 @@ FunctionBody(JSContext *cx, JSTokenStream *ts, JSFunction *fun,
|
|||
frame.fun = fun;
|
||||
frame.varobj = frame.scopeChain = funobj;
|
||||
frame.down = fp;
|
||||
frame.flags = (fp->flags & JSFRAME_COMPILE_N_GO);
|
||||
if (fp)
|
||||
frame.flags = fp->flags & JSFRAME_COMPILE_N_GO;
|
||||
cx->fp = &frame;
|
||||
}
|
||||
|
||||
|
@ -3636,6 +3641,8 @@ js_ParseXMLTokenStream(JSContext *cx, JSObject *chain, JSTokenStream *ts,
|
|||
frame.varobj = chain;
|
||||
}
|
||||
frame.down = fp;
|
||||
if (fp)
|
||||
frame.flags = fp->flags & (JSFRAME_SPECIAL | JSFRAME_COMPILE_N_GO);
|
||||
cx->fp = &frame;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче