Index: src/hydrogen-instructions.cc |
diff --git a/src/hydrogen-instructions.cc b/src/hydrogen-instructions.cc |
index e7ad219964b3946b35e81dbd76011d7e8ff2133f..f82d84a4c909772534c997d8dc3c4badd72edbc2 100644 |
--- a/src/hydrogen-instructions.cc |
+++ b/src/hydrogen-instructions.cc |
@@ -3808,7 +3808,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); |
@@ -3818,7 +3820,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(")"); |
} |