Backed out changeset 0243acc10d0e (bug 1066827)

This commit is contained in:
Carsten "Tomcat" Book 2014-10-28 12:23:06 +01:00
parent 88f31de80d
commit 10b1c4da8e
3 changed files with 10 additions and 20 deletions

View File

@ -308,10 +308,7 @@ AsmJSModule::finish(ExclusiveContext *cx, TokenStream &tokenStream, MacroAssembl
MOZ_ASSERT(isFinishedWithFunctionBodies() && !isFinished());
uint32_t endBeforeCurly = tokenStream.currentToken().pos.end;
TokenPos pos;
if (!tokenStream.peekTokenPos(&pos))
return false;
uint32_t endAfterCurly = pos.end;
uint32_t endAfterCurly = tokenStream.peekTokenPos().end;
MOZ_ASSERT(endBeforeCurly >= srcBodyStart_);
MOZ_ASSERT(endAfterCurly >= srcBodyStart_);
pod.srcLength_ = endBeforeCurly - srcStart_;
@ -1978,9 +1975,7 @@ class ModuleChars
}
static uint32_t endOffset(AsmJSParser &parser) {
TokenPos pos;
MOZ_ALWAYS_TRUE(parser.tokenStream.peekTokenPos(&pos));
return pos.end;
return parser.tokenStream.peekTokenPos().end;
}
};

View File

@ -1458,10 +1458,7 @@ class MOZ_STACK_CLASS ModuleCompiler
// Since pn is typically only null under OOM, this suppression simply forces any GC to be
// delayed until the compilation is off the stack and more memory can be freed.
gc::AutoSuppressGC nogc(cx_);
TokenPos pos;
if (!tokenStream().peekTokenPos(&pos))
return false;
return failOffset(pos.begin, str);
return failOffset(tokenStream().peekTokenPos().begin, str);
}
bool failfVA(ParseNode *pn, const char *fmt, va_list ap) {

View File

@ -403,15 +403,13 @@ class MOZ_STACK_CLASS TokenStream
return *ttp != TOK_ERROR;
}
bool peekTokenPos(TokenPos *posp, Modifier modifier = None) {
if (lookahead == 0) {
getTokenInternal(modifier);
ungetToken();
MOZ_ASSERT(lookahead != 0);
}
Token token = tokens[(cursor + 1) & ntokensMask];
*posp = token.pos;
return token.type != TOK_ERROR;
TokenPos peekTokenPos(Modifier modifier = None) {
if (lookahead != 0)
return tokens[(cursor + 1) & ntokensMask].pos;
getTokenInternal(modifier);
ungetToken();
MOZ_ASSERT(lookahead != 0);
return tokens[(cursor + 1) & ntokensMask].pos;
}
// This is like peekToken(), with one exception: if there is an EOL