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_SNAPSHOT_H_ | 5 #ifndef VM_SNAPSHOT_H_ |
6 #define VM_SNAPSHOT_H_ | 6 #define VM_SNAPSHOT_H_ |
7 | 7 |
8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
9 #include "vm/allocation.h" | 9 #include "vm/allocation.h" |
10 #include "vm/bitfield.h" | 10 #include "vm/bitfield.h" |
11 #include "vm/datastream.h" | 11 #include "vm/datastream.h" |
12 #include "vm/exceptions.h" | 12 #include "vm/exceptions.h" |
13 #include "vm/globals.h" | 13 #include "vm/globals.h" |
14 #include "vm/growable_array.h" | 14 #include "vm/growable_array.h" |
15 #include "vm/isolate.h" | 15 #include "vm/isolate.h" |
16 #include "vm/visitor.h" | 16 #include "vm/visitor.h" |
17 | 17 |
18 namespace dart { | 18 namespace dart { |
19 | 19 |
20 // Forward declarations. | 20 // Forward declarations. |
21 class AbstractType; | 21 class AbstractType; |
22 class AbstractTypeArguments; | 22 class AbstractTypeArguments; |
23 class Array; | 23 class Array; |
24 class Class; | 24 class Class; |
25 class ClassTable; | 25 class ClassTable; |
26 class ExternalUint8Array; | 26 class ExternalTypedData; |
27 class GrowableObjectArray; | 27 class GrowableObjectArray; |
28 class Heap; | 28 class Heap; |
29 class LanguageError; | 29 class LanguageError; |
30 class Library; | 30 class Library; |
31 class Object; | 31 class Object; |
32 class ObjectStore; | 32 class ObjectStore; |
33 class RawAbstractTypeArguments; | 33 class RawAbstractTypeArguments; |
34 class RawApiError; | 34 class RawApiError; |
35 class RawArray; | 35 class RawArray; |
36 class RawBigint; | 36 class RawBigint; |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
218 Isolate* isolate() const { return isolate_; } | 218 Isolate* isolate() const { return isolate_; } |
219 Heap* heap() const { return isolate_->heap(); } | 219 Heap* heap() const { return isolate_->heap(); } |
220 ObjectStore* object_store() const { return isolate_->object_store(); } | 220 ObjectStore* object_store() const { return isolate_->object_store(); } |
221 ClassTable* class_table() const { return isolate_->class_table(); } | 221 ClassTable* class_table() const { return isolate_->class_table(); } |
222 Object* ObjectHandle() { return &obj_; } | 222 Object* ObjectHandle() { return &obj_; } |
223 String* StringHandle() { return &str_; } | 223 String* StringHandle() { return &str_; } |
224 AbstractType* TypeHandle() { return &type_; } | 224 AbstractType* TypeHandle() { return &type_; } |
225 AbstractTypeArguments* TypeArgumentsHandle() { return &type_arguments_; } | 225 AbstractTypeArguments* TypeArgumentsHandle() { return &type_arguments_; } |
226 Array* TokensHandle() { return &tokens_; } | 226 Array* TokensHandle() { return &tokens_; } |
227 TokenStream* StreamHandle() { return &stream_; } | 227 TokenStream* StreamHandle() { return &stream_; } |
228 ExternalUint8Array* DataHandle() { return &data_; } | 228 ExternalTypedData* DataHandle() { return &data_; } |
229 UnhandledException* ErrorHandle() { return &error_; } | 229 UnhandledException* ErrorHandle() { return &error_; } |
230 | 230 |
231 // Reads an object. | 231 // Reads an object. |
232 RawObject* ReadObject(); | 232 RawObject* ReadObject(); |
233 | 233 |
234 // Add object to backward references. | 234 // Add object to backward references. |
235 void AddBackRef(intptr_t id, Object* obj, DeserializeState state); | 235 void AddBackRef(intptr_t id, Object* obj, DeserializeState state); |
236 | 236 |
237 // Get an object from the backward references list. | 237 // Get an object from the backward references list. |
238 Object* GetBackRef(intptr_t id); | 238 Object* GetBackRef(intptr_t id); |
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
319 Snapshot::Kind kind_; // Indicates type of snapshot(full, script, message). | 319 Snapshot::Kind kind_; // Indicates type of snapshot(full, script, message). |
320 Isolate* isolate_; // Current isolate. | 320 Isolate* isolate_; // Current isolate. |
321 Class& cls_; // Temporary Class handle. | 321 Class& cls_; // Temporary Class handle. |
322 Object& obj_; // Temporary Object handle. | 322 Object& obj_; // Temporary Object handle. |
323 String& str_; // Temporary String handle. | 323 String& str_; // Temporary String handle. |
324 Library& library_; // Temporary library handle. | 324 Library& library_; // Temporary library handle. |
325 AbstractType& type_; // Temporary type handle. | 325 AbstractType& type_; // Temporary type handle. |
326 AbstractTypeArguments& type_arguments_; // Temporary type argument handle. | 326 AbstractTypeArguments& type_arguments_; // Temporary type argument handle. |
327 Array& tokens_; // Temporary tokens handle. | 327 Array& tokens_; // Temporary tokens handle. |
328 TokenStream& stream_; // Temporary token stream handle. | 328 TokenStream& stream_; // Temporary token stream handle. |
329 ExternalUint8Array& data_; // Temporary stream data handle. | 329 ExternalTypedData& data_; // Temporary stream data handle. |
330 UnhandledException& error_; // Error handle. | 330 UnhandledException& error_; // Error handle. |
331 GrowableArray<BackRefNode*> backward_references_; | 331 GrowableArray<BackRefNode*> backward_references_; |
332 | 332 |
333 friend class ApiError; | 333 friend class ApiError; |
334 friend class Array; | 334 friend class Array; |
335 friend class BoundedType; | 335 friend class BoundedType; |
336 friend class MixinAppType; | 336 friend class MixinAppType; |
337 friend class Class; | 337 friend class Class; |
338 friend class Context; | 338 friend class Context; |
339 friend class ContextScope; | 339 friend class ContextScope; |
(...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
610 private: | 610 private: |
611 SnapshotWriter* writer_; | 611 SnapshotWriter* writer_; |
612 bool as_references_; | 612 bool as_references_; |
613 | 613 |
614 DISALLOW_COPY_AND_ASSIGN(SnapshotWriterVisitor); | 614 DISALLOW_COPY_AND_ASSIGN(SnapshotWriterVisitor); |
615 }; | 615 }; |
616 | 616 |
617 } // namespace dart | 617 } // namespace dart |
618 | 618 |
619 #endif // VM_SNAPSHOT_H_ | 619 #endif // VM_SNAPSHOT_H_ |
OLD | NEW |