| 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 { |
| 11 | 11 |
| 12 // Forward declarations. | 12 // Forward declarations. |
| 13 class Isolate; | 13 class Isolate; |
| 14 class ObjectPointerVisitor; | 14 class ObjectPointerVisitor; |
| 15 | 15 |
| 16 // The object store is a per isolate instance which stores references to | 16 // The object store is a per isolate instance which stores references to |
| 17 // objects used by the VM. | 17 // objects used by the VM. |
| 18 // TODO(iposva): Move the actual store into the object heap for quick handling | 18 // TODO(iposva): Move the actual store into the object heap for quick handling |
| 19 // by snapshots eventually. | 19 // by snapshots eventually. |
| 20 class ObjectStore { | 20 class ObjectStore { |
| 21 public: | 21 public: |
| 22 enum BootstrapLibraryId { | 22 enum BootstrapLibraryId { |
| 23 kNone = 0, | 23 kNone = 0, |
| 24 kAsync, | 24 kAsync, |
| 25 kCore, | 25 kCore, |
| 26 kCollection, | 26 kCollection, |
| 27 kConvert, | 27 kConvert, |
| 28 kDebugger, | 28 kDeveloper, |
| 29 kInternal, | 29 kInternal, |
| 30 kIsolate, | 30 kIsolate, |
| 31 kMath, | 31 kMath, |
| 32 kMirrors, | 32 kMirrors, |
| 33 kProfiler, | 33 kProfiler, |
| 34 kTypedData, | 34 kTypedData, |
| 35 }; | 35 }; |
| 36 | 36 |
| 37 ~ObjectStore(); | 37 ~ObjectStore(); |
| 38 | 38 |
| (...skipping 212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 251 } | 251 } |
| 252 void set_canonical_type_arguments(const Array& value) { | 252 void set_canonical_type_arguments(const Array& value) { |
| 253 canonical_type_arguments_ = value.raw(); | 253 canonical_type_arguments_ = value.raw(); |
| 254 } | 254 } |
| 255 | 255 |
| 256 RawLibrary* async_library() const { return async_library_; } | 256 RawLibrary* async_library() const { return async_library_; } |
| 257 RawLibrary* builtin_library() const { return builtin_library_; } | 257 RawLibrary* builtin_library() const { return builtin_library_; } |
| 258 RawLibrary* core_library() const { return core_library_; } | 258 RawLibrary* core_library() const { return core_library_; } |
| 259 RawLibrary* collection_library() const { return collection_library_; } | 259 RawLibrary* collection_library() const { return collection_library_; } |
| 260 RawLibrary* convert_library() const { return convert_library_; } | 260 RawLibrary* convert_library() const { return convert_library_; } |
| 261 RawLibrary* debugger_library() const { return debugger_library_; } | 261 RawLibrary* developer_library() const { return developer_library_; } |
| 262 RawLibrary* internal_library() const { return internal_library_; } | 262 RawLibrary* internal_library() const { return internal_library_; } |
| 263 RawLibrary* isolate_library() const { return isolate_library_; } | 263 RawLibrary* isolate_library() const { return isolate_library_; } |
| 264 RawLibrary* math_library() const { return math_library_; } | 264 RawLibrary* math_library() const { return math_library_; } |
| 265 RawLibrary* mirrors_library() const { return mirrors_library_; } | 265 RawLibrary* mirrors_library() const { return mirrors_library_; } |
| 266 RawLibrary* profiler_library() const { return profiler_library_; } | 266 RawLibrary* profiler_library() const { return profiler_library_; } |
| 267 RawLibrary* typed_data_library() const { return typed_data_library_; } | 267 RawLibrary* typed_data_library() const { return typed_data_library_; } |
| 268 | 268 |
| 269 void set_bootstrap_library(BootstrapLibraryId index, const Library& value) { | 269 void set_bootstrap_library(BootstrapLibraryId index, const Library& value) { |
| 270 switch (index) { | 270 switch (index) { |
| 271 case kAsync: | 271 case kAsync: |
| 272 async_library_ = value.raw(); | 272 async_library_ = value.raw(); |
| 273 break; | 273 break; |
| 274 case kCore: | 274 case kCore: |
| 275 core_library_ = value.raw(); | 275 core_library_ = value.raw(); |
| 276 break; | 276 break; |
| 277 case kCollection: | 277 case kCollection: |
| 278 collection_library_ = value.raw(); | 278 collection_library_ = value.raw(); |
| 279 break; | 279 break; |
| 280 case kConvert: | 280 case kConvert: |
| 281 convert_library_ = value.raw(); | 281 convert_library_ = value.raw(); |
| 282 break; | 282 break; |
| 283 case kDebugger: | 283 case kDeveloper: |
| 284 debugger_library_ = value.raw(); | 284 developer_library_ = value.raw(); |
| 285 break; | 285 break; |
| 286 case kInternal: | 286 case kInternal: |
| 287 internal_library_ = value.raw(); | 287 internal_library_ = value.raw(); |
| 288 break; | 288 break; |
| 289 case kIsolate: | 289 case kIsolate: |
| 290 isolate_library_ = value.raw(); | 290 isolate_library_ = value.raw(); |
| 291 break; | 291 break; |
| 292 case kMath: | 292 case kMath: |
| 293 math_library_ = value.raw(); | 293 math_library_ = value.raw(); |
| 294 break; | 294 break; |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 482 RawClass* float64x2_class_; | 482 RawClass* float64x2_class_; |
| 483 RawClass* error_class_; | 483 RawClass* error_class_; |
| 484 RawClass* weak_property_class_; | 484 RawClass* weak_property_class_; |
| 485 RawArray* symbol_table_; | 485 RawArray* symbol_table_; |
| 486 RawArray* canonical_type_arguments_; | 486 RawArray* canonical_type_arguments_; |
| 487 RawLibrary* async_library_; | 487 RawLibrary* async_library_; |
| 488 RawLibrary* builtin_library_; | 488 RawLibrary* builtin_library_; |
| 489 RawLibrary* core_library_; | 489 RawLibrary* core_library_; |
| 490 RawLibrary* collection_library_; | 490 RawLibrary* collection_library_; |
| 491 RawLibrary* convert_library_; | 491 RawLibrary* convert_library_; |
| 492 RawLibrary* debugger_library_; | 492 RawLibrary* developer_library_; |
| 493 RawLibrary* internal_library_; | 493 RawLibrary* internal_library_; |
| 494 RawLibrary* isolate_library_; | 494 RawLibrary* isolate_library_; |
| 495 RawLibrary* math_library_; | 495 RawLibrary* math_library_; |
| 496 RawLibrary* mirrors_library_; | 496 RawLibrary* mirrors_library_; |
| 497 RawLibrary* native_wrappers_library_; | 497 RawLibrary* native_wrappers_library_; |
| 498 RawLibrary* profiler_library_; | 498 RawLibrary* profiler_library_; |
| 499 RawLibrary* root_library_; | 499 RawLibrary* root_library_; |
| 500 RawLibrary* typed_data_library_; | 500 RawLibrary* typed_data_library_; |
| 501 RawGrowableObjectArray* libraries_; | 501 RawGrowableObjectArray* libraries_; |
| 502 RawGrowableObjectArray* pending_classes_; | 502 RawGrowableObjectArray* pending_classes_; |
| (...skipping 17 matching lines...) Expand all Loading... |
| 520 } | 520 } |
| 521 | 521 |
| 522 friend class SnapshotReader; | 522 friend class SnapshotReader; |
| 523 | 523 |
| 524 DISALLOW_COPY_AND_ASSIGN(ObjectStore); | 524 DISALLOW_COPY_AND_ASSIGN(ObjectStore); |
| 525 }; | 525 }; |
| 526 | 526 |
| 527 } // namespace dart | 527 } // namespace dart |
| 528 | 528 |
| 529 #endif // VM_OBJECT_STORE_H_ | 529 #endif // VM_OBJECT_STORE_H_ |
| OLD | NEW |