diff --git a/js/src/ion/x64/MacroAssembler-x64.cpp b/js/src/ion/x64/MacroAssembler-x64.cpp index 5488965fd67d..fa322b595a38 100644 --- a/js/src/ion/x64/MacroAssembler-x64.cpp +++ b/js/src/ion/x64/MacroAssembler-x64.cpp @@ -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" diff --git a/js/src/ion/x86/MacroAssembler-x86.cpp b/js/src/ion/x86/MacroAssembler-x86.cpp index c05fa2be7c8d..fbc491aeab0d 100644 --- a/js/src/ion/x86/MacroAssembler-x86.cpp +++ b/js/src/ion/x86/MacroAssembler-x86.cpp @@ -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" diff --git a/js/src/jsscript.cpp b/js/src/jsscript.cpp index b58e4638bd3b..31bd5e7860dc 100644 --- a/js/src/jsscript.cpp +++ b/js/src/jsscript.cpp @@ -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()) { diff --git a/js/src/jsscript.h b/js/src/jsscript.h index e15c61319946..a2438130e381 100644 --- a/js/src/jsscript.h +++ b/js/src/jsscript.h @@ -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, diff --git a/js/src/jsscriptinlines.h b/js/src/jsscriptinlines.h index 3828ad741719..62d9a7dbe28d 100644 --- a/js/src/jsscriptinlines.h +++ b/js/src/jsscriptinlines.h @@ -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) {