Index: src/hydrogen-instructions.cc |
diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc |
index 7956437bd8790d6aa806095712812ca4348120f8..8006b7810095ba75f222d0a3141c3771e6d96088 100644 |
--- a/src/hydrogen-instructions.cc |
+++ b/src/hydrogen-instructions.cc |
@@ -3979,7 +3979,8 @@ bool HStoreKeyed::NeedsCanonicalization() { |
#define DEFINE_NEW_H_SIMPLE_ARITHMETIC_INSTR(HInstr, op) \ |
HInstruction* HInstr::New(Isolate* isolate, Zone* zone, HValue* context, \ |
- HValue* left, HValue* right) { \ |
+ HValue* left, HValue* right, \ |
+ LanguageMode language_mode) { \ |
if (FLAG_fold_constants && left->IsConstant() && right->IsConstant()) { \ |
HConstant* c_left = HConstant::cast(left); \ |
HConstant* c_right = HConstant::cast(right); \ |
@@ -3991,7 +3992,7 @@ bool HStoreKeyed::NeedsCanonicalization() { |
return H_CONSTANT_DOUBLE(double_res); \ |
} \ |
} \ |
- return new (zone) HInstr(context, left, right); \ |
+ return new (zone) HInstr(context, left, right, language_mode); \ |
} |
@@ -4004,6 +4005,7 @@ DEFINE_NEW_H_SIMPLE_ARITHMETIC_INSTR(HSub, -) |
HInstruction* HStringAdd::New(Isolate* isolate, Zone* zone, HValue* context, |
HValue* left, HValue* right, |
+ LanguageMode language_mode, |
PretenureFlag pretenure_flag, |
StringAddFlags flags, |
Handle<AllocationSite> allocation_site) { |
@@ -4022,7 +4024,8 @@ HInstruction* HStringAdd::New(Isolate* isolate, Zone* zone, HValue* context, |
} |
} |
return new(zone) HStringAdd( |
- context, left, right, pretenure_flag, flags, allocation_site); |
+ context, left, right, language_mode, pretenure_flag, flags, |
+ allocation_site); |
} |
@@ -4220,7 +4223,8 @@ HInstruction* HMathMinMax::New(Isolate* isolate, Zone* zone, HValue* context, |
HInstruction* HMod::New(Isolate* isolate, Zone* zone, HValue* context, |
- HValue* left, HValue* right) { |
+ HValue* left, HValue* right, |
+ LanguageMode language_mode) { |
if (FLAG_fold_constants && left->IsConstant() && right->IsConstant()) { |
HConstant* c_left = HConstant::cast(left); |
HConstant* c_right = HConstant::cast(right); |
@@ -4239,12 +4243,13 @@ HInstruction* HMod::New(Isolate* isolate, Zone* zone, HValue* context, |
} |
} |
} |
- return new(zone) HMod(context, left, right); |
+ return new(zone) HMod(context, left, right, language_mode); |
} |
HInstruction* HDiv::New(Isolate* isolate, Zone* zone, HValue* context, |
- HValue* left, HValue* right) { |
+ HValue* left, HValue* right, |
+ LanguageMode language_mode) { |
// If left and right are constant values, try to return a constant value. |
if (FLAG_fold_constants && left->IsConstant() && right->IsConstant()) { |
HConstant* c_left = HConstant::cast(left); |
@@ -4263,12 +4268,13 @@ HInstruction* HDiv::New(Isolate* isolate, Zone* zone, HValue* context, |
} |
} |
} |
- return new(zone) HDiv(context, left, right); |
+ return new(zone) HDiv(context, left, right, language_mode); |
} |
HInstruction* HBitwise::New(Isolate* isolate, Zone* zone, HValue* context, |
- Token::Value op, HValue* left, HValue* right) { |
+ Token::Value op, HValue* left, HValue* right, |
+ LanguageMode language_mode) { |
if (FLAG_fold_constants && left->IsConstant() && right->IsConstant()) { |
HConstant* c_left = HConstant::cast(left); |
HConstant* c_right = HConstant::cast(right); |
@@ -4293,13 +4299,14 @@ HInstruction* HBitwise::New(Isolate* isolate, Zone* zone, HValue* context, |
return H_CONSTANT_INT(result); |
} |
} |
- return new(zone) HBitwise(context, op, left, right); |
+ return new(zone) HBitwise(context, op, left, right, language_mode); |
} |
#define DEFINE_NEW_H_BITWISE_INSTR(HInstr, result) \ |
HInstruction* HInstr::New(Isolate* isolate, Zone* zone, HValue* context, \ |
- HValue* left, HValue* right) { \ |
+ HValue* left, HValue* right, \ |
+ LanguageMode language_mode) { \ |
if (FLAG_fold_constants && left->IsConstant() && right->IsConstant()) { \ |
HConstant* c_left = HConstant::cast(left); \ |
HConstant* c_right = HConstant::cast(right); \ |
@@ -4307,7 +4314,7 @@ HInstruction* HBitwise::New(Isolate* isolate, Zone* zone, HValue* context, |
return H_CONSTANT_INT(result); \ |
} \ |
} \ |
- return new (zone) HInstr(context, left, right); \ |
+ return new (zone) HInstr(context, left, right, language_mode); \ |
} |
@@ -4320,7 +4327,8 @@ c_left->NumberValueAsInteger32() << (c_right->NumberValueAsInteger32() & 0x1f)) |
HInstruction* HShr::New(Isolate* isolate, Zone* zone, HValue* context, |
- HValue* left, HValue* right) { |
+ HValue* left, HValue* right, |
+ LanguageMode language_mode) { |
if (FLAG_fold_constants && left->IsConstant() && right->IsConstant()) { |
HConstant* c_left = HConstant::cast(left); |
HConstant* c_right = HConstant::cast(right); |
@@ -4333,7 +4341,7 @@ HInstruction* HShr::New(Isolate* isolate, Zone* zone, HValue* context, |
return H_CONSTANT_INT(static_cast<uint32_t>(left_val) >> right_val); |
} |
} |
- return new(zone) HShr(context, left, right); |
+ return new(zone) HShr(context, left, right, language_mode); |
} |