From 021068bb3d3b43900c08dac1abd4666e22624678 Mon Sep 17 00:00:00 2001 From: Alexander Markov Date: Wed, 3 Jun 2026 11:32:19 -0700 Subject: [PATCH] [modular_aot] Serialization of UndefinedConstant in module snapshots TEST=ci Issue: https://github.com/dart-lang/sdk/issues/61635 Change-Id: I94509fe61830174eecaec6ccfaeb13c6d20c4c27 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/508707 Reviewed-by: Slava Egorov Commit-Queue: Alexander Markov --- pkg/native_compiler/lib/snapshot/snapshot.dart | 1 + runtime/vm/module_snapshot.cc | 1 + 2 files changed, 2 insertions(+) diff --git a/pkg/native_compiler/lib/snapshot/snapshot.dart b/pkg/native_compiler/lib/snapshot/snapshot.dart index 16c4db06f5b..4b531443e97 100644 --- a/pkg/native_compiler/lib/snapshot/snapshot.dart +++ b/pkg/native_compiler/lib/snapshot/snapshot.dart @@ -165,6 +165,7 @@ class SnapshotSerializer { addBaseObject(const ast.NullType()); addBaseObject(const ast.NeverType.nonNullable()); addBaseObject(ast.ListConstant(const ast.DynamicType(), const [])); + addBaseObject(UndefinedConstant()); // TODO: generate these stubs instead of referencing them from the VM. addBaseObject(StubCode.Subtype1TestCache); addBaseObject(StubCode.Subtype2TestCache); diff --git a/runtime/vm/module_snapshot.cc b/runtime/vm/module_snapshot.cc index c3920617657..fead63041a3 100644 --- a/runtime/vm/module_snapshot.cc +++ b/runtime/vm/module_snapshot.cc @@ -1642,6 +1642,7 @@ void Deserializer::Deserialize() { AddBaseObject(Type::Handle(zone(), object_store->null_type())); AddBaseObject(Type::Handle(zone(), object_store->never_type())); AddBaseObject(Object::empty_array()); + AddBaseObject(Object::optimized_out()); AddBaseObject(StubCode::Subtype1TestCache()); AddBaseObject(StubCode::Subtype2TestCache()); AddBaseObject(StubCode::Subtype3TestCache());