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_H_ | 5 #ifndef V8_AST_H_ |
6 #define V8_AST_H_ | 6 #define V8_AST_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/assembler.h" | 10 #include "src/assembler.h" |
(...skipping 903 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
914 | 914 |
915 FeedbackVectorSlot ForInFeedbackSlot() { | 915 FeedbackVectorSlot ForInFeedbackSlot() { |
916 DCHECK(!for_in_feedback_slot_.IsInvalid()); | 916 DCHECK(!for_in_feedback_slot_.IsInvalid()); |
917 return for_in_feedback_slot_; | 917 return for_in_feedback_slot_; |
918 } | 918 } |
919 | 919 |
920 enum ForInType { FAST_FOR_IN, SLOW_FOR_IN }; | 920 enum ForInType { FAST_FOR_IN, SLOW_FOR_IN }; |
921 ForInType for_in_type() const { return for_in_type_; } | 921 ForInType for_in_type() const { return for_in_type_; } |
922 void set_for_in_type(ForInType type) { for_in_type_ = type; } | 922 void set_for_in_type(ForInType type) { for_in_type_ = type; } |
923 | 923 |
924 static int num_ids() { return parent_num_ids() + 5; } | 924 static int num_ids() { return parent_num_ids() + 6; } |
925 BailoutId BodyId() const { return BailoutId(local_id(0)); } | 925 BailoutId BodyId() const { return BailoutId(local_id(0)); } |
926 BailoutId PrepareId() const { return BailoutId(local_id(1)); } | 926 BailoutId PrepareId() const { return BailoutId(local_id(1)); } |
927 BailoutId EnumId() const { return BailoutId(local_id(2)); } | 927 BailoutId EnumId() const { return BailoutId(local_id(2)); } |
928 BailoutId ToObjectId() const { return BailoutId(local_id(3)); } | 928 BailoutId ToObjectId() const { return BailoutId(local_id(3)); } |
929 BailoutId AssignmentId() const { return BailoutId(local_id(4)); } | 929 BailoutId FilterId() const { return BailoutId(local_id(4)); } |
| 930 BailoutId AssignmentId() const { return BailoutId(local_id(5)); } |
930 BailoutId ContinueId() const OVERRIDE { return EntryId(); } | 931 BailoutId ContinueId() const OVERRIDE { return EntryId(); } |
931 BailoutId StackCheckId() const OVERRIDE { return BodyId(); } | 932 BailoutId StackCheckId() const OVERRIDE { return BodyId(); } |
932 | 933 |
933 protected: | 934 protected: |
934 ForInStatement(Zone* zone, ZoneList<const AstRawString*>* labels, int pos) | 935 ForInStatement(Zone* zone, ZoneList<const AstRawString*>* labels, int pos) |
935 : ForEachStatement(zone, labels, pos), | 936 : ForEachStatement(zone, labels, pos), |
936 for_in_type_(SLOW_FOR_IN), | 937 for_in_type_(SLOW_FOR_IN), |
937 for_in_feedback_slot_(FeedbackVectorSlot::Invalid()) {} | 938 for_in_feedback_slot_(FeedbackVectorSlot::Invalid()) {} |
938 static int parent_num_ids() { return ForEachStatement::num_ids(); } | 939 static int parent_num_ids() { return ForEachStatement::num_ids(); } |
939 | 940 |
(...skipping 2637 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3577 | 3578 |
3578 private: | 3579 private: |
3579 Zone* zone_; | 3580 Zone* zone_; |
3580 AstValueFactory* ast_value_factory_; | 3581 AstValueFactory* ast_value_factory_; |
3581 }; | 3582 }; |
3582 | 3583 |
3583 | 3584 |
3584 } } // namespace v8::internal | 3585 } } // namespace v8::internal |
3585 | 3586 |
3586 #endif // V8_AST_H_ | 3587 #endif // V8_AST_H_ |
OLD | NEW |