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/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/ast-value-factory.h" | 9 #include "src/ast-value-factory.h" |
10 #include "src/bailout-reason.h" | 10 #include "src/bailout-reason.h" |
(...skipping 2215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2226 type_(NULL), | 2226 type_(NULL), |
2227 expression_(expr), | 2227 expression_(expr), |
2228 slot_(FeedbackVectorICSlot::Invalid()) {} | 2228 slot_(FeedbackVectorICSlot::Invalid()) {} |
2229 static int parent_num_ids() { return Expression::num_ids(); } | 2229 static int parent_num_ids() { return Expression::num_ids(); } |
2230 | 2230 |
2231 private: | 2231 private: |
2232 int local_id(int n) const { return base_id() + parent_num_ids() + n; } | 2232 int local_id(int n) const { return base_id() + parent_num_ids() + n; } |
2233 | 2233 |
2234 class IsPrefixField : public BitField16<bool, 0, 1> {}; | 2234 class IsPrefixField : public BitField16<bool, 0, 1> {}; |
2235 class KeyTypeField : public BitField16<IcCheckType, 1, 1> {}; | 2235 class KeyTypeField : public BitField16<IcCheckType, 1, 1> {}; |
2236 class StoreModeField : public BitField16<KeyedAccessStoreMode, 2, 4> {}; | 2236 class StoreModeField : public BitField16<KeyedAccessStoreMode, 2, 3> {}; |
2237 class TokenField : public BitField16<Token::Value, 6, 8> {}; | 2237 class TokenField : public BitField16<Token::Value, 5, 8> {}; |
2238 | 2238 |
2239 // Starts with 16-bit field, which should get packed together with | 2239 // Starts with 16-bit field, which should get packed together with |
2240 // Expression's trailing 16-bit field. | 2240 // Expression's trailing 16-bit field. |
2241 uint16_t bit_field_; | 2241 uint16_t bit_field_; |
2242 Type* type_; | 2242 Type* type_; |
2243 Expression* expression_; | 2243 Expression* expression_; |
2244 SmallMapList receiver_types_; | 2244 SmallMapList receiver_types_; |
2245 FeedbackVectorICSlot slot_; | 2245 FeedbackVectorICSlot slot_; |
2246 }; | 2246 }; |
2247 | 2247 |
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2397 protected: | 2397 protected: |
2398 Assignment(Zone* zone, Token::Value op, Expression* target, Expression* value, | 2398 Assignment(Zone* zone, Token::Value op, Expression* target, Expression* value, |
2399 int pos); | 2399 int pos); |
2400 static int parent_num_ids() { return Expression::num_ids(); } | 2400 static int parent_num_ids() { return Expression::num_ids(); } |
2401 | 2401 |
2402 private: | 2402 private: |
2403 int local_id(int n) const { return base_id() + parent_num_ids() + n; } | 2403 int local_id(int n) const { return base_id() + parent_num_ids() + n; } |
2404 | 2404 |
2405 class IsUninitializedField : public BitField16<bool, 0, 1> {}; | 2405 class IsUninitializedField : public BitField16<bool, 0, 1> {}; |
2406 class KeyTypeField : public BitField16<IcCheckType, 1, 1> {}; | 2406 class KeyTypeField : public BitField16<IcCheckType, 1, 1> {}; |
2407 class StoreModeField : public BitField16<KeyedAccessStoreMode, 2, 4> {}; | 2407 class StoreModeField : public BitField16<KeyedAccessStoreMode, 2, 3> {}; |
2408 class TokenField : public BitField16<Token::Value, 6, 8> {}; | 2408 class TokenField : public BitField16<Token::Value, 5, 8> {}; |
2409 | 2409 |
2410 // Starts with 16-bit field, which should get packed together with | 2410 // Starts with 16-bit field, which should get packed together with |
2411 // Expression's trailing 16-bit field. | 2411 // Expression's trailing 16-bit field. |
2412 uint16_t bit_field_; | 2412 uint16_t bit_field_; |
2413 Expression* target_; | 2413 Expression* target_; |
2414 Expression* value_; | 2414 Expression* value_; |
2415 BinaryOperation* binary_operation_; | 2415 BinaryOperation* binary_operation_; |
2416 SmallMapList receiver_types_; | 2416 SmallMapList receiver_types_; |
2417 FeedbackVectorICSlot slot_; | 2417 FeedbackVectorICSlot slot_; |
2418 }; | 2418 }; |
(...skipping 1216 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3635 | 3635 |
3636 private: | 3636 private: |
3637 Zone* zone_; | 3637 Zone* zone_; |
3638 AstValueFactory* ast_value_factory_; | 3638 AstValueFactory* ast_value_factory_; |
3639 }; | 3639 }; |
3640 | 3640 |
3641 | 3641 |
3642 } } // namespace v8::internal | 3642 } } // namespace v8::internal |
3643 | 3643 |
3644 #endif // V8_AST_H_ | 3644 #endif // V8_AST_H_ |
OLD | NEW |