| Index: runtime/vm/dart_api_message.h
|
| ===================================================================
|
| --- runtime/vm/dart_api_message.h (revision 45789)
|
| +++ runtime/vm/dart_api_message.h (working copy)
|
| @@ -46,7 +46,10 @@
|
| // memory allocated as there is no way to run through the resulting C
|
| // structure and free the individual pieces. Using a zone based allocator is
|
| // recommended.
|
| - ApiMessageReader(const uint8_t* buffer, intptr_t length, ReAlloc alloc);
|
| + ApiMessageReader(const uint8_t* buffer,
|
| + intptr_t length,
|
| + ReAlloc alloc,
|
| + bool use_vm_isolate_snapshot = true);
|
| ~ApiMessageReader() { }
|
|
|
| Dart_CObject* ReadMessage();
|
| @@ -94,6 +97,8 @@
|
| Dart_TypedData_Type type, intptr_t length);
|
| // Allocates a C array of Dart_CObject objects.
|
| Dart_CObject* AllocateDartCObjectArray(intptr_t length);
|
| + // Allocate a C Dart_CObject object for a VM isolate object.
|
| + Dart_CObject* AllocateDartCObjectVmIsolateObj(intptr_t id);
|
| // Allocates a Dart_CObject_Internal object with the specified type.
|
| Dart_CObject_Internal* AllocateDartCObjectInternal(
|
| Dart_CObject_Internal::Type type);
|
| @@ -127,6 +132,12 @@
|
| return reinterpret_cast<Dart_CObject_Internal*>(object);
|
| }
|
|
|
| + RawObject* VmIsolateSnapshotObject(intptr_t index) const {
|
| + return Object::vm_isolate_snapshot_object_table().At(index);
|
| + }
|
| +
|
| + Dart_CObject* CreateDartCObjectString(RawObject* raw);
|
| +
|
| // Allocation of the structures for the decoded message happens
|
| // either in the supplied zone or using the supplied allocation
|
| // function.
|
| @@ -133,6 +144,7 @@
|
| ReAlloc alloc_;
|
| ApiGrowableArray<BackRefNode*> backward_references_;
|
| Dart_CObject** vm_symbol_references_;
|
| + intptr_t max_vm_isolate_object_id_;
|
|
|
| Dart_CObject type_arguments_marker;
|
| Dart_CObject dynamic_type_marker;
|
| @@ -187,6 +199,7 @@
|
| Dart_CObject** forward_list_;
|
| intptr_t forward_list_length_;
|
| intptr_t forward_id_;
|
| + intptr_t max_vm_isolate_object_id_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(ApiMessageWriter);
|
| };
|
|
|