| Index: runtime/vm/dart.cc
|
| diff --git a/runtime/vm/dart.cc b/runtime/vm/dart.cc
|
| index d2cc5a8097139417f087c145b4e55a398df8e609..5e563ebf3424c0ccfe39f4a1ec2cc969f0fe6c51 100644
|
| --- a/runtime/vm/dart.cc
|
| +++ b/runtime/vm/dart.cc
|
| @@ -50,6 +50,7 @@ ThreadPool* Dart::thread_pool_ = NULL;
|
| DebugInfo* Dart::pprof_symbol_generator_ = NULL;
|
| ReadOnlyHandles* Dart::predefined_handles_ = NULL;
|
| const uint8_t* Dart::instructions_snapshot_buffer_ = NULL;
|
| +const uint8_t* Dart::data_snapshot_buffer_ = NULL;
|
|
|
| // Structure for managing read-only global handles allocation used for
|
| // creating global read-only handles that are pre created and initialized
|
| @@ -77,6 +78,7 @@ class ReadOnlyHandles {
|
|
|
| const char* Dart::InitOnce(const uint8_t* vm_isolate_snapshot,
|
| const uint8_t* instructions_snapshot,
|
| + const uint8_t* data_snapshot,
|
| Dart_IsolateCreateCallback create,
|
| Dart_IsolateShutdownCallback shutdown,
|
| Dart_FileOpenCallback file_open,
|
| @@ -158,6 +160,8 @@ const char* Dart::InitOnce(const uint8_t* vm_isolate_snapshot,
|
| if (vm_isolate_snapshot != NULL) {
|
| if (instructions_snapshot != NULL) {
|
| vm_isolate_->SetupInstructionsSnapshotPage(instructions_snapshot);
|
| + ASSERT(data_snapshot != NULL);
|
| + vm_isolate_->SetupDataSnapshotPage(data_snapshot);
|
| }
|
| const Snapshot* snapshot = Snapshot::SetupFromBuffer(vm_isolate_snapshot);
|
| if (snapshot == NULL) {
|
| @@ -167,6 +171,7 @@ const char* Dart::InitOnce(const uint8_t* vm_isolate_snapshot,
|
| VmIsolateSnapshotReader reader(snapshot->content(),
|
| snapshot->length(),
|
| instructions_snapshot,
|
| + data_snapshot,
|
| T);
|
| const Error& error = Error::Handle(reader.ReadVmIsolateSnapshot());
|
| if (!error.IsNull()) {
|
| @@ -427,6 +432,7 @@ RawError* Dart::InitializeIsolate(const uint8_t* snapshot_buffer, void* data) {
|
| IsolateSnapshotReader reader(snapshot->content(),
|
| snapshot->length(),
|
| Dart::instructions_snapshot_buffer(),
|
| + Dart::data_snapshot_buffer(),
|
| T);
|
| const Error& error = Error::Handle(reader.ReadFullSnapshot());
|
| if (!error.IsNull()) {
|
|
|