Index: src/hydrogen-instructions.cc |
diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc |
index a3bc56ca4306d77c8914da1ce5cc1a1a14f102e8..49916687696b4d6b05cf4caf524bc74ce7e3db25 100644 |
--- a/src/hydrogen-instructions.cc |
+++ b/src/hydrogen-instructions.cc |
@@ -3815,7 +3815,9 @@ HInstruction* HStringAdd::New(Zone* zone, |
HValue* context, |
HValue* left, |
HValue* right, |
- StringAddFlags flags) { |
+ PretenureFlag pretenure_flag, |
+ StringAddFlags flags, |
+ Handle<AllocationSite> allocation_site) { |
if (FLAG_fold_constants && left->IsConstant() && right->IsConstant()) { |
HConstant* c_right = HConstant::cast(right); |
HConstant* c_left = HConstant::cast(left); |
@@ -3825,7 +3827,23 @@ HInstruction* HStringAdd::New(Zone* zone, |
return HConstant::New(zone, context, concat); |
} |
} |
- return new(zone) HStringAdd(context, left, right, flags); |
+ return new(zone) HStringAdd( |
+ context, left, right, pretenure_flag, flags, allocation_site); |
+} |
+ |
+ |
+void HStringAdd::PrintDataTo(StringStream* stream) { |
+ if ((flags() & STRING_ADD_CHECK_BOTH) == STRING_ADD_CHECK_BOTH) { |
+ stream->Add("_CheckBoth"); |
+ } else if ((flags() & STRING_ADD_CHECK_BOTH) == STRING_ADD_CHECK_LEFT) { |
+ stream->Add("_CheckLeft"); |
+ } else if ((flags() & STRING_ADD_CHECK_BOTH) == STRING_ADD_CHECK_RIGHT) { |
+ stream->Add("_CheckRight"); |
+ } |
+ stream->Add(" ("); |
+ if (pretenure_flag() == NOT_TENURED) stream->Add("N"); |
+ else if (pretenure_flag() == TENURED) stream->Add("D"); |
+ stream->Add(")"); |
} |