Version 2.14.0-8.0.dev

Merge commit 'f6b257307fc7307b97f1b3ba3cd10cd8221d6d9c' into 'dev'
diff --git a/pkg/analyzer/lib/src/workspace/bazel_watcher.dart b/pkg/analyzer/lib/src/workspace/bazel_watcher.dart
index 1109c63..81d20db 100644
--- a/pkg/analyzer/lib/src/workspace/bazel_watcher.dart
+++ b/pkg/analyzer/lib/src/workspace/bazel_watcher.dart
@@ -433,7 +433,10 @@
 /// target of a symlink.
 class _BazelInvocationWatcher implements PollTrigger {
   /// Determines how often do we check for `command.log` changes.
-  static const _pollInterval = Duration(seconds: 1);
+  ///
+  /// Note that on some systems the granularity is about 1s, so let's set this
+  /// to some greater value just to be safe we don't miss any updates.
+  static const _pollInterval = Duration(seconds: 2);
 
   /// To confirm that a build finished, we check for these messages in the
   /// `command.log`.
@@ -461,8 +464,8 @@
   void cancel() => _timer.cancel();
 
   bool _buildFinished(String contents) {
-    // Only look at the last 100 characters.
-    var offset = max(0, contents.length - 100);
+    // Only look at the last 1024 characters.
+    var offset = max(0, contents.length - 1024);
     return _buildCompletedMsgs.any((msg) => contents.contains(msg, offset));
   }
 
diff --git a/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart b/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
index 795419a..f6cceab 100644
--- a/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
+++ b/pkg/front_end/lib/src/fasta/kernel/constant_evaluator.dart
@@ -3330,7 +3330,9 @@
   }
 
   Constant canonicalize(Constant constant) {
-    return canonicalizationCache.putIfAbsent(constant, () => constant);
+    // Don't use putIfAbsent to avoid the context allocation needed
+    // for the closure.
+    return canonicalizationCache[constant] ??= constant;
   }
 
   T withNewInstanceBuilder<T>(
diff --git a/tools/VERSION b/tools/VERSION
index 579bf54..8d5df1f 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 14
 PATCH 0
-PRERELEASE 7
+PRERELEASE 8
 PRERELEASE_PATCH 0
\ No newline at end of file