| Index: src/parser.cc
|
| diff --git a/src/parser.cc b/src/parser.cc
|
| index 15ed6ded0e8e08b417b1f6a7ebbe2c2f63240844..f2975e1fd47ae30f2eb51656ff030dce24782b0e 100644
|
| --- a/src/parser.cc
|
| +++ b/src/parser.cc
|
| @@ -736,14 +736,7 @@ Expression* ParserTraits::ExpressionFromString(int pos, Scanner* scanner,
|
|
|
| Expression* ParserTraits::GetIterator(Expression* iterable,
|
| AstNodeFactory* factory) {
|
| - Expression* iterator_symbol_literal =
|
| - factory->NewSymbolLiteral("iterator_symbol", RelocInfo::kNoPosition);
|
| - int pos = iterable->position();
|
| - Expression* prop =
|
| - factory->NewProperty(iterable, iterator_symbol_literal, pos);
|
| - Zone* zone = parser_->zone();
|
| - ZoneList<Expression*>* args = new (zone) ZoneList<Expression*>(0, zone);
|
| - return factory->NewCall(prop, args, pos);
|
| + return factory->GetIterator(iterable);
|
| }
|
|
|
|
|
| @@ -4123,7 +4116,15 @@ Expression* Parser::ParseV8Intrinsic(bool* ok) {
|
| Expect(Token::MOD, CHECK_OK);
|
| // Allow "eval" or "arguments" for backward compatibility.
|
| const AstRawString* name = ParseIdentifier(kAllowEvalOrArguments, CHECK_OK);
|
| - ZoneList<Expression*>* args = ParseArguments(CHECK_OK);
|
| + Scanner::Location spread_pos;
|
| + ZoneList<Expression*>* args = ParseArguments(&spread_pos, CHECK_OK);
|
| +
|
| + if (spread_pos.IsValid()) {
|
| + // Maybe support spread calls for intrinsics/runtime calls?
|
| + ParserTraits::ReportMessageAt(spread_pos, "spreadcall_intrinsic");
|
| + *ok = false;
|
| + return NULL;
|
| + }
|
|
|
| if (extension_ != NULL) {
|
| // The extension structures are only accessible while parsing the
|
|
|