| Index: src/ast/ast.h
|
| diff --git a/src/ast/ast.h b/src/ast/ast.h
|
| index a50eee99ee0b9d2f4f272ab619a1821030bd0a14..5fdffa506ce9f602d82779c6c3674942cc3fff9c 100644
|
| --- a/src/ast/ast.h
|
| +++ b/src/ast/ast.h
|
| @@ -790,10 +790,6 @@ class ForEachStatement : public IterationStatement {
|
| void set_each(Expression* e) { each_ = e; }
|
| void set_subject(Expression* e) { subject_ = e; }
|
|
|
| - void AssignFeedbackVectorSlots(Isolate* isolate, FeedbackVectorSpec* spec,
|
| - FeedbackVectorSlotCache* cache) override;
|
| - FeedbackVectorSlot EachFeedbackSlot() const { return each_slot_; }
|
| -
|
| static const char* VisitModeString(VisitMode mode) {
|
| return mode == ITERATE ? "for-of" : "for-in";
|
| }
|
| @@ -805,7 +801,6 @@ class ForEachStatement : public IterationStatement {
|
| private:
|
| Expression* each_;
|
| Expression* subject_;
|
| - FeedbackVectorSlot each_slot_;
|
| };
|
|
|
|
|
| @@ -819,11 +814,8 @@ class ForInStatement final : public ForEachStatement {
|
|
|
| // Type feedback information.
|
| void AssignFeedbackVectorSlots(Isolate* isolate, FeedbackVectorSpec* spec,
|
| - FeedbackVectorSlotCache* cache) override {
|
| - ForEachStatement::AssignFeedbackVectorSlots(isolate, spec, cache);
|
| - for_in_feedback_slot_ = spec->AddGeneralSlot();
|
| - }
|
| -
|
| + FeedbackVectorSlotCache* cache) override;
|
| + FeedbackVectorSlot EachFeedbackSlot() const { return each_slot_; }
|
| FeedbackVectorSlot ForInFeedbackSlot() {
|
| DCHECK(!for_in_feedback_slot_.IsInvalid());
|
| return for_in_feedback_slot_;
|
| @@ -852,6 +844,7 @@ class ForInStatement final : public ForEachStatement {
|
| int local_id(int n) const { return base_id() + parent_num_ids() + n; }
|
|
|
| ForInType for_in_type_;
|
| + FeedbackVectorSlot each_slot_;
|
| FeedbackVectorSlot for_in_feedback_slot_;
|
| };
|
|
|
|
|