| Index: runtime/vm/raw_object_snapshot.cc
|
| diff --git a/runtime/vm/raw_object_snapshot.cc b/runtime/vm/raw_object_snapshot.cc
|
| index 0ca54d8f33c2282146cd312db1cc2547aa36f4cf..e22055c1d207723ae38ce192fd27b6858a5e3282 100644
|
| --- a/runtime/vm/raw_object_snapshot.cc
|
| +++ b/runtime/vm/raw_object_snapshot.cc
|
| @@ -1540,9 +1540,13 @@ RawObjectPool* ObjectPool::ReadFrom(SnapshotReader* reader,
|
| break;
|
| }
|
| case ObjectPool::kNativeEntry: {
|
| +#if !defined(TARGET_ARCH_DBC)
|
| // Read nothing. Initialize with the lazy link entry.
|
| uword new_entry = NativeEntry::LinkNativeCallEntry();
|
| result->SetRawValueAt(i, static_cast<intptr_t>(new_entry));
|
| +#else
|
| + UNREACHABLE(); // DBC does not support lazy native call linking.
|
| +#endif
|
| break;
|
| }
|
| default:
|
| @@ -1592,14 +1596,16 @@ void RawObjectPool::WriteTo(SnapshotWriter* writer,
|
| Entry& entry = ptr()->data()[i];
|
| switch (entry_type) {
|
| case ObjectPool::kTaggedObject: {
|
| +#if !defined(TARGET_ARCH_DBC)
|
| if (entry.raw_obj_ == StubCode::CallNativeCFunction_entry()->code()) {
|
| // Natives can run while precompiling, becoming linked and switching
|
| // their stub. Reset to the initial stub used for lazy-linking.
|
| writer->WriteObjectImpl(
|
| StubCode::CallBootstrapCFunction_entry()->code(), kAsReference);
|
| - } else {
|
| - writer->WriteObjectImpl(entry.raw_obj_, kAsReference);
|
| + break;
|
| }
|
| +#endif
|
| + writer->WriteObjectImpl(entry.raw_obj_, kAsReference);
|
| break;
|
| }
|
| case ObjectPool::kImmediate: {
|
| @@ -1608,6 +1614,9 @@ void RawObjectPool::WriteTo(SnapshotWriter* writer,
|
| }
|
| case ObjectPool::kNativeEntry: {
|
| // Write nothing. Will initialize with the lazy link entry.
|
| +#if defined(TARGET_ARCH_DBC)
|
| + UNREACHABLE(); // DBC does not support lazy native call linking.
|
| +#endif
|
| break;
|
| }
|
| default:
|
|
|