Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(419)

Unified Diff: src/hydrogen-instructions.cc

Issue 1123043002: [strong] Fix inlining issue (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/hydrogen-instructions.h ('k') | src/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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);
}
« no previous file with comments | « src/hydrogen-instructions.h ('k') | src/ia32/lithium-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698