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 2152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2163 } | 2163 } |
2164 Type* type() const { return type_; } | 2164 Type* type() const { return type_; } |
2165 void set_key_type(IcCheckType type) { | 2165 void set_key_type(IcCheckType type) { |
2166 bit_field_ = KeyTypeField::update(bit_field_, type); | 2166 bit_field_ = KeyTypeField::update(bit_field_, type); |
2167 } | 2167 } |
2168 void set_store_mode(KeyedAccessStoreMode mode) { | 2168 void set_store_mode(KeyedAccessStoreMode mode) { |
2169 bit_field_ = StoreModeField::update(bit_field_, mode); | 2169 bit_field_ = StoreModeField::update(bit_field_, mode); |
2170 } | 2170 } |
2171 void set_type(Type* type) { type_ = type; } | 2171 void set_type(Type* type) { type_ = type; } |
2172 | 2172 |
2173 static int num_ids() { return parent_num_ids() + 3; } | 2173 static int num_ids() { return parent_num_ids() + 4; } |
2174 BailoutId AssignmentId() const { return BailoutId(local_id(0)); } | 2174 BailoutId AssignmentId() const { return BailoutId(local_id(0)); } |
| 2175 BailoutId ToNumberId() const { return BailoutId(local_id(1)); } |
2175 TypeFeedbackId CountBinOpFeedbackId() const { | 2176 TypeFeedbackId CountBinOpFeedbackId() const { |
2176 return TypeFeedbackId(local_id(1)); | 2177 return TypeFeedbackId(local_id(2)); |
2177 } | 2178 } |
2178 TypeFeedbackId CountStoreFeedbackId() const { | 2179 TypeFeedbackId CountStoreFeedbackId() const { |
2179 return TypeFeedbackId(local_id(2)); | 2180 return TypeFeedbackId(local_id(3)); |
2180 } | 2181 } |
2181 | 2182 |
2182 protected: | 2183 protected: |
2183 CountOperation(Zone* zone, Token::Value op, bool is_prefix, Expression* expr, | 2184 CountOperation(Zone* zone, Token::Value op, bool is_prefix, Expression* expr, |
2184 int pos) | 2185 int pos) |
2185 : Expression(zone, pos), | 2186 : Expression(zone, pos), |
2186 bit_field_(IsPrefixField::encode(is_prefix) | | 2187 bit_field_(IsPrefixField::encode(is_prefix) | |
2187 KeyTypeField::encode(ELEMENT) | | 2188 KeyTypeField::encode(ELEMENT) | |
2188 StoreModeField::encode(STANDARD_STORE) | | 2189 StoreModeField::encode(STANDARD_STORE) | |
2189 TokenField::encode(op)), | 2190 TokenField::encode(op)), |
(...skipping 1356 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3546 | 3547 |
3547 private: | 3548 private: |
3548 Zone* zone_; | 3549 Zone* zone_; |
3549 AstValueFactory* ast_value_factory_; | 3550 AstValueFactory* ast_value_factory_; |
3550 }; | 3551 }; |
3551 | 3552 |
3552 | 3553 |
3553 } } // namespace v8::internal | 3554 } } // namespace v8::internal |
3554 | 3555 |
3555 #endif // V8_AST_H_ | 3556 #endif // V8_AST_H_ |
OLD | NEW |