Index: src/hydrogen-instructions.h |
diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h |
index 272c6bdaf044a8906b201348da851e49ac80a815..52e3ba0ef8d6898b55e30edefd616a430b6a24b3 100644 |
--- a/src/hydrogen-instructions.h |
+++ b/src/hydrogen-instructions.h |
@@ -5439,9 +5439,11 @@ class HAllocate V8_FINAL : public HTemplateInstruction<2> { |
HValue* size, |
HType type, |
PretenureFlag pretenure_flag, |
- InstanceType instance_type) { |
+ InstanceType instance_type, |
+ Handle<AllocationSite> allocation_site = |
+ Handle<AllocationSite>::null()) { |
return new(zone) HAllocate(context, size, type, pretenure_flag, |
- instance_type); |
+ instance_type, allocation_site); |
} |
// Maximum instance size for which allocations will be inlined. |
@@ -5514,7 +5516,9 @@ class HAllocate V8_FINAL : public HTemplateInstruction<2> { |
HValue* size, |
HType type, |
PretenureFlag pretenure_flag, |
- InstanceType instance_type) |
+ InstanceType instance_type, |
+ Handle<AllocationSite> allocation_site = |
+ Handle<AllocationSite>::null()) |
: HTemplateInstruction<2>(type), |
dominating_allocate_(NULL), |
filler_free_space_size_(NULL), |
@@ -5542,6 +5546,14 @@ class HAllocate V8_FINAL : public HTemplateInstruction<2> { |
} |
clear_next_map_word_ = pretenure_flag == NOT_TENURED && |
AllocationSite::CanTrack(instance_type); |
+ |
+ if (FLAG_trace_pretenuring) { |
+ PrintF("HAllocate with AllocationSite %p %s\n", |
+ allocation_site.is_null() |
+ ? static_cast<void*>(NULL) |
+ : static_cast<void*>(*allocation_site), |
+ pretenure_flag == TENURED ? "tenured" : "not tenured"); |
+ } |
} |
void UpdateSize(HValue* size) { |