Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: runtime/vm/object_store.h

Issue 19000006: First version of Codecs and Converters. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Address comment. Created 7 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/bootstrap.cc ('k') | runtime/vm/symbols.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 {
23 kNone = 0, 23 kNone = 0,
24 kAsync, 24 kAsync,
25 kCodec,
25 kCore, 26 kCore,
26 kCollection, 27 kCollection,
27 kCollectionDev, 28 kCollectionDev,
29 kConvert,
28 kIsolate, 30 kIsolate,
29 kJson, 31 kJson,
30 kMath, 32 kMath,
31 kMirrors, 33 kMirrors,
32 kTypedData, 34 kTypedData,
33 kUtf, 35 kUtf,
34 }; 36 };
35 37
36 ~ObjectStore(); 38 ~ObjectStore();
37 39
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 256
255 RawArray* canonical_type_arguments() const { 257 RawArray* canonical_type_arguments() const {
256 return canonical_type_arguments_; 258 return canonical_type_arguments_;
257 } 259 }
258 void set_canonical_type_arguments(const Array& value) { 260 void set_canonical_type_arguments(const Array& value) {
259 canonical_type_arguments_ = value.raw(); 261 canonical_type_arguments_ = value.raw();
260 } 262 }
261 263
262 RawLibrary* async_library() const { return async_library_; } 264 RawLibrary* async_library() const { return async_library_; }
263 RawLibrary* builtin_library() const { return builtin_library_; } 265 RawLibrary* builtin_library() const { return builtin_library_; }
266 RawLibrary* codec_library() const { return codec_library_; }
264 RawLibrary* core_library() const { return core_library_; } 267 RawLibrary* core_library() const { return core_library_; }
265 RawLibrary* collection_library() const { return collection_library_; } 268 RawLibrary* collection_library() const { return collection_library_; }
266 RawLibrary* collection_dev_library() const { 269 RawLibrary* collection_dev_library() const {
267 return collection_dev_library_; 270 return collection_dev_library_;
268 } 271 }
272 RawLibrary* convert_library() const { return convert_library_; }
269 RawLibrary* isolate_library() const { return isolate_library_; } 273 RawLibrary* isolate_library() const { return isolate_library_; }
270 RawLibrary* json_library() const { return json_library_; } 274 RawLibrary* json_library() const { return json_library_; }
271 RawLibrary* math_library() const { return math_library_; } 275 RawLibrary* math_library() const { return math_library_; }
272 RawLibrary* mirrors_library() const { return mirrors_library_; } 276 RawLibrary* mirrors_library() const { return mirrors_library_; }
273 RawLibrary* typed_data_library() const { return typed_data_library_; } 277 RawLibrary* typed_data_library() const { return typed_data_library_; }
274 RawLibrary* utf_library() const { return utf_library_; } 278 RawLibrary* utf_library() const { return utf_library_; }
275 void set_bootstrap_library(intptr_t index, const Library& value) { 279 void set_bootstrap_library(intptr_t index, const Library& value) {
276 switch (index) { 280 switch (index) {
277 case kAsync: 281 case kAsync:
278 async_library_ = value.raw(); 282 async_library_ = value.raw();
279 break; 283 break;
284 case kCodec:
285 codec_library_ = value.raw();
286 break;
280 case kCore: 287 case kCore:
281 core_library_ = value.raw(); 288 core_library_ = value.raw();
282 break; 289 break;
283 case kCollection: 290 case kCollection:
284 collection_library_ = value.raw(); 291 collection_library_ = value.raw();
285 break; 292 break;
286 case kCollectionDev: 293 case kCollectionDev:
287 collection_dev_library_ = value.raw(); 294 collection_dev_library_ = value.raw();
288 break; 295 break;
296 case kConvert:
297 convert_library_ = value.raw();
298 break;
289 case kIsolate: 299 case kIsolate:
290 isolate_library_ = value.raw(); 300 isolate_library_ = value.raw();
291 break; 301 break;
292 case kJson: 302 case kJson:
293 json_library_ = value.raw(); 303 json_library_ = value.raw();
294 break; 304 break;
295 case kMath: 305 case kMath:
296 math_library_ = value.raw(); 306 math_library_ = value.raw();
297 break; 307 break;
298 case kMirrors: 308 case kMirrors:
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
451 RawClass* uint32x4_class_; 461 RawClass* uint32x4_class_;
452 RawArray* typed_data_classes_; 462 RawArray* typed_data_classes_;
453 RawClass* stacktrace_class_; 463 RawClass* stacktrace_class_;
454 RawClass* jsregexp_class_; 464 RawClass* jsregexp_class_;
455 RawClass* weak_property_class_; 465 RawClass* weak_property_class_;
456 RawClass* mirror_reference_class_; 466 RawClass* mirror_reference_class_;
457 RawArray* symbol_table_; 467 RawArray* symbol_table_;
458 RawArray* canonical_type_arguments_; 468 RawArray* canonical_type_arguments_;
459 RawLibrary* async_library_; 469 RawLibrary* async_library_;
460 RawLibrary* builtin_library_; 470 RawLibrary* builtin_library_;
471 RawLibrary* codec_library_;
461 RawLibrary* core_library_; 472 RawLibrary* core_library_;
462 RawLibrary* collection_library_; 473 RawLibrary* collection_library_;
463 RawLibrary* collection_dev_library_; 474 RawLibrary* collection_dev_library_;
475 RawLibrary* convert_library_;
464 RawLibrary* isolate_library_; 476 RawLibrary* isolate_library_;
465 RawLibrary* json_library_; 477 RawLibrary* json_library_;
466 RawLibrary* math_library_; 478 RawLibrary* math_library_;
467 RawLibrary* mirrors_library_; 479 RawLibrary* mirrors_library_;
468 RawLibrary* native_wrappers_library_; 480 RawLibrary* native_wrappers_library_;
469 RawLibrary* root_library_; 481 RawLibrary* root_library_;
470 RawLibrary* typed_data_library_; 482 RawLibrary* typed_data_library_;
471 RawLibrary* utf_library_; 483 RawLibrary* utf_library_;
472 RawGrowableObjectArray* libraries_; 484 RawGrowableObjectArray* libraries_;
473 RawGrowableObjectArray* pending_classes_; 485 RawGrowableObjectArray* pending_classes_;
(...skipping 10 matching lines...) Expand all
484 RawObject** to() { return reinterpret_cast<RawObject**>(&keyword_symbols_); } 496 RawObject** to() { return reinterpret_cast<RawObject**>(&keyword_symbols_); }
485 497
486 friend class SnapshotReader; 498 friend class SnapshotReader;
487 499
488 DISALLOW_COPY_AND_ASSIGN(ObjectStore); 500 DISALLOW_COPY_AND_ASSIGN(ObjectStore);
489 }; 501 };
490 502
491 } // namespace dart 503 } // namespace dart
492 504
493 #endif // VM_OBJECT_STORE_H_ 505 #endif // VM_OBJECT_STORE_H_
OLDNEW
« no previous file with comments | « runtime/vm/bootstrap.cc ('k') | runtime/vm/symbols.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698