Version 2.13.0-129.0.dev
Merge commit '5b8b55dfdd11c58262d3c5baef9ed7635614f329' into 'dev'
diff --git a/runtime/vm/compiler/aot/precompiler.cc b/runtime/vm/compiler/aot/precompiler.cc
index abb8ad0..0753c3e 100644
--- a/runtime/vm/compiler/aot/precompiler.cc
+++ b/runtime/vm/compiler/aot/precompiler.cc
@@ -702,7 +702,8 @@
Array::Handle(Z, code.inlined_id_to_function());
for (intptr_t i = 0; i < inlined_functions.Length(); i++) {
target ^= inlined_functions.At(i);
- AddFunction(target, RetainReasons::kSymbolicStackTraces);
+ AddRetainReason(target, RetainReasons::kSymbolicStackTraces);
+ AddTypesOf(target);
}
}
}
@@ -775,7 +776,7 @@
}
void Precompiler::AddRetainReason(const Object& obj, const char* reason) {
- if (!FLAG_trace_precompiler) return;
+ if (!FLAG_trace_precompiler || reason == nullptr) return;
if (auto const kv = retained_reasons_map_->Lookup(&obj)) {
if (kv->value->Lookup(reason) == nullptr) {
kv->value->Insert(reason);
@@ -1100,9 +1101,9 @@
if (retain_reason == nullptr) {
retain_reason = MustRetainFunction(function);
}
- if (retain_reason != nullptr) {
- AddRetainReason(function, retain_reason);
- }
+ // Add even if we've already marked this function as possibly retained
+ // because this could be an additional reason for doing so.
+ AddRetainReason(function, retain_reason);
if (possibly_retained_functions_.ContainsKey(function)) return;
if (retain_reason != nullptr) {
diff --git a/tools/VERSION b/tools/VERSION
index 766282c..3a0631f 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 13
PATCH 0
-PRERELEASE 128
+PRERELEASE 129
PRERELEASE_PATCH 0
\ No newline at end of file