| 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 |