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 { | 22 enum BootstrapLibraryId { |
23 kNone = 0, | 23 kNone = 0, |
24 kAsync, | 24 kAsync, |
25 kCore, | 25 kCore, |
26 kCollection, | 26 kCollection, |
27 kCollectionDev, | 27 kCollectionDev, |
28 kConvert, | 28 kConvert, |
29 kIsolate, | 29 kIsolate, |
30 kJson, | 30 kJson, |
31 kMath, | 31 kMath, |
32 kMirrors, | 32 kMirrors, |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 RawLibrary* collection_dev_library() const { | 275 RawLibrary* collection_dev_library() const { |
276 return collection_dev_library_; | 276 return collection_dev_library_; |
277 } | 277 } |
278 RawLibrary* convert_library() const { return convert_library_; } | 278 RawLibrary* convert_library() const { return convert_library_; } |
279 RawLibrary* isolate_library() const { return isolate_library_; } | 279 RawLibrary* isolate_library() const { return isolate_library_; } |
280 RawLibrary* json_library() const { return json_library_; } | 280 RawLibrary* json_library() const { return json_library_; } |
281 RawLibrary* math_library() const { return math_library_; } | 281 RawLibrary* math_library() const { return math_library_; } |
282 RawLibrary* mirrors_library() const { return mirrors_library_; } | 282 RawLibrary* mirrors_library() const { return mirrors_library_; } |
283 RawLibrary* typed_data_library() const { return typed_data_library_; } | 283 RawLibrary* typed_data_library() const { return typed_data_library_; } |
284 RawLibrary* utf_library() const { return utf_library_; } | 284 RawLibrary* utf_library() const { return utf_library_; } |
285 void set_bootstrap_library(intptr_t index, const Library& value) { | 285 void set_bootstrap_library(BootstrapLibraryId index, const Library& value) { |
286 switch (index) { | 286 switch (index) { |
287 case kAsync: | 287 case kAsync: |
288 async_library_ = value.raw(); | 288 async_library_ = value.raw(); |
289 break; | 289 break; |
290 case kCore: | 290 case kCore: |
291 core_library_ = value.raw(); | 291 core_library_ = value.raw(); |
292 break; | 292 break; |
293 case kCollection: | 293 case kCollection: |
294 collection_library_ = value.raw(); | 294 collection_library_ = value.raw(); |
295 break; | 295 break; |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
503 RawObject** to() { return reinterpret_cast<RawObject**>(&keyword_symbols_); } | 503 RawObject** to() { return reinterpret_cast<RawObject**>(&keyword_symbols_); } |
504 | 504 |
505 friend class SnapshotReader; | 505 friend class SnapshotReader; |
506 | 506 |
507 DISALLOW_COPY_AND_ASSIGN(ObjectStore); | 507 DISALLOW_COPY_AND_ASSIGN(ObjectStore); |
508 }; | 508 }; |
509 | 509 |
510 } // namespace dart | 510 } // namespace dart |
511 | 511 |
512 #endif // VM_OBJECT_STORE_H_ | 512 #endif // VM_OBJECT_STORE_H_ |
OLD | NEW |