Index: src/parsing/parser-base.h |
diff --git a/src/parsing/parser-base.h b/src/parsing/parser-base.h |
index 4a13688eda09ec3e35d0e6bb77285887f65341cb..fddbc7bb043a765226c2ba262f1fb241d244759d 100644 |
--- a/src/parsing/parser-base.h |
+++ b/src/parsing/parser-base.h |
@@ -2223,13 +2223,15 @@ ParserBase<Traits>::ParseBinaryExpression(int prec, bool accept_IN, |
ReportMessageAt(op_location, MessageTemplate::kStrongEqual); |
*ok = false; |
return this->EmptyExpression(); |
+ } else if (FLAG_harmony_instanceof && cmp == Token::INSTANCEOF) { |
+ x = Traits::RewriteInstanceof(x, y, pos); |
+ } else { |
+ x = factory()->NewCompareOperation(cmp, x, y, pos); |
+ if (cmp != op) { |
+ // The comparison was negated - add a NOT. |
+ x = factory()->NewUnaryOperation(Token::NOT, x, pos); |
+ } |
} |
- x = factory()->NewCompareOperation(cmp, x, y, pos); |
- if (cmp != op) { |
- // The comparison was negated - add a NOT. |
- x = factory()->NewUnaryOperation(Token::NOT, x, pos); |
- } |
- |
} else { |
// We have a "normal" binary operation. |
x = factory()->NewBinaryOperation(op, x, y, pos); |