| Index: src/parser.h | 
| diff --git a/src/parser.h b/src/parser.h | 
| index 1941e9d27508ae36317137958a0140cf09b52da6..08350468e3f5ae3c9c1729f4e54d15a86cb7e535 100644 | 
| --- a/src/parser.h | 
| +++ b/src/parser.h | 
| @@ -494,6 +494,13 @@ class ParserTraits { | 
| // in strict mode. | 
| void CheckStrictModeLValue(Expression*expression, bool* ok); | 
|  | 
| +  // Returns true if we have a binary expression between two numeric | 
| +  // literals. In that case, *x will be changed to an expression which is the | 
| +  // computed value. | 
| +  bool ShortcutNumericLiteralBinaryExpression( | 
| +      Expression** x, Expression* y, Token::Value op, int pos, | 
| +      AstNodeFactory<AstConstructionVisitor>* factory); | 
| + | 
| // Reporting errors. | 
| void ReportMessageAt(Scanner::Location source_location, | 
| const char* message, | 
| @@ -553,7 +560,7 @@ class ParserTraits { | 
| int function_token_position, | 
| FunctionLiteral::FunctionType type, | 
| bool* ok); | 
| -  Expression* ParseBinaryExpression(int prec, bool accept_IN, bool* ok); | 
| +  Expression* ParseUnaryExpression(bool* ok); | 
|  | 
| private: | 
| Parser* parser_; | 
| @@ -696,7 +703,6 @@ class Parser : public ParserBase<ParserTraits> { | 
| // Support for hamony block scoped bindings. | 
| Block* ParseScopedBlock(ZoneStringList* labels, bool* ok); | 
|  | 
| -  Expression* ParseBinaryExpression(int prec, bool accept_IN, bool* ok); | 
| Expression* ParseUnaryExpression(bool* ok); | 
| Expression* ParsePostfixExpression(bool* ok); | 
| Expression* ParseLeftHandSideExpression(bool* ok); | 
|  |