Index: src/compiler/ast-graph-builder.cc |
diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc |
index d299aec2ac5395c2903dfe8e4cd4937b30a94c9f..f32bffa3355d52675e374c9c6c3edd48b65e6484 100644 |
--- a/src/compiler/ast-graph-builder.cc |
+++ b/src/compiler/ast-graph-builder.cc |
@@ -1269,7 +1269,8 @@ void AstGraphBuilder::VisitForInBody(ForInStatement* stmt) { |
Node* obj = environment()->Peek(4); |
// Check loop termination condition. |
- Node* exit_cond = NewNode(javascript()->LessThan(), index, cache_length); |
+ Node* exit_cond = NewNode(javascript()->LessThan(LanguageMode::SLOPPY), |
+ index, cache_length); |
// TODO(jarin): provide real bailout id. |
PrepareFrameState(exit_cond, BailoutId::None()); |
for_loop.BreakUnless(exit_cond); |
@@ -1303,7 +1304,8 @@ void AstGraphBuilder::VisitForInBody(ForInStatement* stmt) { |
is_property_missing.Then(); |
// Inc counter and continue. |
Node* index_inc = |
- NewNode(javascript()->Add(), index, jsgraph()->OneConstant()); |
+ NewNode(javascript()->Add(LanguageMode::SLOPPY), index, |
+ jsgraph()->OneConstant()); |
// TODO(jarin): provide real bailout id. |
PrepareFrameStateAfterAndBefore(index_inc, BailoutId::None(), |
OutputFrameStateCombine::Ignore(), |
@@ -1327,7 +1329,8 @@ void AstGraphBuilder::VisitForInBody(ForInStatement* stmt) { |
// Inc counter and continue. |
Node* index_inc = |
- NewNode(javascript()->Add(), index, jsgraph()->OneConstant()); |
+ NewNode(javascript()->Add(LanguageMode::SLOPPY), index, |
+ jsgraph()->OneConstant()); |
// TODO(jarin): provide real bailout id. |
PrepareFrameStateAfterAndBefore(index_inc, BailoutId::None(), |
OutputFrameStateCombine::Ignore(), |
@@ -2439,16 +2442,16 @@ void AstGraphBuilder::VisitCompareOperation(CompareOperation* expr) { |
op = javascript()->StrictNotEqual(); |
break; |
case Token::LT: |
- op = javascript()->LessThan(); |
+ op = javascript()->LessThan(language_mode()); |
break; |
case Token::GT: |
- op = javascript()->GreaterThan(); |
+ op = javascript()->GreaterThan(language_mode()); |
break; |
case Token::LTE: |
- op = javascript()->LessThanOrEqual(); |
+ op = javascript()->LessThanOrEqual(language_mode()); |
break; |
case Token::GTE: |
- op = javascript()->GreaterThanOrEqual(); |
+ op = javascript()->GreaterThanOrEqual(language_mode()); |
break; |
case Token::INSTANCEOF: |
op = javascript()->InstanceOf(); |
@@ -3208,37 +3211,37 @@ Node* AstGraphBuilder::BuildBinaryOp(Node* left, Node* right, Token::Value op) { |
const Operator* js_op; |
switch (op) { |
case Token::BIT_OR: |
- js_op = javascript()->BitwiseOr(); |
+ js_op = javascript()->BitwiseOr(language_mode()); |
break; |
case Token::BIT_AND: |
- js_op = javascript()->BitwiseAnd(); |
+ js_op = javascript()->BitwiseAnd(language_mode()); |
break; |
case Token::BIT_XOR: |
- js_op = javascript()->BitwiseXor(); |
+ js_op = javascript()->BitwiseXor(language_mode()); |
break; |
case Token::SHL: |
- js_op = javascript()->ShiftLeft(); |
+ js_op = javascript()->ShiftLeft(language_mode()); |
break; |
case Token::SAR: |
- js_op = javascript()->ShiftRight(); |
+ js_op = javascript()->ShiftRight(language_mode()); |
break; |
case Token::SHR: |
- js_op = javascript()->ShiftRightLogical(); |
+ js_op = javascript()->ShiftRightLogical(language_mode()); |
break; |
case Token::ADD: |
- js_op = javascript()->Add(); |
+ js_op = javascript()->Add(language_mode()); |
break; |
case Token::SUB: |
- js_op = javascript()->Subtract(); |
+ js_op = javascript()->Subtract(language_mode()); |
break; |
case Token::MUL: |
- js_op = javascript()->Multiply(); |
+ js_op = javascript()->Multiply(language_mode()); |
break; |
case Token::DIV: |
- js_op = javascript()->Divide(); |
+ js_op = javascript()->Divide(language_mode()); |
break; |
case Token::MOD: |
- js_op = javascript()->Modulus(); |
+ js_op = javascript()->Modulus(language_mode()); |
break; |
default: |
UNREACHABLE(); |