OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_OBJECT_STORE_H_ | 5 #ifndef VM_OBJECT_STORE_H_ |
6 #define VM_OBJECT_STORE_H_ | 6 #define VM_OBJECT_STORE_H_ |
7 | 7 |
8 #include "vm/object.h" | 8 #include "vm/object.h" |
9 | 9 |
10 namespace dart { | 10 namespace dart { |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 void set_mint_type(const Type& value) { mint_type_ = value.raw(); } | 107 void set_mint_type(const Type& value) { mint_type_ = value.raw(); } |
108 | 108 |
109 RawClass* bigint_class() const { return bigint_class_; } | 109 RawClass* bigint_class() const { return bigint_class_; } |
110 void set_bigint_class(const Class& value) { bigint_class_ = value.raw(); } | 110 void set_bigint_class(const Class& value) { bigint_class_ = value.raw(); } |
111 | 111 |
112 RawType* string_type() const { return string_type_; } | 112 RawType* string_type() const { return string_type_; } |
113 void set_string_type(const Type& value) { | 113 void set_string_type(const Type& value) { |
114 string_type_ = value.raw(); | 114 string_type_ = value.raw(); |
115 } | 115 } |
116 | 116 |
| 117 RawClass* future_class() const { return future_class_; } |
| 118 void set_future_class(const Class& value) { |
| 119 future_class_ = value.raw(); |
| 120 } |
| 121 |
| 122 RawClass* completer_class() const { return completer_class_; } |
| 123 void set_completer_class(const Class& value) { |
| 124 completer_class_ = value.raw(); |
| 125 } |
| 126 |
117 RawClass* one_byte_string_class() const { return one_byte_string_class_; } | 127 RawClass* one_byte_string_class() const { return one_byte_string_class_; } |
118 void set_one_byte_string_class(const Class& value) { | 128 void set_one_byte_string_class(const Class& value) { |
119 one_byte_string_class_ = value.raw(); | 129 one_byte_string_class_ = value.raw(); |
120 } | 130 } |
121 | 131 |
122 RawClass* two_byte_string_class() const { return two_byte_string_class_; } | 132 RawClass* two_byte_string_class() const { return two_byte_string_class_; } |
123 void set_two_byte_string_class(const Class& value) { | 133 void set_two_byte_string_class(const Class& value) { |
124 two_byte_string_class_ = value.raw(); | 134 two_byte_string_class_ = value.raw(); |
125 } | 135 } |
126 | 136 |
(...skipping 273 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
400 } | 410 } |
401 | 411 |
402 // Visit all object pointers. | 412 // Visit all object pointers. |
403 void VisitObjectPointers(ObjectPointerVisitor* visitor); | 413 void VisitObjectPointers(ObjectPointerVisitor* visitor); |
404 | 414 |
405 // Called to initialize objects required by the vm but which invoke | 415 // Called to initialize objects required by the vm but which invoke |
406 // dart code. If an error occurs then false is returned and error | 416 // dart code. If an error occurs then false is returned and error |
407 // information is stored in sticky_error(). | 417 // information is stored in sticky_error(). |
408 bool PreallocateObjects(); | 418 bool PreallocateObjects(); |
409 | 419 |
| 420 void InitAsyncObjects(); |
| 421 |
410 static void Init(Isolate* isolate); | 422 static void Init(Isolate* isolate); |
411 | 423 |
412 private: | 424 private: |
413 ObjectStore(); | 425 ObjectStore(); |
414 | 426 |
415 RawObject** from() { return reinterpret_cast<RawObject**>(&object_class_); } | 427 RawObject** from() { return reinterpret_cast<RawObject**>(&object_class_); } |
416 RawClass* object_class_; | 428 RawClass* object_class_; |
417 RawType* object_type_; | 429 RawType* object_type_; |
418 RawClass* null_class_; | 430 RawClass* null_class_; |
419 RawType* null_type_; | 431 RawType* null_type_; |
420 RawType* function_type_; | 432 RawType* function_type_; |
421 RawType* function_impl_type_; | 433 RawType* function_impl_type_; |
422 RawType* number_type_; | 434 RawType* number_type_; |
423 RawType* int_type_; | 435 RawType* int_type_; |
424 RawClass* integer_implementation_class_; | 436 RawClass* integer_implementation_class_; |
425 RawClass* smi_class_; | 437 RawClass* smi_class_; |
426 RawType* smi_type_; | 438 RawType* smi_type_; |
427 RawClass* mint_class_; | 439 RawClass* mint_class_; |
428 RawType* mint_type_; | 440 RawType* mint_type_; |
429 RawClass* bigint_class_; | 441 RawClass* bigint_class_; |
430 RawClass* double_class_; | 442 RawClass* double_class_; |
431 RawType* double_type_; | 443 RawType* double_type_; |
432 RawType* float32x4_type_; | 444 RawType* float32x4_type_; |
433 RawType* int32x4_type_; | 445 RawType* int32x4_type_; |
434 RawType* float64x2_type_; | 446 RawType* float64x2_type_; |
435 RawType* string_type_; | 447 RawType* string_type_; |
| 448 RawClass* future_class_; |
| 449 RawClass* completer_class_; |
436 RawClass* one_byte_string_class_; | 450 RawClass* one_byte_string_class_; |
437 RawClass* two_byte_string_class_; | 451 RawClass* two_byte_string_class_; |
438 RawClass* external_one_byte_string_class_; | 452 RawClass* external_one_byte_string_class_; |
439 RawClass* external_two_byte_string_class_; | 453 RawClass* external_two_byte_string_class_; |
440 RawType* bool_type_; | 454 RawType* bool_type_; |
441 RawClass* bool_class_; | 455 RawClass* bool_class_; |
442 RawClass* array_class_; | 456 RawClass* array_class_; |
443 RawType* array_type_; | 457 RawType* array_type_; |
444 RawClass* immutable_array_class_; | 458 RawClass* immutable_array_class_; |
445 RawClass* growable_object_array_class_; | 459 RawClass* growable_object_array_class_; |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
485 } | 499 } |
486 | 500 |
487 friend class SnapshotReader; | 501 friend class SnapshotReader; |
488 | 502 |
489 DISALLOW_COPY_AND_ASSIGN(ObjectStore); | 503 DISALLOW_COPY_AND_ASSIGN(ObjectStore); |
490 }; | 504 }; |
491 | 505 |
492 } // namespace dart | 506 } // namespace dart |
493 | 507 |
494 #endif // VM_OBJECT_STORE_H_ | 508 #endif // VM_OBJECT_STORE_H_ |
OLD | NEW |