Index: src/ast/ast.h |
diff --git a/src/ast/ast.h b/src/ast/ast.h |
index 2d9833aee1eb2b8f7aa3b8e3de1acf2fb2967720..de603f8ad3fe2b6199f43e3beca6131cf99d0106 100644 |
--- a/src/ast/ast.h |
+++ b/src/ast/ast.h |
@@ -904,6 +904,15 @@ class ReturnStatement final : public JumpStatement { |
Type type() const { return TypeField::decode(bit_field_); } |
bool is_async_return() const { return type() == kAsyncReturn; } |
+ FeedbackSlot TypeProfileSlot() const { |
+ DCHECK(HasTypeProfileSlot()); |
+ return type_profile_slot_; |
+ } |
+ |
+ void SetTypeProfileSlot(FeedbackSlot slot) { type_profile_slot_ = slot; } |
+ |
+ bool HasTypeProfileSlot() const { return !type_profile_slot_.IsInvalid(); } |
+ |
private: |
friend class AstNodeFactory; |
@@ -912,6 +921,8 @@ class ReturnStatement final : public JumpStatement { |
bit_field_ |= TypeField::encode(type); |
} |
+ FeedbackSlot type_profile_slot_; |
+ |
Expression* expression_; |
class TypeField |