зеркало из https://github.com/mozilla/gecko-dev.git
Bug 886205 (part 6) - Break jsscriptinlines.h out of the header inclusion cycles. r=terrence.
--HG-- extra : rebase_source : 0390ebedf2b132f296e272d25d81af71791dca30
This commit is contained in:
Родитель
4e3b816af9
Коммит
f781f45519
|
@ -5,6 +5,7 @@
|
|||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "MacroAssembler-x64.h"
|
||||
#include "ion/BaselineFrame.h"
|
||||
#include "ion/MoveEmitter.h"
|
||||
#include "ion/IonFrames.h"
|
||||
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "MacroAssembler-x86.h"
|
||||
#include "ion/BaselineFrame.h"
|
||||
#include "ion/MoveEmitter.h"
|
||||
#include "ion/IonFrames.h"
|
||||
|
||||
|
|
|
@ -2255,9 +2255,21 @@ js_GetScriptLineExtent(JSScript *script)
|
|||
}
|
||||
|
||||
void
|
||||
js::CurrentScriptFileLineOriginSlow(JSContext *cx, const char **file, unsigned *linenop,
|
||||
JSPrincipals **origin)
|
||||
js::CurrentScriptFileLineOrigin(JSContext *cx, const char **file, unsigned *linenop,
|
||||
JSPrincipals **origin, LineOption opt)
|
||||
{
|
||||
if (opt == CALLED_FROM_JSOP_EVAL) {
|
||||
JSScript *script = NULL;
|
||||
jsbytecode *pc = NULL;
|
||||
types::TypeScript::GetPcScript(cx, &script, &pc);
|
||||
JS_ASSERT(JSOp(*pc) == JSOP_EVAL);
|
||||
JS_ASSERT(*(pc + JSOP_EVAL_LENGTH) == JSOP_LINENO);
|
||||
*file = script->filename();
|
||||
*linenop = GET_UINT16(pc + JSOP_EVAL_LENGTH);
|
||||
*origin = script->originPrincipals;
|
||||
return;
|
||||
}
|
||||
|
||||
NonBuiltinScriptFrameIter iter(cx);
|
||||
|
||||
if (iter.done()) {
|
||||
|
|
|
@ -1469,8 +1469,9 @@ enum LineOption {
|
|||
NOT_CALLED_FROM_JSOP_EVAL
|
||||
};
|
||||
|
||||
inline void
|
||||
CurrentScriptFileLineOrigin(JSContext *cx, unsigned *linenop, LineOption = NOT_CALLED_FROM_JSOP_EVAL);
|
||||
extern void
|
||||
CurrentScriptFileLineOrigin(JSContext *cx, const char **file, unsigned *linenop,
|
||||
JSPrincipals **origin, LineOption opt = NOT_CALLED_FROM_JSOP_EVAL);
|
||||
|
||||
extern JSScript *
|
||||
CloneScript(JSContext *cx, HandleObject enclosingScope, HandleFunction fun, HandleScript script,
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
#include "vm/Shape.h"
|
||||
|
||||
#include "jscompartmentinlines.h"
|
||||
#include "jsinferinlines.h"
|
||||
|
||||
#include "vm/Shape-inl.h"
|
||||
|
||||
|
@ -40,28 +39,6 @@ AliasedFormalIter::AliasedFormalIter(JSScript *script)
|
|||
settle();
|
||||
}
|
||||
|
||||
extern void
|
||||
CurrentScriptFileLineOriginSlow(JSContext *cx, const char **file, unsigned *linenop, JSPrincipals **origin);
|
||||
|
||||
inline void
|
||||
CurrentScriptFileLineOrigin(JSContext *cx, const char **file, unsigned *linenop, JSPrincipals **origin,
|
||||
LineOption opt = NOT_CALLED_FROM_JSOP_EVAL)
|
||||
{
|
||||
if (opt == CALLED_FROM_JSOP_EVAL) {
|
||||
JSScript *script = NULL;
|
||||
jsbytecode *pc = NULL;
|
||||
types::TypeScript::GetPcScript(cx, &script, &pc);
|
||||
JS_ASSERT(JSOp(*pc) == JSOP_EVAL);
|
||||
JS_ASSERT(*(pc + JSOP_EVAL_LENGTH) == JSOP_LINENO);
|
||||
*file = script->filename();
|
||||
*linenop = GET_UINT16(pc + JSOP_EVAL_LENGTH);
|
||||
*origin = script->originPrincipals;
|
||||
return;
|
||||
}
|
||||
|
||||
CurrentScriptFileLineOriginSlow(cx, file, linenop, origin);
|
||||
}
|
||||
|
||||
inline void
|
||||
ScriptCounts::destroy(FreeOp *fop)
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче