| Index: runtime/vm/isolate.cc
|
| diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
|
| index 7d317d91b015a4c640bb646060a519c92051c1e1..32b50e86084612a75e4ec366b283bc6a694b6384 100644
|
| --- a/runtime/vm/isolate.cc
|
| +++ b/runtime/vm/isolate.cc
|
| @@ -1013,11 +1013,29 @@ void Isolate::SetupInstructionsSnapshotPage(
|
| snapshot.instructions_size());
|
| }
|
| #endif
|
| - heap_->SetupInstructionsSnapshotPage(snapshot.instructions_start(),
|
| - snapshot.instructions_size());
|
| + heap_->SetupExternalPage(snapshot.instructions_start(),
|
| + snapshot.instructions_size(),
|
| + /* is_executable = */ true);
|
| }
|
|
|
|
|
| +void Isolate::SetupDataSnapshotPage(const uint8_t* data_snapshot_buffer) {
|
| + DataSnapshot snapshot(data_snapshot_buffer);
|
| +#if defined(DEBUG)
|
| + if (FLAG_trace_isolates) {
|
| + OS::Print("Precompiled rodata are at [0x%" Px ", 0x%" Px ")\n",
|
| + reinterpret_cast<uword>(snapshot.data_start()),
|
| + reinterpret_cast<uword>(snapshot.data_start()) +
|
| + snapshot.data_size());
|
| + }
|
| +#endif
|
| + heap_->SetupExternalPage(snapshot.data_start(),
|
| + snapshot.data_size(),
|
| + /* is_executable = */ false);
|
| +}
|
| +
|
| +
|
| +
|
| void Isolate::set_debugger_name(const char* name) {
|
| free(debugger_name_);
|
| debugger_name_ = strdup(name);
|
|
|