Version 2.15.0-301.0.dev
Merge commit 'fea71f432fc94e8c11f5423c8a71c2130766fa5e' into 'dev'
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
index c546dba..ef5cdad 100644
--- a/runtime/vm/isolate.cc
+++ b/runtime/vm/isolate.cc
@@ -490,8 +490,14 @@
void IsolateGroup::Shutdown() {
char* name;
+ // We retrieve the flag value once to avoid the compiler complaining about the
+ // possibly uninitialized value of name, as the compiler is unaware that when
+ // the flag variable is non-const, it is set once during VM initialization and
+ // never changed after, and that modification never runs concurrently with
+ // this method.
+ const bool trace_shutdown = FLAG_trace_shutdown;
- if (FLAG_trace_shutdown) {
+ if (trace_shutdown) {
name = Utils::StrDup(source()->name);
OS::PrintErr("[+%" Pd64 "ms] SHUTDOWN: Shutdown starting for group %s\n",
Dart::UptimeMillis(), name);
@@ -537,7 +543,7 @@
// After this isolate group has died we might need to notify a pending
// `Dart_Cleanup()` call.
{
- if (FLAG_trace_shutdown) {
+ if (trace_shutdown) {
OS::PrintErr("[+%" Pd64
"ms] SHUTDOWN: Notifying "
"isolate group shutdown (%s)\n",
@@ -548,14 +554,14 @@
!IsolateGroup::HasApplicationIsolateGroups()) {
ml.Notify();
}
- if (FLAG_trace_shutdown) {
+ if (trace_shutdown) {
OS::PrintErr("[+%" Pd64
"ms] SHUTDOWN: Done Notifying "
"isolate group shutdown (%s)\n",
Dart::UptimeMillis(), name);
}
}
- if (FLAG_trace_shutdown) {
+ if (trace_shutdown) {
OS::PrintErr("[+%" Pd64 "ms] SHUTDOWN: Done shutdown for group %s\n",
Dart::UptimeMillis(), name);
free(name);
diff --git a/tools/VERSION b/tools/VERSION
index 35e81ca..f27070e 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
MAJOR 2
MINOR 15
PATCH 0
-PRERELEASE 300
+PRERELEASE 301
PRERELEASE_PATCH 0
\ No newline at end of file