Index: src/x64/full-codegen-x64.cc |
diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc |
index 1e7cc6c66142eaf7b1811c5a7ffb97dab0122d77..846b7138ce490a1b0709d88104cd63399d2a43c5 100644 |
--- a/src/x64/full-codegen-x64.cc |
+++ b/src/x64/full-codegen-x64.cc |
@@ -2822,6 +2822,13 @@ void FullCodeGenerator::VisitCallNew(CallNew* expr) { |
Handle<Object> uninitialized = |
TypeFeedbackInfo::UninitializedSentinel(isolate()); |
StoreFeedbackVectorSlot(expr->CallNewFeedbackSlot(), uninitialized); |
+ if (FLAG_pretenuring_call_new) { |
+ StoreFeedbackVectorSlot(expr->AllocationSiteFeedbackSlot(), |
+ isolate()->factory()->NewAllocationSite()); |
+ ASSERT(expr->AllocationSiteFeedbackSlot() == |
+ expr->CallNewFeedbackSlot() + 1); |
+ } |
+ |
__ Move(rbx, FeedbackVector()); |
__ Move(rdx, Smi::FromInt(expr->CallNewFeedbackSlot())); |