| Index: src/ast.h
|
| diff --git a/src/ast.h b/src/ast.h
|
| index 262b41a1db74c008f12cb8baca3dda80aa411c2b..c6ee71ed83ed613ab121f2f9b80fdc9712f619b7 100644
|
| --- a/src/ast.h
|
| +++ b/src/ast.h
|
| @@ -1840,7 +1840,9 @@ class CallNew V8_FINAL : public Expression, public FeedbackSlotInterface {
|
|
|
| // Type feedback information.
|
| virtual ComputablePhase GetComputablePhase() { return DURING_PARSE; }
|
| - virtual int ComputeFeedbackSlotCount(Isolate* isolate) { return 1; }
|
| + virtual int ComputeFeedbackSlotCount(Isolate* isolate) {
|
| + return FLAG_pretenuring_call_new ? 2 : 1;
|
| + }
|
| virtual void SetFirstFeedbackSlot(int slot) {
|
| callnew_feedback_slot_ = slot;
|
| }
|
| @@ -1849,8 +1851,12 @@ class CallNew V8_FINAL : public Expression, public FeedbackSlotInterface {
|
| ASSERT(callnew_feedback_slot_ != kInvalidFeedbackSlot);
|
| return callnew_feedback_slot_;
|
| }
|
| + int AllocationSiteFeedbackSlot() {
|
| + ASSERT(callnew_feedback_slot_ != kInvalidFeedbackSlot);
|
| + ASSERT(FLAG_pretenuring_call_new);
|
| + return callnew_feedback_slot_ + 1;
|
| + }
|
|
|
| - TypeFeedbackId CallNewFeedbackId() const { return reuse(id()); }
|
| void RecordTypeFeedback(TypeFeedbackOracle* oracle);
|
| virtual bool IsMonomorphic() V8_OVERRIDE { return is_monomorphic_; }
|
| Handle<JSFunction> target() const { return target_; }
|
|
|