Chromium Code Reviews| Index: src/ast/ast.h |
| diff --git a/src/ast/ast.h b/src/ast/ast.h |
| index c3790b34b377fe448289a171d066207cdb8e998e..118a6113269d063b807b2ed1a768cec92ebc59d7 100644 |
| --- a/src/ast/ast.h |
| +++ b/src/ast/ast.h |
| @@ -2414,9 +2414,19 @@ class Assignment final : public Expression { |
| } |
| void AssignFeedbackSlots(FeedbackVectorSpec* spec, LanguageMode language_mode, |
| - FeedbackSlotCache* cache); |
| + FeedbackSlotCache* cache, |
| + bool collect_type_profile = false); |
| FeedbackSlot AssignmentSlot() const { return slot_; } |
| + FeedbackSlot CollectTypeProfileSlot() const { |
|
Yang
2017/03/09 10:28:27
CollectTypeProfileSlot sounds like an action. Can
Franzi
2017/03/10 12:14:28
Done.
|
| + DCHECK(HasCollectTypeProfileSlot()); |
| + return collect_type_profile_slot_; |
| + } |
| + |
| + bool HasCollectTypeProfileSlot() const { |
| + return CollectTypeProfileSlotField::decode(bit_field_); |
|
Yang
2017/03/09 10:28:27
Do we really need this bit in the bit field? Can w
Franzi
2017/03/10 12:14:28
Done.
|
| + } |
| + |
| private: |
| friend class AstNodeFactory; |
| @@ -2432,12 +2442,16 @@ class Assignment final : public Expression { |
| class StoreModeField |
| : public BitField<KeyedAccessStoreMode, KeyTypeField::kNext, 3> {}; |
| class TokenField : public BitField<Token::Value, StoreModeField::kNext, 7> {}; |
| + class CollectTypeProfileSlotField |
| + : public BitField<bool, TokenField::kNext, 1> {}; |
| FeedbackSlot slot_; |
| Expression* target_; |
| Expression* value_; |
| BinaryOperation* binary_operation_; |
| SmallMapList receiver_types_; |
| + |
| + FeedbackSlot collect_type_profile_slot_; |
| }; |