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:
Nicholas Nethercote 2013-06-25 17:25:18 -07:00
Родитель 4e3b816af9
Коммит f781f45519
5 изменённых файлов: 19 добавлений и 27 удалений

Просмотреть файл

@ -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)
{