OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_AST_AST_H_ | 5 #ifndef V8_AST_AST_H_ |
6 #define V8_AST_AST_H_ | 6 #define V8_AST_AST_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/ast/ast-value-factory.h" | 9 #include "src/ast/ast-value-factory.h" |
10 #include "src/ast/modules.h" | 10 #include "src/ast/modules.h" |
(...skipping 844 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
855 | 855 |
856 FeedbackVectorSlot ForInFeedbackSlot() { | 856 FeedbackVectorSlot ForInFeedbackSlot() { |
857 DCHECK(!for_in_feedback_slot_.IsInvalid()); | 857 DCHECK(!for_in_feedback_slot_.IsInvalid()); |
858 return for_in_feedback_slot_; | 858 return for_in_feedback_slot_; |
859 } | 859 } |
860 | 860 |
861 enum ForInType { FAST_FOR_IN, SLOW_FOR_IN }; | 861 enum ForInType { FAST_FOR_IN, SLOW_FOR_IN }; |
862 ForInType for_in_type() const { return for_in_type_; } | 862 ForInType for_in_type() const { return for_in_type_; } |
863 void set_for_in_type(ForInType type) { for_in_type_ = type; } | 863 void set_for_in_type(ForInType type) { for_in_type_ = type; } |
864 | 864 |
865 static int num_ids() { return parent_num_ids() + 6; } | 865 static int num_ids() { return parent_num_ids() + 5; } |
866 BailoutId BodyId() const { return BailoutId(local_id(0)); } | 866 BailoutId BodyId() const { return BailoutId(local_id(0)); } |
867 BailoutId PrepareId() const { return BailoutId(local_id(1)); } | 867 BailoutId EnumId() const { return BailoutId(local_id(1)); } |
868 BailoutId EnumId() const { return BailoutId(local_id(2)); } | 868 BailoutId ToObjectId() const { return BailoutId(local_id(2)); } |
869 BailoutId ToObjectId() const { return BailoutId(local_id(3)); } | 869 BailoutId FilterId() const { return BailoutId(local_id(3)); } |
870 BailoutId FilterId() const { return BailoutId(local_id(4)); } | 870 BailoutId AssignmentId() const { return BailoutId(local_id(4)); } |
871 BailoutId AssignmentId() const { return BailoutId(local_id(5)); } | |
872 BailoutId ContinueId() const override { return EntryId(); } | 871 BailoutId ContinueId() const override { return EntryId(); } |
873 BailoutId StackCheckId() const override { return BodyId(); } | 872 BailoutId StackCheckId() const override { return BodyId(); } |
874 | 873 |
875 protected: | 874 protected: |
876 ForInStatement(Zone* zone, ZoneList<const AstRawString*>* labels, int pos) | 875 ForInStatement(Zone* zone, ZoneList<const AstRawString*>* labels, int pos) |
877 : ForEachStatement(zone, labels, pos), for_in_type_(SLOW_FOR_IN) {} | 876 : ForEachStatement(zone, labels, pos), for_in_type_(SLOW_FOR_IN) {} |
878 static int parent_num_ids() { return ForEachStatement::num_ids(); } | 877 static int parent_num_ids() { return ForEachStatement::num_ids(); } |
879 | 878 |
880 private: | 879 private: |
881 int local_id(int n) const { return base_id() + parent_num_ids() + n; } | 880 int local_id(int n) const { return base_id() + parent_num_ids() + n; } |
(...skipping 2667 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3549 // the parser-level zone. | 3548 // the parser-level zone. |
3550 Zone* parser_zone_; | 3549 Zone* parser_zone_; |
3551 AstValueFactory* ast_value_factory_; | 3550 AstValueFactory* ast_value_factory_; |
3552 }; | 3551 }; |
3553 | 3552 |
3554 | 3553 |
3555 } // namespace internal | 3554 } // namespace internal |
3556 } // namespace v8 | 3555 } // namespace v8 |
3557 | 3556 |
3558 #endif // V8_AST_AST_H_ | 3557 #endif // V8_AST_AST_H_ |
OLD | NEW |