Version 2.12.0-131.0.dev

Merge commit 'c0e13c1ce44fecb65479e0c3aa4124062c32c36a' into 'dev'
diff --git a/.dart_tool/package_config.json b/.dart_tool/package_config.json
index 976602f..0c72699 100644
--- a/.dart_tool/package_config.json
+++ b/.dart_tool/package_config.json
@@ -536,7 +536,7 @@
       "name": "shelf",
       "rootUri": "../third_party/pkg/shelf",
       "packageUri": "lib/",
-      "languageVersion": "2.1"
+      "languageVersion": "2.12"
     },
     {
       "name": "shelf_packages_handler",
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 60d6806..b0d0877 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -117,23 +117,9 @@
 * New command `dart pub add` that adds  new dependencies to your `pubspec.yaml`.
 
   And a corresponding `dart pub remove` that removes dependencies.
-* New option `dart pub upgrade --major-versions` will update constraints in
-  your `pubspec.yaml` to match the the _resolvable_ column reported in
-  `dart pub outdated`. This allows users to easily upgrade to latest version for
-  all dependencies where this is possible, even if such upgrade requires an
-  update to the version constraint in `pubspec.yaml`.
-
-  It is also possible to only upgrade the major version for a subset of your
-  dependencies using `dart pub upgrade --major-versions <dependencies...>`.
-* New option `dart pub upgrade --null-safety` will attempt to update constraints
-  in your `pubspec.yaml`, such that only null-safety migrated versions of
-  dependencies are allowed.
 * New option `dart pub outdated --mode=null-safety` that will analyze your
   dependencies for null-safety.
 * `dart pub publish` will now check your pubspec keys for likely typos.
-* `dart pub upgrade package_foo` will fetch dependencies, but ignore the
-  `pubspec.lock` for `package_foo`, allowing users to only upgrade a subset of
-  dependencies.
 * New command `dart pub login` that logs in to pub.dev.
 * The `--server` option to `dart pub publish` and `dart pub uploader` have been
   deprecated. Use `publish_to` in your `pubspec.yaml` or set the
diff --git a/DEPS b/DEPS
index e5a3aa1..cd9bba0 100644
--- a/DEPS
+++ b/DEPS
@@ -44,7 +44,7 @@
   # co19 is a cipd package. Use update.sh in tests/co19[_2] to update these
   # hashes. It requires access to the dart-build-access group, which EngProd
   # has.
-  "co19_rev": "8740182c0547c1b26b79a5f96e28a0d5cd27b0c9",
+  "co19_rev": "d8e25398102add0ac1e732850928bd44c78f2447",
   "co19_2_rev": "e48b3090826cf40b8037648f19d211e8eab1b4b6",
 
   # The internal benchmarks to use. See go/dart-benchmarks-internal
@@ -133,7 +133,7 @@
   "ply_rev": "604b32590ffad5cbb82e4afef1d305512d06ae93",
   "pool_rev": "7abe634002a1ba8a0928eded086062f1307ccfae",
   "protobuf_rev": "0d03fd588df69e9863e2a2efc0059dee8f18d5b2",
-  "pub_rev": "a7e448b2b4743cebfc464b7973019c57f0a3b5a1",
+  "pub_rev": "228e69e53862879c283c42b98086aa7536012a66",
   "pub_semver_rev": "10569a1e867e909cf5db201f73118020453e5db8",
   "resource_rev": "6b79867d0becf5395e5819a75720963b8298e9a7",
   "root_certificates_rev": "7e5ec82c99677a2e5b95ce296c4d68b0d3378ed8",
@@ -141,7 +141,7 @@
   "shelf_static_rev": "a6168f162df88b0eef7e328629bf020122d5039e",
   "shelf_packages_handler_tag": "2.0.0",
   "shelf_proxy_tag": "0.1.0+7",
-  "shelf_rev": "289309adc6c39aab0a63db676d550c517fc1cc2d",
+  "shelf_rev": "5a77d25861db91db4343b19dfe213b8992e0a837",
   "shelf_web_socket_rev": "8050a55b16faa5052a3e5d7dcdc170c59b6644f2",
   "source_map_stack_trace_rev": "1c3026f69d9771acf2f8c176a1ab750463309cce",
   "source_maps-0.9.4_rev": "38524",
diff --git a/pkg/analysis_server/test/src/cider/completion_test.dart b/pkg/analysis_server/test/src/cider/completion_test.dart
index 3439eb2..86bd6a5 100644
--- a/pkg/analysis_server/test/src/cider/completion_test.dart
+++ b/pkg/analysis_server/test/src/cider/completion_test.dart
@@ -410,6 +410,33 @@
     _assertHasTypeParameter(text: 'U');
   }
 
+  Future<void> test_limitedResolution_class_method_body2() async {
+    _configureToCheckNotResolved(
+      identifiers: {'print'},
+    );
+
+    await _compute(r'''
+class A {
+  void foo() {}
+}
+
+abstract class B {
+  A get a;
+
+  void notResolved() {
+    print(0);
+  }
+
+  void completionTarget() {
+    a.^;
+  }
+}
+''');
+
+    _assertHasGetter(text: 'hashCode');
+    _assertHasMethod(text: 'foo');
+  }
+
   Future<void> test_limitedResolution_class_method_parameterType() async {
     _configureToCheckNotResolved(
       identifiers: {'print'},
@@ -476,6 +503,33 @@
     _assertHasClass(text: 'A');
   }
 
+  Future<void> test_limitedResolution_mixin_method_body() async {
+    _configureToCheckNotResolved(
+      identifiers: {'print'},
+    );
+
+    await _compute(r'''
+class A {
+  void foo() {}
+}
+
+mixin M {
+  A get a;
+
+  void notResolved() {
+    print(0);
+  }
+
+  void completionTarget() {
+    a.^;
+  }
+}
+''');
+
+    _assertHasGetter(text: 'hashCode');
+    _assertHasMethod(text: 'foo');
+  }
+
   Future<void> test_limitedResolution_unit_function_body() async {
     _configureToCheckNotResolved(
       identifiers: {'print'},
diff --git a/pkg/analyzer/lib/src/dart/analysis/driver.dart b/pkg/analyzer/lib/src/dart/analysis/driver.dart
index 2879a63..995281e 100644
--- a/pkg/analyzer/lib/src/dart/analysis/driver.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/driver.dart
@@ -85,7 +85,7 @@
 /// TODO(scheglov) Clean up the list of implicitly analyzed files.
 class AnalysisDriver implements AnalysisDriverGeneric {
   /// The version of data format, should be incremented on every format change.
-  static const int DATA_VERSION = 115;
+  static const int DATA_VERSION = 116;
 
   /// The length of the list returned by [_computeDeclaredVariablesSignature].
   static const int _declaredVariablesSignatureLength = 4;
diff --git a/pkg/analyzer/lib/src/dart/analysis/file_state.dart b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
index aa961ed..5b8e8b6 100644
--- a/pkg/analyzer/lib/src/dart/analysis/file_state.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/file_state.dart
@@ -35,6 +35,7 @@
 import 'package:analyzer/src/summary/format.dart';
 import 'package:analyzer/src/summary/idl.dart';
 import 'package:analyzer/src/summary/package_bundle_reader.dart';
+import 'package:analyzer/src/summary2/bundle_writer.dart';
 import 'package:analyzer/src/workspace/workspace.dart';
 import 'package:convert/convert.dart';
 import 'package:crypto/crypto.dart';
@@ -127,6 +128,7 @@
   Set<String> _referencedNames;
   List<int> _unlinkedSignature;
   String _unlinkedKey;
+  String _astKey;
   AnalysisDriverUnlinkedUnit _driverUnlinkedUnit;
   List<int> _apiSignature;
 
@@ -368,6 +370,16 @@
     return other is FileState && other.uri == uri;
   }
 
+  Uint8List getAstBytes({CompilationUnit unit}) {
+    var bytes = _fsState._byteStore.get(_astKey);
+    if (bytes == null) {
+      unit ??= parse();
+      bytes = writeUnitToBytes(unit: unit);
+      _fsState._byteStore.put(_astKey, bytes);
+    }
+    return bytes;
+  }
+
   void internal_setLibraryCycle(LibraryCycle cycle, String signature) {
     if (cycle == null) {
       _libraryCycle = null;
@@ -426,7 +438,10 @@
       signature.addString(_contentHash);
       signature.addBool(_exists);
       _unlinkedSignature = signature.toByteList();
-      _unlinkedKey = '${hex.encode(_unlinkedSignature)}.unlinked2';
+      var signatureHex = hex.encode(_unlinkedSignature);
+      _unlinkedKey = '$signatureHex.unlinked2';
+      // TODO(scheglov) Use the path as the key, and store the signature.
+      _astKey = '$signatureHex.ast';
     }
 
     // Prepare bytes of the unlinked bundle - existing or new.
diff --git a/pkg/analyzer/lib/src/dart/analysis/library_context.dart b/pkg/analyzer/lib/src/dart/analysis/library_context.dart
index dae3c73..4d2ff12 100644
--- a/pkg/analyzer/lib/src/dart/analysis/library_context.dart
+++ b/pkg/analyzer/lib/src/dart/analysis/library_context.dart
@@ -2,6 +2,8 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+import 'dart:typed_data';
+
 import 'package:analyzer/dart/analysis/declared_variables.dart';
 import 'package:analyzer/dart/element/element.dart'
     show CompilationUnitElement, LibraryElement;
@@ -16,7 +18,6 @@
 import 'package:analyzer/src/generated/engine.dart'
     show AnalysisContext, AnalysisOptions;
 import 'package:analyzer/src/generated/source.dart';
-import 'package:analyzer/src/summary/api_signature.dart';
 import 'package:analyzer/src/summary/package_bundle_reader.dart';
 import 'package:analyzer/src/summary2/bundle_reader.dart';
 import 'package:analyzer/src/summary2/link.dart' as link2;
@@ -125,23 +126,19 @@
         (e) => loadBundle(e, '$debugPrefix  '),
       );
 
-      String astKey;
-      {
-        var signature = ApiSignature();
-        for (var library in cycle.libraries) {
-          for (var file in library.libraryFiles) {
-            signature.addBytes(file.unlinkedSignature);
-          }
+      var uriToLibrary_uriToUnitAstBytes = <String, Map<String, Uint8List>>{};
+      for (var library in cycle.libraries) {
+        var uriToUnitAstBytes = <String, Uint8List>{};
+        uriToLibrary_uriToUnitAstBytes[library.uriStr] = uriToUnitAstBytes;
+        for (var file in library.libraryFiles) {
+          uriToUnitAstBytes[file.uriStr] = file.getAstBytes();
         }
-        astKey = '${signature.toHex()}.ast';
       }
 
       var resolutionKey = cycle.transitiveSignature + '.linked_bundle';
-
-      var astBytes = byteStore.get(astKey);
       var resolutionBytes = byteStore.get(resolutionKey);
 
-      if (astBytes == null || resolutionBytes == null) {
+      if (resolutionBytes == null) {
         librariesLinkedTimer.start();
 
         testView.linkedCycles.add(
@@ -235,29 +232,23 @@
           _throwLibraryCycleLinkException(cycle, exception, stackTrace);
         }
 
-        astBytes = linkResult.astBytes;
         resolutionBytes = linkResult.resolutionBytes;
-
-        byteStore.put(astKey, astBytes);
         byteStore.put(resolutionKey, resolutionBytes);
-        bytesPut += astBytes.length;
         bytesPut += resolutionBytes.length;
-        counterUnlinkedLinkedBytes += astBytes.length;
         counterUnlinkedLinkedBytes += resolutionBytes.length;
 
         librariesLinkedTimer.stop();
       } else {
         // TODO(scheglov) Take / clear parsed units in files.
-        bytesGet += astBytes.length;
         bytesGet += resolutionBytes.length;
         librariesLoaded += cycle.libraries.length;
       }
 
-      elementFactory.addBundle(
-        BundleReader(
+      elementFactory.addLibraries(
+        createLibraryReadersWithAstBytes(
           elementFactory: elementFactory,
-          astBytes: astBytes,
           resolutionBytes: resolutionBytes,
+          uriToLibrary_uriToUnitAstBytes: uriToLibrary_uriToUnitAstBytes,
         ),
       );
     }
diff --git a/pkg/analyzer/lib/src/dart/micro/library_analyzer.dart b/pkg/analyzer/lib/src/dart/micro/library_analyzer.dart
index 00352e2..44ab5b5 100644
--- a/pkg/analyzer/lib/src/dart/micro/library_analyzer.dart
+++ b/pkg/analyzer/lib/src/dart/micro/library_analyzer.dart
@@ -714,21 +714,24 @@
         _inheritance, _libraryElement, source, _typeProvider, errorListener,
         featureSet: unit.featureSet, flowAnalysisHelper: flowAnalysisHelper);
 
+    var donePartialResolution = false;
     if (completionOffset != null) {
       var node = NodeLocator(completionOffset).searchWithin(unit);
-      var enclosingExecutable = node?.thisOrAncestorMatching((e) {
-        return e.parent is ClassDeclaration || e.parent is CompilationUnit;
+      var nodeToResolve = node?.thisOrAncestorMatching((e) {
+        return e.parent is ClassDeclaration ||
+            e.parent is CompilationUnit ||
+            e.parent is MixinDeclaration;
       });
-
-      if (enclosingExecutable != null) {
-        var enclosingClass = enclosingExecutable.parent;
-        if (enclosingClass is ClassDeclaration) {
-          resolverVisitor.enclosingClass = enclosingClass.declaredElement;
+      if (nodeToResolve != null) {
+        var can = resolverVisitor.prepareForResolving(nodeToResolve);
+        if (can) {
+          nodeToResolve?.accept(resolverVisitor);
+          donePartialResolution = true;
         }
-
-        enclosingExecutable?.accept(resolverVisitor);
       }
-    } else {
+    }
+
+    if (!donePartialResolution) {
       unit.accept(resolverVisitor);
     }
   }
diff --git a/pkg/analyzer/lib/src/generated/resolver.dart b/pkg/analyzer/lib/src/generated/resolver.dart
index d44e6a0..d6c7ecd 100644
--- a/pkg/analyzer/lib/src/generated/resolver.dart
+++ b/pkg/analyzer/lib/src/generated/resolver.dart
@@ -583,11 +583,44 @@
     _enclosingFunction = enclosingExecutableElement;
   }
 
-  /// A client is about to resolve a member in the given class declaration.
-  void prepareToResolveMembersInClass(ClassDeclaration node) {
-    _enclosingClassDeclaration = node;
-    enclosingClass = node.declaredElement;
-    _thisType = enclosingClass?.thisType;
+  /// We are going to resolve [node], without visiting its parent.
+  /// Do necessary preparations - set enclosing elements, scopes, etc.
+  /// This [ResolverVisitor] instance is fresh, just created.
+  ///
+  /// Return `true` if we were able to do this, or `false` if it is not
+  /// possible to resolve only [node].
+  bool prepareForResolving(AstNode node) {
+    var parent = node.parent;
+
+    if (parent is CompilationUnit) {
+      return node is ClassDeclaration ||
+          node is ExtensionDeclaration ||
+          node is FunctionDeclaration;
+    }
+
+    void forClassElement(ClassElement parentElement) {
+      enclosingClass = parentElement;
+      nameScope = ClassScope(
+        TypeParameterScope(
+          nameScope,
+          parentElement.typeParameters,
+        ),
+        parentElement,
+      );
+      _thisType = parentElement.thisType;
+    }
+
+    if (parent is ClassDeclaration) {
+      forClassElement(parent.declaredElement);
+      return true;
+    }
+
+    if (parent is MixinDeclaration) {
+      forClassElement(parent.declaredElement);
+      return true;
+    }
+
+    return false;
   }
 
   /// Resolve LHS [node] of an assignment, an explicit [AssignmentExpression],
diff --git a/pkg/analyzer/lib/src/summary2/apply_resolution.dart b/pkg/analyzer/lib/src/summary2/apply_resolution.dart
index 1c0785b..7c6d20e 100644
--- a/pkg/analyzer/lib/src/summary2/apply_resolution.dart
+++ b/pkg/analyzer/lib/src/summary2/apply_resolution.dart
@@ -3,12 +3,15 @@
 // BSD-style license that can be found in the LICENSE file.
 
 import 'package:analyzer/dart/ast/ast.dart';
+import 'package:analyzer/dart/ast/standard_ast_factory.dart';
 import 'package:analyzer/dart/ast/visitor.dart';
 import 'package:analyzer/dart/element/element.dart';
 import 'package:analyzer/dart/element/type.dart';
 import 'package:analyzer/src/dart/ast/ast.dart';
+import 'package:analyzer/src/dart/ast/utilities.dart';
 import 'package:analyzer/src/dart/element/element.dart';
 import 'package:analyzer/src/dart/resolver/variance.dart';
+import 'package:analyzer/src/summary2/ast_binary_tag.dart';
 import 'package:analyzer/src/summary2/bundle_reader.dart';
 import 'package:analyzer/src/summary2/linked_unit_context.dart';
 import 'package:analyzer/src/task/inference_error.dart';
@@ -213,6 +216,26 @@
 
   @override
   void visitConstructorName(ConstructorName node) {
+    // Rewrite:
+    //   ConstructorName
+    //     type: TypeName
+    //       name: PrefixedIdentifier
+    //     name: null
+    // into:
+    //    ConstructorName
+    //      type: TypeName
+    //        name: SimpleIdentifier
+    //      name: SimpleIdentifier
+    var hasName = _resolution.readByte() != 0;
+    if (hasName && node.name == null) {
+      var typeName = node.type.name as PrefixedIdentifier;
+      NodeReplacer.replace(
+        node.type,
+        astFactory.typeName(typeName.prefix, null),
+      );
+      node.name = typeName.identifier;
+    }
+
     node.type.accept(this);
     node.name?.accept(this);
     node.staticElement = _nextElement();
@@ -302,7 +325,16 @@
   }
 
   @override
-  void visitExtensionOverride(ExtensionOverride node) {
+  void visitExtensionOverride(
+    ExtensionOverride node, {
+    bool readRewrite = true,
+  }) {
+    // Read possible rewrite of `MethodInvocation`.
+    // If we are here, we don't need it.
+    if (readRewrite) {
+      _resolution.readByte();
+    }
+
     node.extensionName.accept(this);
     node.typeArguments?.accept(this);
     node.argumentList.accept(this);
@@ -391,7 +423,16 @@
   }
 
   @override
-  void visitFunctionExpressionInvocation(FunctionExpressionInvocation node) {
+  void visitFunctionExpressionInvocation(
+    FunctionExpressionInvocation node, {
+    bool readRewrite = true,
+  }) {
+    // Read possible rewrite of `MethodInvocation`.
+    // If we are here, we don't need it.
+    if (readRewrite) {
+      _resolution.readByte();
+    }
+
     node.function.accept(this);
     _invocationExpression(node);
   }
@@ -509,7 +550,16 @@
   }
 
   @override
-  void visitInstanceCreationExpression(InstanceCreationExpression node) {
+  void visitInstanceCreationExpression(
+    InstanceCreationExpression node, {
+    bool readRewrite = true,
+  }) {
+    // Read possible rewrite of `MethodInvocation`.
+    // If we are here, we don't need it.
+    if (readRewrite) {
+      _resolution.readByte();
+    }
+
     node.constructorName.accept(this);
     (node as InstanceCreationExpressionImpl).typeArguments?.accept(this);
     node.argumentList.accept(this);
@@ -593,6 +643,88 @@
 
   @override
   void visitMethodInvocation(MethodInvocation node) {
+    var rewriteTag = _resolution.readByte();
+    if (rewriteTag == MethodInvocationRewriteTag.none) {
+      // No rewrite necessary.
+    } else if (rewriteTag == MethodInvocationRewriteTag.extensionOverride) {
+      Identifier identifier;
+      if (node.target == null) {
+        identifier = node.methodName;
+      } else {
+        identifier = astFactory.prefixedIdentifier(
+          node.target as SimpleIdentifier,
+          node.operator,
+          node.methodName,
+        );
+      }
+      var replacement = astFactory.extensionOverride(
+        extensionName: identifier,
+        typeArguments: node.typeArguments,
+        argumentList: node.argumentList,
+      );
+      NodeReplacer.replace(node, replacement);
+      visitExtensionOverride(replacement, readRewrite: false);
+      return;
+    } else if (rewriteTag ==
+        MethodInvocationRewriteTag.functionExpressionInvocation) {
+      var target = node.target;
+      Expression expression;
+      if (target == null) {
+        expression = node.methodName;
+      } else {
+        expression = astFactory.propertyAccess(
+          target,
+          node.operator,
+          node.methodName,
+        );
+      }
+      var replacement = astFactory.functionExpressionInvocation(
+        expression,
+        node.typeArguments,
+        node.argumentList,
+      );
+      NodeReplacer.replace(node, replacement);
+      visitFunctionExpressionInvocation(replacement, readRewrite: false);
+      return;
+    } else if (rewriteTag ==
+        MethodInvocationRewriteTag.instanceCreationExpression_withName) {
+      var replacement = astFactory.instanceCreationExpression(
+        null,
+        astFactory.constructorName(
+          astFactory.typeName(node.target as Identifier, null),
+          node.operator,
+          node.methodName,
+        ),
+        node.argumentList,
+      );
+      NodeReplacer.replace(node, replacement);
+      visitInstanceCreationExpression(replacement, readRewrite: false);
+      return;
+    } else if (rewriteTag ==
+        MethodInvocationRewriteTag.instanceCreationExpression_withoutName) {
+      var typeNameName = node.target == null
+          ? node.methodName
+          : astFactory.prefixedIdentifier(
+              node.target as SimpleIdentifier,
+              node.operator,
+              node.methodName,
+            );
+      var replacement = astFactory.instanceCreationExpression(
+        null,
+        astFactory.constructorName(
+          astFactory.typeName(typeNameName, node.typeArguments),
+          null,
+          null,
+        ),
+        node.argumentList,
+      );
+      NodeReplacer.replace(node, replacement);
+      visitInstanceCreationExpression(replacement, readRewrite: false);
+      return;
+    } else {
+      throw StateError('[rewriteTag: $rewriteTag][node: $node]');
+    }
+
     node.target?.accept(this);
     node.methodName.accept(this);
     _invocationExpression(node);
@@ -705,6 +837,13 @@
 
   @override
   void visitSetOrMapLiteral(SetOrMapLiteral node) {
+    var mapOrSetBits = _resolution.readByte();
+    if ((mapOrSetBits & 0x01) != 0) {
+      (node as SetOrMapLiteralImpl).becomeMap();
+    } else if ((mapOrSetBits & 0x02) != 0) {
+      (node as SetOrMapLiteralImpl).becomeSet();
+    }
+
     node.typeArguments?.accept(this);
     node.elements.accept(this);
     node.staticType = _nextType();
diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_flags.dart b/pkg/analyzer/lib/src/summary2/ast_binary_flags.dart
index e911fea..9bdefc7 100644
--- a/pkg/analyzer/lib/src/summary2/ast_binary_flags.dart
+++ b/pkg/analyzer/lib/src/summary2/ast_binary_flags.dart
@@ -176,11 +176,6 @@
     VariableDeclarationList,
   );
 
-  static final _isMap = _checkBit(
-    1,
-    TypedLiteral,
-  );
-
   static final _isNative = _checkBit(
     8,
     MethodDeclaration,
@@ -273,7 +268,6 @@
     bool isGenerator = false,
     bool isGet = false,
     bool isLate = false,
-    bool isMap = false,
     bool isNative = false,
     bool isNew = false,
     bool isOperator = false,
@@ -371,9 +365,6 @@
     if (isLate) {
       result |= _isLate;
     }
-    if (isMap) {
-      result |= _isMap;
-    }
     if (isNative) {
       result |= _isNative;
     }
@@ -522,10 +513,6 @@
     return (flags & _isLate) != 0;
   }
 
-  static bool isMap(int flags) {
-    return (flags & _isMap) != 0;
-  }
-
   static bool isNative(int flags) {
     return (flags & _isNative) != 0;
   }
diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart b/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart
index a1959d6..3bc726f 100644
--- a/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart
+++ b/pkg/analyzer/lib/src/summary2/ast_binary_reader.dart
@@ -1521,11 +1521,6 @@
       typeArguments: typeArguments,
       rightBracket: Tokens.CLOSE_CURLY_BRACKET,
     ) as SetOrMapLiteralImpl;
-    if (AstBinaryFlags.isMap(flags)) {
-      node.becomeMap();
-    } else if (AstBinaryFlags.isSet(flags)) {
-      node.becomeSet();
-    }
     return node;
   }
 
diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_tag.dart b/pkg/analyzer/lib/src/summary2/ast_binary_tag.dart
index 9f263d7..0c19a9e 100644
--- a/pkg/analyzer/lib/src/summary2/ast_binary_tag.dart
+++ b/pkg/analyzer/lib/src/summary2/ast_binary_tag.dart
@@ -2,6 +2,16 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
+/// A `MethodInvocation` in unresolved AST might be rewritten later as
+/// another kinds of AST node. We store this rewrite with resolution data.
+class MethodInvocationRewriteTag {
+  static const int extensionOverride = 1;
+  static const int functionExpressionInvocation = 2;
+  static const int instanceCreationExpression_withName = 3;
+  static const int instanceCreationExpression_withoutName = 4;
+  static const int none = 5;
+}
+
 class Tag {
   static const int Nothing = 0;
   static const int Something = 1;
diff --git a/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart b/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
index b8ca6df..06f82b6 100644
--- a/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
+++ b/pkg/analyzer/lib/src/summary2/ast_binary_writer.dart
@@ -26,8 +26,9 @@
   final bool _withInformative;
   final BufferedSink _sink;
   final StringIndexer _stringIndexer;
-  final ResolutionUnit _resolutionUnit;
+  final int Function() _getNextResolutionIndex;
   final ResolutionSink _resolutionSink;
+  final bool _shouldWriteResolution;
 
   /// TODO(scheglov) Keep it private, and write here, similarly as we do
   /// for [_classMemberIndexItems]?
@@ -40,13 +41,17 @@
   int _nextUnnamedExtensionId = 0;
 
   AstBinaryWriter({
-    @required BundleWriterAst bundleWriterAst,
-    @required ResolutionUnit resolutionUnit,
-  })  : _withInformative = bundleWriterAst.withInformative,
-        _sink = bundleWriterAst.sink,
-        _stringIndexer = bundleWriterAst.stringIndexer,
-        _resolutionUnit = resolutionUnit,
-        _resolutionSink = resolutionUnit.library.sink;
+    @required bool withInformative,
+    @required BufferedSink sink,
+    @required StringIndexer stringIndexer,
+    @required int Function() getNextResolutionIndex,
+    @required ResolutionSink resolutionSink,
+  })  : _withInformative = withInformative,
+        _sink = sink,
+        _stringIndexer = stringIndexer,
+        _getNextResolutionIndex = getNextResolutionIndex,
+        _resolutionSink = resolutionSink,
+        _shouldWriteResolution = resolutionSink != null;
 
   @override
   void visitAdjacentStrings(AdjacentStrings node) {
@@ -69,7 +74,9 @@
     }
     _writeOptionalNode(arguments);
 
-    _resolutionSink.writeElement(node.element);
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeElement(node.element);
+    }
   }
 
   @override
@@ -104,11 +111,13 @@
     var binaryToken = TokensWriter.astToBinaryTokenType(operatorToken);
     _writeByte(binaryToken.index);
 
-    _resolutionSink.writeElement(node.staticElement);
-    _resolutionSink.writeElement(node.readElement);
-    _resolutionSink.writeType(node.readType);
-    _resolutionSink.writeElement(node.writeElement);
-    _resolutionSink.writeType(node.writeType);
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeElement(node.staticElement);
+      _resolutionSink.writeElement(node.readElement);
+      _resolutionSink.writeType(node.readType);
+      _resolutionSink.writeElement(node.writeElement);
+      _resolutionSink.writeType(node.writeType);
+    }
     _storeExpression(node);
   }
 
@@ -123,15 +132,19 @@
     var binaryToken = TokensWriter.astToBinaryTokenType(operatorToken);
     _writeByte(binaryToken.index);
 
-    _resolutionSink?.writeElement(node.staticElement);
-    _resolutionSink?.writeType(node.staticType);
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeElement(node.staticElement);
+      _resolutionSink.writeType(node.staticType);
+    }
   }
 
   @override
   void visitBooleanLiteral(BooleanLiteral node) {
     _writeByte(Tag.BooleanLiteral);
     _writeByte(node.value ? 1 : 0);
-    _resolutionSink?.writeType(node.staticType);
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeType(node.staticType);
+    }
   }
 
   @override
@@ -144,7 +157,7 @@
   @override
   void visitClassDeclaration(ClassDeclaration node) {
     var classOffset = _sink.offset;
-    var resolutionIndex = _resolutionUnit.enterDeclaration();
+    var resolutionIndex = _getNextResolutionIndex();
 
     _hasConstConstructor = false;
     for (var member in node.members) {
@@ -161,7 +174,9 @@
         isAbstract: node.abstractKeyword != null,
       ),
     );
-    _resolutionSink.writeByte(node.declaredElement.isSimplyBounded ? 1 : 0);
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeByte(node.declaredElement.isSimplyBounded ? 1 : 0);
+    }
 
     _writeInformativeUint30(node.offset);
     _writeInformativeUint30(node.length);
@@ -181,7 +196,9 @@
     _writeNodeList(node.members);
     _hasConstConstructor = false;
 
-    _resolutionSink.localElements.popScope();
+    if (_shouldWriteResolution) {
+      _resolutionSink.localElements.popScope();
+    }
 
     // TODO(scheglov) write member index
     var classIndexOffset = _sink.offset;
@@ -207,7 +224,7 @@
       ),
     );
 
-    var resolutionIndex = _resolutionUnit.enterDeclaration();
+    var resolutionIndex = _getNextResolutionIndex();
 
     _writeByte(Tag.ClassTypeAlias);
     _writeByte(
@@ -215,7 +232,9 @@
         isAbstract: node.abstractKeyword != null,
       ),
     );
-    _resolutionSink.writeByte(node.declaredElement.isSimplyBounded ? 1 : 0);
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeByte(node.declaredElement.isSimplyBounded ? 1 : 0);
+    }
     _writeInformativeUint30(node.offset);
     _writeInformativeUint30(node.length);
     _pushScopeTypeParameters(node.typeParameters);
@@ -226,7 +245,9 @@
     _storeTypeAlias(node);
     _writeDocumentationCommentString(node.documentationComment);
     _writeUInt30(resolutionIndex);
-    _resolutionSink.localElements.popScope();
+    if (_shouldWriteResolution) {
+      _resolutionSink.localElements.popScope();
+    }
   }
 
   @override
@@ -294,7 +315,7 @@
     _writeInformativeUint30(node.length);
     _writeDocumentationCommentString(node.documentationComment);
 
-    var resolutionIndex = _resolutionUnit.enterDeclaration();
+    var resolutionIndex = _getNextResolutionIndex();
     _writeNode(node.returnType);
     if (node.period != null) {
       _writeInformativeUint30(node.period.offset);
@@ -302,12 +323,24 @@
     }
     _writeNode(node.parameters);
 
-    _resolutionSink.localElements.pushScope();
-    for (var parameter in node.parameters.parameters) {
-      _resolutionSink.localElements.declare(parameter.declaredElement);
+    if (_shouldWriteResolution) {
+      _resolutionSink.localElements.pushScope();
+      for (var parameter in node.parameters.parameters) {
+        _resolutionSink.localElements.declare(parameter.declaredElement);
+      }
     }
-    _writeNodeList(node.initializers);
-    _resolutionSink.localElements.popScope();
+
+    // TODO(scheglov) Not nice, we skip both resolution and AST.
+    // But eventually we want to store full AST, and partial resolution.
+    if (node.constKeyword != null) {
+      _writeNodeList(node.initializers);
+    } else {
+      _writeNodeList(const <ConstructorInitializer>[]);
+    }
+
+    if (_shouldWriteResolution) {
+      _resolutionSink.localElements.popScope();
+    }
 
     _writeOptionalNode(node.redirectedConstructor);
     _storeClassMember(node);
@@ -332,9 +365,21 @@
   @override
   void visitConstructorName(ConstructorName node) {
     _writeByte(Tag.ConstructorName);
+
+    if (_shouldWriteResolution) {
+      // When we parse `C() = A.named` we don't know that `A` is a class name.
+      // We parse it as a `TypeName(PrefixedIdentifier)`.
+      // But when we resolve, we rewrite it.
+      // We need to inform the applier about the right shape of the AST.
+      _resolutionSink.writeByte(node.name != null ? 1 : 0);
+    }
+
     _writeNode(node.type);
     _writeOptionalNode(node.name);
-    _resolutionSink?.writeElement(node.staticElement);
+
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeElement(node.staticElement);
+    }
   }
 
   @override
@@ -402,7 +447,7 @@
 
   @override
   void visitEnumDeclaration(EnumDeclaration node) {
-    var resolutionIndex = _resolutionUnit.enterDeclaration();
+    var resolutionIndex = _getNextResolutionIndex();
     unitMemberIndexItems.add(
       _UnitMemberIndexItem(
         offset: _sink.offset,
@@ -424,15 +469,17 @@
 
   @override
   void visitExportDirective(ExportDirective node) {
-    var resolutionIndex = _resolutionUnit.enterDeclaration();
+    var resolutionIndex = _getNextResolutionIndex();
 
     _writeByte(Tag.ExportDirective);
     _storeNamespaceDirective(node);
     _writeUInt30(resolutionIndex);
 
-    _resolutionSink?.writeElement(
-      (node.element as ExportElementImpl).exportedLibrary,
-    );
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeElement(
+        (node.element as ExportElementImpl).exportedLibrary,
+      );
+    }
   }
 
   @override
@@ -444,7 +491,7 @@
   @override
   void visitExtensionDeclaration(ExtensionDeclaration node) {
     var classOffset = _sink.offset;
-    var resolutionIndex = _resolutionUnit.enterDeclaration();
+    var resolutionIndex = _getNextResolutionIndex();
 
     _writeByte(Tag.ExtensionDeclaration);
 
@@ -462,7 +509,9 @@
     _classMemberIndexItems.clear();
     _writeNodeList(node.members);
 
-    _resolutionSink.localElements.popScope();
+    if (_shouldWriteResolution) {
+      _resolutionSink.localElements.popScope();
+    }
 
     // TODO(scheglov) write member index
     var classIndexOffset = _sink.offset;
@@ -485,6 +534,11 @@
   @override
   void visitExtensionOverride(ExtensionOverride node) {
     _writeByte(Tag.ExtensionOverride);
+
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeByte(MethodInvocationRewriteTag.extensionOverride);
+    }
+
     _writeNode(node.extensionName);
     _writeOptionalNode(node.typeArguments);
     _writeNode(node.argumentList);
@@ -515,7 +569,7 @@
     _writeInformativeVariableCodeRanges(node.offset, node.fields);
     _writeDocumentationCommentString(node.documentationComment);
 
-    var resolutionIndex = _resolutionUnit.enterDeclaration();
+    var resolutionIndex = _getNextResolutionIndex();
 
     _isConstField = node.fields.isConst;
     _isFinalField = node.fields.isFinal;
@@ -544,7 +598,10 @@
       node.keyword,
       hasQuestion: node.question != null,
     );
-    _resolutionSink.localElements.popScope();
+
+    if (_shouldWriteResolution) {
+      _resolutionSink.localElements.popScope();
+    }
   }
 
   @override
@@ -614,16 +671,18 @@
     _writeInformativeUint30(node.length);
     _writeDocumentationCommentString(node.documentationComment);
 
-    var resolutionIndex = _resolutionUnit.enterDeclaration();
+    var resolutionIndex = _getNextResolutionIndex();
 
     _pushScopeTypeParameters(node.functionExpression.typeParameters);
 
     _writeNode(node.functionExpression);
     _writeOptionalNode(node.returnType);
     _storeNamedCompilationUnitMember(node);
-    _writeActualReturnType(node.declaredElement.returnType);
 
-    _resolutionSink.localElements.popScope();
+    if (_shouldWriteResolution) {
+      _writeActualReturnType(node.declaredElement.returnType);
+      _resolutionSink.localElements.popScope();
+    }
 
     _writeUInt30(resolutionIndex);
   }
@@ -647,6 +706,12 @@
   @override
   void visitFunctionExpressionInvocation(FunctionExpressionInvocation node) {
     _writeByte(Tag.FunctionExpressionInvocation);
+
+    if (_shouldWriteResolution) {
+      _resolutionSink
+          .writeByte(MethodInvocationRewriteTag.functionExpressionInvocation);
+    }
+
     _writeNode(node.function);
     _storeInvocationExpression(node);
   }
@@ -668,7 +733,7 @@
     _writeInformativeUint30(node.length);
     _writeDocumentationCommentString(node.documentationComment);
 
-    var resolutionIndex = _resolutionUnit.enterDeclaration();
+    var resolutionIndex = _getNextResolutionIndex();
 
     _pushScopeTypeParameters(node.typeParameters);
 
@@ -678,13 +743,15 @@
 
     _storeTypeAlias(node);
 
-    var element = node.declaredElement as FunctionTypeAliasElementImpl;
-    _writeActualReturnType(element.function.returnType);
-    // TODO(scheglov) pack into one byte
-    _resolutionSink.writeByte(element.isSimplyBounded ? 1 : 0);
-    _resolutionSink.writeByte(element.hasSelfReference ? 1 : 0);
+    if (_shouldWriteResolution) {
+      var element = node.declaredElement as FunctionTypeAliasElementImpl;
+      _writeActualReturnType(element.function.returnType);
+      // TODO(scheglov) pack into one byte
+      _resolutionSink.writeByte(element.isSimplyBounded ? 1 : 0);
+      _resolutionSink.writeByte(element.hasSelfReference ? 1 : 0);
 
-    _resolutionSink.localElements.popScope();
+      _resolutionSink.localElements.popScope();
+    }
 
     _writeUInt30(resolutionIndex);
   }
@@ -698,7 +765,10 @@
     _writeOptionalNode(node.returnType);
     _writeNode(node.parameters);
     _storeNormalFormalParameter(node, null);
-    _resolutionSink.localElements.popScope();
+
+    if (_shouldWriteResolution) {
+      _resolutionSink.localElements.popScope();
+    }
   }
 
   @override
@@ -716,9 +786,11 @@
     _writeOptionalNode(node.typeParameters);
     _writeOptionalNode(node.returnType);
     _writeNode(node.parameters);
-    _resolutionSink?.writeType(node.type);
 
-    _resolutionSink.localElements.popScope();
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeType(node.type);
+      _resolutionSink.localElements.popScope();
+    }
   }
 
   @override
@@ -737,7 +809,7 @@
     _writeInformativeUint30(node.length);
     _writeDocumentationCommentString(node.documentationComment);
 
-    var resolutionIndex = _resolutionUnit.enterDeclaration();
+    var resolutionIndex = _getNextResolutionIndex();
 
     _pushScopeTypeParameters(node.typeParameters);
 
@@ -745,12 +817,13 @@
     _writeOptionalNode(node.type);
     _storeTypeAlias(node);
 
-    var element = node.declaredElement as TypeAliasElementImpl;
-    // TODO(scheglov) pack into one byte
-    _resolutionSink.writeByte(element.isSimplyBounded ? 1 : 0);
-    _resolutionSink.writeByte(element.hasSelfReference ? 1 : 0);
-
-    _resolutionSink.localElements.popScope();
+    if (_shouldWriteResolution) {
+      var element = node.declaredElement as TypeAliasElementImpl;
+      // TODO(scheglov) pack into one byte
+      _resolutionSink.writeByte(element.isSimplyBounded ? 1 : 0);
+      _resolutionSink.writeByte(element.hasSelfReference ? 1 : 0);
+      _resolutionSink.localElements.popScope();
+    }
 
     _writeUInt30(resolutionIndex);
   }
@@ -778,7 +851,7 @@
 
   @override
   void visitImportDirective(ImportDirective node) {
-    var resolutionIndex = _resolutionUnit.enterDeclaration();
+    var resolutionIndex = _getNextResolutionIndex();
 
     _writeByte(Tag.ImportDirective);
 
@@ -798,8 +871,10 @@
     _storeNamespaceDirective(node);
     _writeUInt30(resolutionIndex);
 
-    var element = node.element as ImportElementImpl;
-    _resolutionSink?.writeElement(element.importedLibrary);
+    if (_shouldWriteResolution) {
+      var element = node.element as ImportElementImpl;
+      _resolutionSink.writeElement(element.importedLibrary);
+    }
   }
 
   @override
@@ -813,7 +888,9 @@
     );
     _writeOptionalNode(node.target);
     _writeNode(node.index);
-    _resolutionSink.writeElement(node.staticElement);
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeElement(node.staticElement);
+    }
     _storeExpression(node);
   }
 
@@ -821,6 +898,18 @@
   void visitInstanceCreationExpression(InstanceCreationExpression node) {
     _writeByte(Tag.InstanceCreationExpression);
 
+    if (_shouldWriteResolution) {
+      if (node.constructorName.name != null) {
+        _resolutionSink.writeByte(
+          MethodInvocationRewriteTag.instanceCreationExpression_withName,
+        );
+      } else {
+        _resolutionSink.writeByte(
+          MethodInvocationRewriteTag.instanceCreationExpression_withoutName,
+        );
+      }
+    }
+
     _writeByte(
       AstBinaryFlags.encode(
         isConst: node.keyword?.type == Keyword.CONST,
@@ -862,8 +951,10 @@
       }
     }
 
-    // TODO(scheglov) Dont write type, AKA separate true `int` and `double`?
-    _resolutionSink?.writeType(node.staticType);
+    if (_shouldWriteResolution) {
+      // TODO(scheglov) Dont write type, AKA separate true `int` and `double`?
+      _resolutionSink.writeType(node.staticType);
+    }
   }
 
   @override
@@ -970,7 +1061,7 @@
     _writeInformativeUint30(node.length);
     _writeDocumentationCommentString(node.documentationComment);
 
-    var resolutionIndex = _resolutionUnit.enterDeclaration();
+    var resolutionIndex = _getNextResolutionIndex();
 
     _pushScopeTypeParameters(node.typeParameters);
 
@@ -983,22 +1074,28 @@
 
     _writeUInt30(resolutionIndex);
 
-    var element = node.declaredElement as ExecutableElementImpl;
-    _writeActualReturnType(element.returnType);
-    _writeTopLevelInferenceError(element);
-    // TODO(scheglov) move this flag into ClassElementImpl?
-    if (element is MethodElementImpl) {
-      _resolutionSink.writeByte(
-        element.isOperatorEqualWithParameterTypeFromObject ? 1 : 0,
-      );
+    if (_shouldWriteResolution) {
+      var element = node.declaredElement as ExecutableElementImpl;
+      _writeActualReturnType(element.returnType);
+      _writeTopLevelInferenceError(element);
+      // TODO(scheglov) move this flag into ClassElementImpl?
+      if (element is MethodElementImpl) {
+        _resolutionSink.writeByte(
+          element.isOperatorEqualWithParameterTypeFromObject ? 1 : 0,
+        );
+      }
+      _resolutionSink.localElements.popScope();
     }
-
-    _resolutionSink.localElements.popScope();
   }
 
   @override
   void visitMethodInvocation(MethodInvocation node) {
     _writeByte(Tag.MethodInvocation);
+
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeByte(MethodInvocationRewriteTag.none);
+    }
+
     _writeByte(
       AstBinaryFlags.encode(
         hasPeriod: node.operator?.type == TokenType.PERIOD,
@@ -1013,13 +1110,15 @@
   @override
   void visitMixinDeclaration(MixinDeclaration node) {
     var classOffset = _sink.offset;
-    var resolutionIndex = _resolutionUnit.enterDeclaration();
+    var resolutionIndex = _getNextResolutionIndex();
 
     _writeByte(Tag.MixinDeclaration);
 
-    var element = node.declaredElement as MixinElementImpl;
-    _resolutionSink.writeByte(element.isSimplyBounded ? 1 : 0);
-    _resolutionSink.writeStringList(element.superInvokedNames);
+    if (_shouldWriteResolution) {
+      var element = node.declaredElement as MixinElementImpl;
+      _resolutionSink.writeByte(element.isSimplyBounded ? 1 : 0);
+      _resolutionSink.writeStringList(element.superInvokedNames);
+    }
 
     _writeInformativeUint30(node.offset);
     _writeInformativeUint30(node.length);
@@ -1037,7 +1136,9 @@
     _writeNodeList(node.members);
     _hasConstConstructor = false;
 
-    _resolutionSink.localElements.popScope();
+    if (_shouldWriteResolution) {
+      _resolutionSink.localElements.popScope();
+    }
 
     // TODO(scheglov) write member index
     var classIndexOffset = _sink.offset;
@@ -1112,12 +1213,14 @@
     var binaryToken = TokensWriter.astToBinaryTokenType(operatorToken);
     _writeByte(binaryToken.index);
 
-    _resolutionSink.writeElement(node.staticElement);
-    if (operatorToken.isIncrementOperator) {
-      _resolutionSink.writeElement(node.readElement);
-      _resolutionSink.writeType(node.readType);
-      _resolutionSink.writeElement(node.writeElement);
-      _resolutionSink.writeType(node.writeType);
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeElement(node.staticElement);
+      if (operatorToken.isIncrementOperator) {
+        _resolutionSink.writeElement(node.readElement);
+        _resolutionSink.writeType(node.readType);
+        _resolutionSink.writeElement(node.writeElement);
+        _resolutionSink.writeType(node.writeType);
+      }
     }
     _storeExpression(node);
   }
@@ -1128,8 +1231,10 @@
     _writeNode(node.prefix);
     _writeNode(node.identifier);
 
-    // TODO(scheglov) In actual prefixed identifier, the type of the identifier.
-    _resolutionSink?.writeType(node.staticType);
+    if (_shouldWriteResolution) {
+      // TODO(scheglov) In actual prefixed identifier, the type of the identifier.
+      _resolutionSink.writeType(node.staticType);
+    }
   }
 
   @override
@@ -1142,13 +1247,16 @@
 
     _writeNode(node.operand);
 
-    _resolutionSink?.writeElement(node.staticElement);
-    if (operatorToken.isIncrementOperator) {
-      _resolutionSink.writeElement(node.readElement);
-      _resolutionSink.writeType(node.readType);
-      _resolutionSink.writeElement(node.writeElement);
-      _resolutionSink.writeType(node.writeType);
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeElement(node.staticElement);
+      if (operatorToken.isIncrementOperator) {
+        _resolutionSink.writeElement(node.readElement);
+        _resolutionSink.writeType(node.readType);
+        _resolutionSink.writeElement(node.writeElement);
+        _resolutionSink.writeType(node.writeType);
+      }
     }
+
     _storeExpression(node);
   }
 
@@ -1180,7 +1288,9 @@
 
     _writeOptionalNode(node.constructorName);
     _writeNode(node.argumentList);
-    _resolutionSink?.writeElement(node.staticElement);
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeElement(node.staticElement);
+    }
     _storeConstructorInitializer(node);
   }
 
@@ -1188,15 +1298,18 @@
   void visitSetOrMapLiteral(SetOrMapLiteral node) {
     _writeByte(Tag.SetOrMapLiteral);
 
-    // TODO(scheglov) isMap/isSet is resolution data
     _writeByte(
       AstBinaryFlags.encode(
         isConst: node.constKeyword != null,
-        isMap: node.isMap,
-        isSet: node.isSet,
       ),
     );
 
+    if (_shouldWriteResolution) {
+      var isMapBit = node.isMap ? (1 << 0) : 0;
+      var isSetBit = node.isSet ? (1 << 1) : 0;
+      _resolutionSink.writeByte(isMapBit | isSetBit);
+    }
+
     _writeOptionalNode(node.typeArguments);
     _writeNodeList(node.elements);
 
@@ -1217,8 +1330,10 @@
     _writeOptionalNode(node.type);
     _storeNormalFormalParameter(node, node.keyword);
 
-    var element = node.declaredElement as ParameterElementImpl;
-    _resolutionSink.writeByte(element.inheritsCovariant ? 1 : 0);
+    if (_shouldWriteResolution) {
+      var element = node.declaredElement as ParameterElementImpl;
+      _resolutionSink.writeByte(element.inheritsCovariant ? 1 : 0);
+    }
   }
 
   @override
@@ -1226,9 +1341,11 @@
     _writeByte(Tag.SimpleIdentifier);
     _writeStringReference(node.name);
     _writeInformativeUint30(node.offset);
-    _resolutionSink?.writeElement(node.staticElement);
-    // TODO(scheglov) It is inefficient to write many null types.
-    _resolutionSink?.writeType(node.staticType);
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeElement(node.staticElement);
+      // TODO(scheglov) It is inefficient to write many null types.
+      _resolutionSink.writeType(node.staticType);
+    }
   }
 
   @override
@@ -1262,7 +1379,9 @@
 
     _writeOptionalNode(node.constructorName);
     _writeNode(node.argumentList);
-    _resolutionSink?.writeElement(node.staticElement);
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeElement(node.staticElement);
+    }
     _storeConstructorInitializer(node);
   }
 
@@ -1319,7 +1438,7 @@
     _writeInformativeVariableCodeRanges(node.offset, node.variables);
     _writeDocumentationCommentString(node.documentationComment);
 
-    var resolutionIndex = _resolutionUnit.enterDeclaration();
+    var resolutionIndex = _getNextResolutionIndex();
 
     _isConstTopLevelVariable = node.variables.isConst;
     try {
@@ -1353,7 +1472,9 @@
     _writeNode(node.name);
     _writeOptionalNode(node.typeArguments);
 
-    _resolutionSink.writeType(node.type);
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeType(node.type);
+    }
   }
 
   @override
@@ -1365,11 +1486,13 @@
     _writeOptionalNode(node.bound);
     _storeDeclaration(node);
 
-    var element = node.declaredElement as TypeParameterElementImpl;
-    _resolutionSink.writeByte(
-      _encodeVariance(element),
-    );
-    _resolutionSink.writeType(element.defaultType);
+    if (_shouldWriteResolution) {
+      var element = node.declaredElement as TypeParameterElementImpl;
+      _resolutionSink.writeByte(
+        _encodeVariance(element),
+      );
+      _resolutionSink.writeType(element.defaultType);
+    }
   }
 
   @override
@@ -1388,12 +1511,14 @@
     );
     _writeDeclarationName(node.name);
 
-    // TODO(scheglov) Enforce not null, remove `?` in `?.type` below.
-    var element = node.declaredElement as VariableElementImpl;
-    _writeActualType(element?.type);
-    _writeTopLevelInferenceError(element);
-    if (element is FieldElementImpl) {
-      _resolutionSink.writeByte(element.inheritsCovariant ? 1 : 0);
+    if (_shouldWriteResolution) {
+      // TODO(scheglov) Enforce not null, remove `?` in `?.type` below.
+      var element = node.declaredElement as VariableElementImpl;
+      _writeActualType(element?.type);
+      _writeTopLevelInferenceError(element);
+      if (element is FieldElementImpl) {
+        _resolutionSink.writeByte(element.inheritsCovariant ? 1 : 0);
+      }
     }
 
     Expression initializerToWrite;
@@ -1431,6 +1556,10 @@
   }
 
   void _pushScopeTypeParameters(TypeParameterList node) {
+    if (!_shouldWriteResolution) {
+      return;
+    }
+
     _resolutionSink.localElements.pushScope();
 
     if (node == null) {
@@ -1466,7 +1595,9 @@
   }
 
   void _storeExpression(Expression node) {
-    _resolutionSink?.writeType(node.staticType);
+    if (_shouldWriteResolution) {
+      _resolutionSink.writeType(node.staticType);
+    }
   }
 
   void _storeForEachParts(ForEachParts node) {
@@ -1477,7 +1608,9 @@
   void _storeForLoopParts(ForLoopParts node) {}
 
   void _storeFormalParameter(FormalParameter node) {
-    _writeActualType(node.declaredElement.type);
+    if (_shouldWriteResolution) {
+      _writeActualType(node.declaredElement.type);
+    }
   }
 
   void _storeForMixin(ForMixin node) {
@@ -1552,12 +1685,12 @@
 
   void _writeActualReturnType(DartType type) {
     // TODO(scheglov) Check for `null` when writing resolved AST.
-    _resolutionSink?.writeType(type);
+    _resolutionSink.writeType(type);
   }
 
   void _writeActualType(DartType type) {
     // TODO(scheglov) Check for `null` when writing resolved AST.
-    _resolutionSink?.writeType(type);
+    _resolutionSink.writeType(type);
   }
 
   void _writeByte(int byte) {
diff --git a/pkg/analyzer/lib/src/summary2/bundle_reader.dart b/pkg/analyzer/lib/src/summary2/bundle_reader.dart
index d03ace2..1b6e4b4 100644
--- a/pkg/analyzer/lib/src/summary2/bundle_reader.dart
+++ b/pkg/analyzer/lib/src/summary2/bundle_reader.dart
@@ -29,13 +29,64 @@
 import 'package:meta/meta.dart';
 import 'package:pub_semver/pub_semver.dart';
 
-class BundleReader {
-  final LinkedElementFactory elementFactory;
+Map<String, LibraryReader> createLibraryReadersWithAstBytes({
+  @required LinkedElementFactory elementFactory,
+  @required Uint8List resolutionBytes,
+  @required Map<String, Map<String, Uint8List>> uriToLibrary_uriToUnitAstBytes,
+}) {
+  var _resolutionReader = SummaryDataReader(resolutionBytes);
 
+  _resolutionReader.offset = _resolutionReader.bytes.length - 4 * 3;
+  var resolutionLibrariesOffset = _resolutionReader.readUint32();
+  var resolutionReferencesOffset = _resolutionReader.readUint32();
+  var resolutionStringsOffset = _resolutionReader.readUint32();
+  _resolutionReader.createStringTable(resolutionStringsOffset);
+
+  var referenceReader = _ReferenceReader(
+    elementFactory,
+    _resolutionReader,
+    resolutionReferencesOffset,
+  );
+
+  _resolutionReader.offset = resolutionLibrariesOffset;
+  var resolutionLibraryOffsets = _resolutionReader.readUint30List();
+
+  assert(
+    uriToLibrary_uriToUnitAstBytes.length == resolutionLibraryOffsets.length,
+  );
+
+  // TODO(scheglov) Don't read anything, we know URIs.
+  var libraryMap = <String, LibraryReader>{};
+  for (var i = 0; i < resolutionLibraryOffsets.length; i++) {
+    _resolutionReader.offset = resolutionLibraryOffsets[i];
+    var libraryUriStr = _resolutionReader.readStringReference();
+    var resolutionUnitOffsets = _resolutionReader.readUint30List();
+    var exportsIndexList = _resolutionReader.readUint30List();
+
+    var uriToUnitAstBytes = uriToLibrary_uriToUnitAstBytes[libraryUriStr];
+    assert(uriToUnitAstBytes != null, libraryUriStr);
+
+    var reference = elementFactory.rootReference.getChild(libraryUriStr);
+    var libraryReader = LibraryReaderForAstBytes._(
+      elementFactory,
+      uriToUnitAstBytes,
+      _resolutionReader,
+      referenceReader,
+      reference,
+      resolutionUnitOffsets,
+      exportsIndexList,
+    );
+    libraryMap[libraryUriStr] = libraryReader;
+  }
+
+  return libraryMap;
+}
+
+class BundleReader {
   final SummaryDataReader _astReader;
   final SummaryDataReader _resolutionReader;
 
-  bool withInformative = false;
+  bool _withInformative = false;
 
   final Map<String, LibraryReader> libraryMap = {};
 
@@ -43,11 +94,10 @@
     @required LinkedElementFactory elementFactory,
     @required Uint8List astBytes,
     @required Uint8List resolutionBytes,
-  })  : elementFactory = elementFactory,
-        _astReader = SummaryDataReader(astBytes),
+  })  : _astReader = SummaryDataReader(astBytes),
         _resolutionReader = SummaryDataReader(resolutionBytes) {
     _astReader.offset = 0;
-    withInformative = _astReader.readByte() == 1;
+    _withInformative = _astReader.readByte() == 1;
 
     _astReader.offset = _astReader.bytes.length - 4 * 2;
     var astLibrariesOffset = _astReader.readUint32();
@@ -89,9 +139,9 @@
       var exportsIndexList = _resolutionReader.readUint30List();
 
       var reference = elementFactory.rootReference.getChild(libraryUriStr);
-      var libraryReader = LibraryReader._(
+      var libraryReader = LibraryReaderFromBundle._(
         elementFactory,
-        withInformative,
+        _withInformative,
         _astReader,
         _resolutionReader,
         referenceReader,
@@ -119,95 +169,272 @@
   ClassReader(this.membersOffset);
 }
 
-class LibraryReader {
-  final LinkedElementFactory elementFactory;
-  final bool withInformative;
-  final SummaryDataReader astReader;
-  final SummaryDataReader resolutionReader;
-  final _ReferenceReader referenceReader;
+abstract class LibraryReader {
+  final LinkedElementFactory _elementFactory;
+  final SummaryDataReader _resolutionReader;
+  final _ReferenceReader _referenceReader;
   final Reference reference;
 
-  final String name;
-  final int nameOffset;
-  final int nameLength;
-
-  /// Is `true` if the defining unit has [PartOfDirective].
-  final bool hasPartOfDirective;
-
-  final Uint32List astUnitOffsets;
-  final Uint32List resolutionUnitOffsets;
-  final Uint32List exportsIndexList;
+  final Uint32List _resolutionUnitOffsets;
+  final Uint32List _exportsIndexList;
   List<Reference> _exports;
 
   List<UnitReader> _units;
 
   LibraryReader._(
-    this.elementFactory,
-    this.withInformative,
-    this.astReader,
-    this.resolutionReader,
-    this.referenceReader,
+    this._elementFactory,
+    this._resolutionReader,
+    this._referenceReader,
     this.reference,
-    this.name,
-    this.nameOffset,
-    this.nameLength,
-    this.hasPartOfDirective,
-    this.astUnitOffsets,
-    this.resolutionUnitOffsets,
-    this.exportsIndexList,
-  ) {
-    assert(astUnitOffsets.length == resolutionUnitOffsets.length);
-  }
+    this._resolutionUnitOffsets,
+    this._exportsIndexList,
+  );
 
   List<Reference> get exports {
     if (_exports == null) {
-      var length = exportsIndexList.length;
+      var length = _exportsIndexList.length;
       _exports = List.filled(length, null, growable: false);
       for (var i = 0; i < length; i++) {
-        var index = exportsIndexList[i];
-        var reference = referenceReader.referenceOfIndex(index);
+        var index = _exportsIndexList[i];
+        var reference = _referenceReader.referenceOfIndex(index);
         _exports[i] = reference;
       }
     }
     return _exports;
   }
 
+  /// Is `true` if the defining unit has [PartOfDirective].
+  bool get hasPartOfDirective;
+
+  String get name;
+
+  int get nameLength;
+
+  int get nameOffset;
+
+  List<UnitReader> get units;
+
+  bool get withInformative;
+}
+
+/// Implementation of [LibraryReader] that reads ASTs for units from separate
+/// byte buffers.
+class LibraryReaderForAstBytes extends LibraryReader {
+  final Map<String, Uint8List> _uriToUnitAstBytes;
+
+  bool _hasNameRead = false;
+  bool _withInformative;
+  String _name;
+  int _nameOffset;
+  int _nameLength;
+  bool _hasPartOfDirective;
+
+  LibraryReaderForAstBytes._(
+    LinkedElementFactory elementFactory,
+    Map<String, Uint8List> uriToUnitAstBytes,
+    SummaryDataReader resolutionReader,
+    _ReferenceReader referenceReader,
+    Reference reference,
+    Uint32List resolutionUnitOffsets,
+    Uint32List exportsIndexList,
+  )   : _uriToUnitAstBytes = uriToUnitAstBytes,
+        super._(
+          elementFactory,
+          resolutionReader,
+          referenceReader,
+          reference,
+          resolutionUnitOffsets,
+          exportsIndexList,
+        ) {
+    // TODO(scheglov) This fails when there are invalid URIs.
+    // assert(_uriToUnitAstBytes.length == _resolutionUnitOffsets.length);
+  }
+
+  @override
+  bool get hasPartOfDirective {
+    _readName();
+    return _hasPartOfDirective;
+  }
+
+  @override
+  String get name {
+    _readName();
+    return _name;
+  }
+
+  @override
+  int get nameLength {
+    _readName();
+    return _nameLength;
+  }
+
+  @override
+  int get nameOffset {
+    _readName();
+    return _nameOffset;
+  }
+
+  @override
   List<UnitReader> get units {
-    if (_units == null) {
-      _units = [];
-      for (var i = 0; i < astUnitOffsets.length; i++) {
-        var astUnitOffset = astUnitOffsets[i];
-        var resolutionUnitOffset = resolutionUnitOffsets[i];
+    if (_units != null) return _units;
+    _units = [];
 
-        astReader.offset = astUnitOffset;
-        var headerOffset = astReader.readUInt30();
-        var indexOffset = astReader.offset;
-
-        resolutionReader.offset = resolutionUnitOffset;
-        var unitUriStr = resolutionReader.readStringReference();
-        var isSynthetic = resolutionReader.readByte() != 0;
-        var isPart = resolutionReader.readByte() != 0;
-        var partUriStr = resolutionReader.readStringReference();
-        if (!isPart) {
-          partUriStr = null;
-        }
-        var resolutionDirectivesOffset = resolutionReader.readUInt30();
-        var resolutionDeclarationOffsets = resolutionReader.readUint30List();
-
-        _units.add(
-          UnitReader._(
-            this,
-            resolutionDirectivesOffset,
-            resolutionDeclarationOffsets,
-            reference.getChild('@unit').getChild(unitUriStr),
-            isSynthetic,
-            partUriStr,
-            headerOffset,
-            indexOffset,
-          ),
-        );
+    for (var i = 0; i < _resolutionUnitOffsets.length; i++) {
+      _resolutionReader.offset = _resolutionUnitOffsets[i];
+      var unitUriStr = _resolutionReader.readStringReference();
+      var isSynthetic = _resolutionReader.readByte() != 0;
+      var isPart = _resolutionReader.readByte() != 0;
+      var partUriStr = _resolutionReader.readStringReference();
+      if (!isPart) {
+        partUriStr = null;
       }
+      var resolutionDirectivesOffset = _resolutionReader.readUInt30();
+      var resolutionDeclarationOffsets = _resolutionReader.readUint30List();
+
+      // TODO(scheglov) Is this right?
+      if (unitUriStr.isEmpty) {
+        unitUriStr = 'null';
+      }
+
+      var astBytes = _uriToUnitAstBytes[unitUriStr];
+      var astReader = SummaryDataReader(astBytes);
+      astReader.offset = astBytes.length - 4 * 4;
+      var headerOffset = astReader.readUint32();
+      var indexOffset = astReader.readUint32();
+      astReader.readUint32(); // library data
+      var astStringsOffset = astReader.readUint32();
+      astReader.createStringTable(astStringsOffset);
+
+      _units.add(
+        UnitReader._(
+          this,
+          resolutionDirectivesOffset,
+          resolutionDeclarationOffsets,
+          reference.getChild('@unit').getChild(unitUriStr),
+          isSynthetic,
+          partUriStr,
+          astReader,
+          headerOffset,
+          indexOffset,
+        ),
+      );
     }
+
+    return _units;
+  }
+
+  @override
+  bool get withInformative {
+    _readName();
+    return _withInformative;
+  }
+
+  void _readName() {
+    if (_hasNameRead) return;
+    _hasNameRead = true;
+
+    var uriStr = reference.name;
+    var definingUnitBytes = _uriToUnitAstBytes[uriStr];
+    var reader = SummaryDataReader(definingUnitBytes);
+    reader.offset = definingUnitBytes.length - 4 * 2;
+    var libraryDataOffset = reader.readUint32();
+    var astStringsOffset = reader.readUint32();
+    reader.createStringTable(astStringsOffset);
+
+    reader.offset = libraryDataOffset;
+    _name = reader.readStringReference();
+    _nameOffset = reader.readUInt30() - 1;
+    _nameLength = reader.readUInt30();
+    _hasPartOfDirective = reader.readByte() != 0;
+    _withInformative = reader.readByte() != 0;
+  }
+}
+
+class LibraryReaderFromBundle extends LibraryReader {
+  final SummaryDataReader _astReader;
+  final Uint32List _astUnitOffsets;
+
+  @override
+  final String name;
+
+  @override
+  final int nameOffset;
+
+  @override
+  final int nameLength;
+
+  @override
+  final bool hasPartOfDirective;
+
+  @override
+  final bool withInformative;
+
+  LibraryReaderFromBundle._(
+    LinkedElementFactory elementFactory,
+    this.withInformative,
+    SummaryDataReader astReader,
+    SummaryDataReader resolutionReader,
+    _ReferenceReader referenceReader,
+    Reference reference,
+    this.name,
+    this.nameOffset,
+    this.nameLength,
+    this.hasPartOfDirective,
+    Uint32List astUnitOffsets,
+    Uint32List resolutionUnitOffsets,
+    Uint32List exportsIndexList,
+  )   : _astReader = astReader,
+        _astUnitOffsets = astUnitOffsets,
+        super._(
+          elementFactory,
+          resolutionReader,
+          referenceReader,
+          reference,
+          resolutionUnitOffsets,
+          exportsIndexList,
+        ) {
+    assert(_astUnitOffsets.length == _resolutionUnitOffsets.length);
+  }
+
+  @override
+  List<UnitReader> get units {
+    if (_units != null) return _units;
+    _units = [];
+
+    for (var i = 0; i < _astUnitOffsets.length; i++) {
+      var astUnitOffset = _astUnitOffsets[i];
+      var resolutionUnitOffset = _resolutionUnitOffsets[i];
+
+      _astReader.offset = astUnitOffset;
+      var headerOffset = _astReader.readUInt30();
+      var indexOffset = _astReader.offset;
+
+      _resolutionReader.offset = resolutionUnitOffset;
+      var unitUriStr = _resolutionReader.readStringReference();
+      var isSynthetic = _resolutionReader.readByte() != 0;
+      var isPart = _resolutionReader.readByte() != 0;
+      var partUriStr = _resolutionReader.readStringReference();
+      if (!isPart) {
+        partUriStr = null;
+      }
+      var resolutionDirectivesOffset = _resolutionReader.readUInt30();
+      var resolutionDeclarationOffsets = _resolutionReader.readUint30List();
+
+      _units.add(
+        UnitReader._(
+          this,
+          resolutionDirectivesOffset,
+          resolutionDeclarationOffsets,
+          reference.getChild('@unit').getChild(unitUriStr),
+          isSynthetic,
+          partUriStr,
+          _astReader,
+          headerOffset,
+          indexOffset,
+        ),
+      );
+    }
+
     return _units;
   }
 }
@@ -666,6 +893,7 @@
 
 class UnitReader implements ReferenceNodeAccessor {
   final LibraryReader libraryReader;
+
   final Reference reference;
 
   final bool isSynthetic;
@@ -679,6 +907,8 @@
 
   final Uint32List _resolutionDeclarationsOffset;
 
+  final SummaryDataReader astReader;
+
   int _directivesOffset;
   final List<_UnitMemberReader> _memberReaders = [];
 
@@ -693,6 +923,7 @@
     this.reference,
     this.isSynthetic,
     this.partUriStr,
+    this.astReader,
     int headerOffset,
     int indexOffset,
   ) {
@@ -723,9 +954,7 @@
     _readIndex2();
   }
 
-  SummaryDataReader get astReader => libraryReader.astReader;
-
-  LinkedElementFactory get elementFactory => libraryReader.elementFactory;
+  LinkedElementFactory get elementFactory => libraryReader._elementFactory;
 
   /// TODO(scheglov)
   /// This methods breaks lazy loading, and loads everything eagerly.
@@ -745,9 +974,9 @@
 
   bool get withInformative => libraryReader.withInformative;
 
-  _ReferenceReader get _referenceReader => libraryReader.referenceReader;
+  _ReferenceReader get _referenceReader => libraryReader._referenceReader;
 
-  SummaryDataReader get _resolutionReader => libraryReader.resolutionReader;
+  SummaryDataReader get _resolutionReader => libraryReader._resolutionReader;
 
   /// Apply resolution to directives.
   void applyDirectivesResolution(LinkedUnitContext unitContext) {
diff --git a/pkg/analyzer/lib/src/summary2/bundle_writer.dart b/pkg/analyzer/lib/src/summary2/bundle_writer.dart
index 9e73600..a21430d 100644
--- a/pkg/analyzer/lib/src/summary2/bundle_writer.dart
+++ b/pkg/analyzer/lib/src/summary2/bundle_writer.dart
@@ -18,6 +18,81 @@
 import 'package:analyzer/src/summary2/reference.dart';
 import 'package:meta/meta.dart';
 
+Uint8List writeUnitToBytes({@required CompilationUnit unit}) {
+  var byteSink = ByteSink();
+  var sink = BufferedSink(byteSink);
+  var stringIndexer = StringIndexer();
+
+  var headerOffset = sink.offset;
+  var nextResolutionIndex = 0;
+  var unitWriter = AstBinaryWriter(
+    withInformative: true,
+    sink: sink,
+    stringIndexer: stringIndexer,
+    getNextResolutionIndex: () => nextResolutionIndex++,
+    resolutionSink: null,
+  );
+  unit.accept(unitWriter);
+
+  void _writeStringReference(String string) {
+    var index = stringIndexer[string];
+    sink.writeUInt30(index);
+  }
+
+  var indexOffset = sink.offset;
+  sink.writeUInt30(unitWriter.unitMemberIndexItems.length);
+  for (var declaration in unitWriter.unitMemberIndexItems) {
+    sink.writeUInt30(declaration.offset);
+    sink.writeByte(declaration.tag);
+    if (declaration.name != null) {
+      _writeStringReference(declaration.name);
+    } else {
+      sink.writeList(declaration.variableNames, _writeStringReference);
+    }
+    if (declaration.classIndexOffset != 0) {
+      sink.writeUInt30(declaration.classIndexOffset);
+    }
+  }
+
+  var libraryDataOffset = sink.offset;
+  {
+    var name = '';
+    var nameOffset = -1;
+    var nameLength = 0;
+    for (var directive in unit.directives) {
+      if (directive is LibraryDirective) {
+        name = directive.name.components.map((e) => e.name).join('.');
+        nameOffset = directive.name.offset;
+        nameLength = directive.name.length;
+        break;
+      }
+    }
+
+    var hasPartOfDirective = false;
+    for (var directive in unit.directives) {
+      if (directive is PartOfDirective) {
+        hasPartOfDirective = true;
+        break;
+      }
+    }
+    _writeStringReference(name);
+    sink.writeUInt30(nameOffset + 1);
+    sink.writeUInt30(nameLength);
+    sink.writeByte(hasPartOfDirective ? 1 : 0);
+    sink.writeByte(1); // withInformative
+  }
+
+  var stringTableOffset = stringIndexer.write(sink);
+
+  sink.writeUInt32(headerOffset);
+  sink.writeUInt32(indexOffset);
+  sink.writeUInt32(libraryDataOffset);
+  sink.writeUInt32(stringTableOffset);
+
+  sink.flushAndDestroy();
+  return byteSink.builder.takeBytes();
+}
+
 class BundleWriter {
   final bool withInformative;
   BundleWriterAst _astWriter;
@@ -28,19 +103,33 @@
     _resolutionWriter = BundleWriterResolution(dynamicReference);
   }
 
-  void addLibrary(LibraryToWrite library) {
-    var resolutionLibrary = _resolutionWriter.enterLibrary(library);
-
+  void addLibraryAst(LibraryToWriteAst library) {
     var astUnitOffsets = <int>[];
     for (var unit in library.units) {
-      var resolutionUnit = resolutionLibrary.enterUnit(unit);
-      var offset = _astWriter.writeUnit(unit.node, resolutionUnit);
+      var offset = _astWriter.writeUnit(unit.node);
       astUnitOffsets.add(offset);
     }
-
     _astWriter.writeLibrary(library.units[0].node, astUnitOffsets);
   }
 
+  void addLibraryResolution(LibraryToWriteResolution library) {
+    var resolutionLibrary = _resolutionWriter.enterLibrary(library);
+    for (var unit in library.units) {
+      var resolutionUnit = resolutionLibrary.enterUnit(unit);
+      // TODO(scheglov) Is it better to have a throwaway Object, or null?
+      var notUsedSink = BufferedSink(ByteSink());
+      var notUsedStringIndexer = StringIndexer();
+      var unitWriter = AstBinaryWriter(
+        withInformative: withInformative,
+        sink: notUsedSink,
+        stringIndexer: notUsedStringIndexer,
+        getNextResolutionIndex: resolutionUnit.enterDeclaration,
+        resolutionSink: resolutionUnit.library.sink,
+      );
+      unit.node.accept(unitWriter);
+    }
+  }
+
   BundleWriterResult finish() {
     var astBytes = _astWriter.finish();
     var resolutionBytes = _resolutionWriter.finish();
@@ -109,15 +198,18 @@
   }
 
   /// Write the [node] into the [sink].
-  /// While visiting AST, store the resolution into [resolutionUnit].
   ///
   /// Return the pointer at [AstUnitFormat.headerOffset].
-  int writeUnit(CompilationUnit node, ResolutionUnit resolutionUnit) {
+  int writeUnit(CompilationUnit node) {
     var headerOffset = sink.offset;
 
+    var nextResolutionIndex = 0;
     var unitWriter = AstBinaryWriter(
-      bundleWriterAst: this,
-      resolutionUnit: resolutionUnit,
+      withInformative: withInformative,
+      sink: sink,
+      stringIndexer: stringIndexer,
+      getNextResolutionIndex: () => nextResolutionIndex++,
+      resolutionSink: null,
     );
     node.accept(unitWriter);
 
@@ -168,7 +260,7 @@
     );
   }
 
-  _ResolutionLibrary enterLibrary(LibraryToWrite libraryToWrite) {
+  _ResolutionLibrary enterLibrary(LibraryToWriteResolution libraryToWrite) {
     var library = _ResolutionLibrary(
       sink: _resolutionSink,
       library: libraryToWrite,
@@ -249,12 +341,20 @@
   });
 }
 
-class LibraryToWrite {
+class LibraryToWriteAst {
+  final List<UnitToWriteAst> units;
+
+  LibraryToWriteAst({
+    @required this.units,
+  });
+}
+
+class LibraryToWriteResolution {
   final String uriStr;
   final List<Reference> exports;
-  final List<UnitToWrite> units;
+  final List<UnitToWriteResolution> units;
 
-  LibraryToWrite({
+  LibraryToWriteResolution({
     @required this.uriStr,
     @required this.exports,
     @required this.units,
@@ -514,7 +614,7 @@
 
 class ResolutionUnit {
   final _ResolutionLibrary library;
-  final UnitToWrite unit;
+  final UnitToWriteResolution unit;
 
   /// The offset of the resolution data for directives.
   final int directivesOffset;
@@ -612,13 +712,21 @@
   }
 }
 
-class UnitToWrite {
+class UnitToWriteAst {
+  final CompilationUnit node;
+
+  UnitToWriteAst({
+    @required this.node,
+  });
+}
+
+class UnitToWriteResolution {
   final String uriStr;
   final String partUriStr;
   final CompilationUnit node;
   final bool isSynthetic;
 
-  UnitToWrite({
+  UnitToWriteResolution({
     @required this.uriStr,
     @required this.partUriStr,
     @required this.node,
@@ -691,7 +799,7 @@
 
 class _ResolutionLibrary {
   final ResolutionSink sink;
-  final LibraryToWrite library;
+  final LibraryToWriteResolution library;
   final List<ResolutionUnit> units = [];
 
   _ResolutionLibrary({
@@ -699,7 +807,7 @@
     @required this.library,
   });
 
-  ResolutionUnit enterUnit(UnitToWrite unitToWrite) {
+  ResolutionUnit enterUnit(UnitToWriteResolution unitToWrite) {
     var unit = ResolutionUnit(
       library: this,
       unit: unitToWrite,
diff --git a/pkg/analyzer/lib/src/summary2/constructor_initializer_resolver.dart b/pkg/analyzer/lib/src/summary2/constructor_initializer_resolver.dart
index bb3c11c..0c4cea8 100644
--- a/pkg/analyzer/lib/src/summary2/constructor_initializer_resolver.dart
+++ b/pkg/analyzer/lib/src/summary2/constructor_initializer_resolver.dart
@@ -56,15 +56,12 @@
   }
 
   void _initializers() {
-    var initializers = _constructorNode.initializers;
-
     var isConst = _constructorNode.constKeyword != null;
     if (!isConst) {
-      initializers.clear();
       return;
     }
 
-    for (var initializer in initializers) {
+    for (var initializer in _constructorNode.initializers) {
       _astResolver.resolve(
         initializer,
         () => initializer,
diff --git a/pkg/analyzer/lib/src/summary2/link.dart b/pkg/analyzer/lib/src/summary2/link.dart
index fcaa1d6..96e45c6 100644
--- a/pkg/analyzer/lib/src/summary2/link.dart
+++ b/pkg/analyzer/lib/src/summary2/link.dart
@@ -46,6 +46,7 @@
 
   InheritanceManager3 inheritance; // TODO(scheglov) cache it
 
+  BundleWriter bundleWriter;
   Uint8List astBytes;
   Uint8List resolutionBytes;
 
@@ -62,6 +63,12 @@
   Reference get rootReference => elementFactory.rootReference;
 
   void link(List<LinkInputLibrary> inputLibraries) {
+    bundleWriter = BundleWriter(
+      withInformative,
+      elementFactory.dynamicRef,
+    );
+    _writeAst(inputLibraries);
+
     for (var inputLibrary in inputLibraries) {
       LibraryBuilder.build(this, inputLibrary);
     }
@@ -69,7 +76,7 @@
     _buildOutlines();
 
     timerLinkingLinkingBundle.start();
-    _createLinkingBundle();
+    _writeResolution();
     timerLinkingLinkingBundle.stop();
 
     timerLinkingRemoveBundle.start();
@@ -164,45 +171,6 @@
     }
   }
 
-  void _createLinkingBundle() {
-    var bundleWriter2 = BundleWriter(
-      withInformative,
-      elementFactory.dynamicRef,
-    );
-    var bundleWriterTimer = Stopwatch();
-
-    for (var builder in builders.values) {
-      bundleWriterTimer.start();
-      bundleWriter2.addLibrary(
-        LibraryToWrite(
-          uriStr: '${builder.uri}',
-          exports: builder.exports,
-          units: builder.context.units.map((e) {
-            return UnitToWrite(
-              uriStr: e.uriStr,
-              partUriStr: e.partUriStr,
-              node: e.unit,
-              isSynthetic: e.isSynthetic,
-            );
-          }).toList(),
-        ),
-      );
-      bundleWriterTimer.stop();
-    }
-
-    bundleWriterTimer.start();
-    var writeWriterResult = bundleWriter2.finish();
-    astBytes = writeWriterResult.astBytes;
-    resolutionBytes = writeWriterResult.resolutionBytes;
-    bundleWriterTimer.stop();
-    // print(
-    //   '[bytes: ${astBytes.length + resolutionBytes.length}]'
-    //   '[astBytes: ${astBytes.length}]'
-    //   '[resolutionBytes: ${resolutionBytes.length}]'
-    //   '[time: ${bundleWriterTimer.elapsedMilliseconds} ms]',
-    // );
-  }
-
   void _createTypeSystem() {
     var coreLib = elementFactory.libraryOfUri('dart:core');
     var asyncLib = elementFactory.libraryOfUri('dart:async');
@@ -247,6 +215,43 @@
     TypeAliasSelfReferenceFinder().perform(this);
     TypesBuilder().build(nodesToBuildType);
   }
+
+  void _writeAst(List<LinkInputLibrary> inputLibraries) {
+    for (var inputLibrary in inputLibraries) {
+      bundleWriter.addLibraryAst(
+        LibraryToWriteAst(
+          units: inputLibrary.units.map((e) {
+            return UnitToWriteAst(
+              node: e.unit,
+            );
+          }).toList(),
+        ),
+      );
+    }
+  }
+
+  void _writeResolution() {
+    for (var builder in builders.values) {
+      bundleWriter.addLibraryResolution(
+        LibraryToWriteResolution(
+          uriStr: '${builder.uri}',
+          exports: builder.exports,
+          units: builder.context.units.map((e) {
+            return UnitToWriteResolution(
+              uriStr: e.uriStr,
+              partUriStr: e.partUriStr,
+              node: e.unit,
+              isSynthetic: e.isSynthetic,
+            );
+          }).toList(),
+        ),
+      );
+    }
+
+    var writeWriterResult = bundleWriter.finish();
+    astBytes = writeWriterResult.astBytes;
+    resolutionBytes = writeWriterResult.resolutionBytes;
+  }
 }
 
 class LinkInputLibrary {
diff --git a/pkg/analyzer/lib/src/summary2/linked_element_factory.dart b/pkg/analyzer/lib/src/summary2/linked_element_factory.dart
index 130671e..0e9ad99 100644
--- a/pkg/analyzer/lib/src/summary2/linked_element_factory.dart
+++ b/pkg/analyzer/lib/src/summary2/linked_element_factory.dart
@@ -40,7 +40,11 @@
   }
 
   void addBundle(BundleReader bundle) {
-    libraryReaders.addAll(bundle.libraryMap);
+    addLibraries(bundle.libraryMap);
+  }
+
+  void addLibraries(Map<String, LibraryReader> libraries) {
+    libraryReaders.addAll(libraries);
   }
 
   Namespace buildExportNamespace(Uri uri) {
diff --git a/pkg/analyzer/test/generated/invalid_code_test.dart b/pkg/analyzer/test/generated/invalid_code_test.dart
index 6ae242a..7a8dc86 100644
--- a/pkg/analyzer/test/generated/invalid_code_test.dart
+++ b/pkg/analyzer/test/generated/invalid_code_test.dart
@@ -79,6 +79,25 @@
 ''');
   }
 
+  test_extensionOverrideInAnnotationContext_importedWithPrefix() async {
+    newFile('$testPackageLibPath/a.dart', content: r'''
+extension E on Object {
+  int f() => 0;
+}
+''');
+    await _assertCanBeAnalyzed('''
+import 'a.dart' as prefix;
+
+class A {
+  const A(int x);
+}
+
+@R(prefix.E(null).f())
+void g() {}
+}
+''');
+  }
+
   test_extensionOverrideInConstContext() async {
     await _assertCanBeAnalyzed('''
 extension E on Object {
diff --git a/pkg/analyzer/test/src/dart/analysis/driver_caching_test.dart b/pkg/analyzer/test/src/dart/analysis/driver_caching_test.dart
index 5a7be88..30433aa 100644
--- a/pkg/analyzer/test/src/dart/analysis/driver_caching_test.dart
+++ b/pkg/analyzer/test/src/dart/analysis/driver_caching_test.dart
@@ -22,6 +22,39 @@
     return driver.test.libraryContext.linkedCycles;
   }
 
+  test_change_functionBody() async {
+    useEmptyByteStore();
+
+    newFile(testFilePath, content: r'''
+void f() {
+  print(0);
+}
+''');
+
+    await resolveTestFile();
+    expect(findNode.integerLiteral('0'), isNotNull);
+
+    // The summary for the library was linked.
+    _assertContainsLinkedCycle({testFilePath}, andClear: true);
+
+    // Dispose the collection, with its driver.
+    // The next analysis will recreate it.
+    // We will reuse the byte store, so can reuse summaries.
+    disposeAnalysisContextCollection();
+
+    newFile(testFilePath, content: r'''
+void f() {
+  print(1);
+}
+''');
+
+    await resolveTestFile();
+    expect(findNode.integerLiteral('1'), isNotNull);
+
+    // We changed only the function body, nothing should be linked.
+    _assertNoLinkedCycles();
+  }
+
   test_lints() async {
     useEmptyByteStore();
 
diff --git a/pkg/vm_service/test/get_isolate_rpc_test.dart b/pkg/vm_service/test/get_isolate_rpc_test.dart
index ed901a3..6df4ec0 100644
--- a/pkg/vm_service/test/get_isolate_rpc_test.dart
+++ b/pkg/vm_service/test/get_isolate_rpc_test.dart
@@ -22,8 +22,6 @@
     expect(result.pauseOnExit, isFalse);
     expect(result.pauseEvent.type, 'Event');
     expect(result.error, isNull);
-    expect(result.json['_numZoneHandles'], isPositive);
-    expect(result.json['_numScopedHandles'], isPositive);
     expect(result.rootLib, isNotNull);
     expect(result.libraries.length, isPositive);
     expect(result.libraries[0], isNotNull);
diff --git a/runtime/observatory/lib/models.dart b/runtime/observatory/lib/models.dart
index 7282dd1..e907c62 100644
--- a/runtime/observatory/lib/models.dart
+++ b/runtime/observatory/lib/models.dart
@@ -50,14 +50,12 @@
 part 'src/models/objects/source_location.dart';
 part 'src/models/objects/subtype_test_cache.dart';
 part 'src/models/objects/target.dart';
-part 'src/models/objects/thread.dart';
 part 'src/models/objects/timeline.dart';
 part 'src/models/objects/timeline_event.dart';
 part 'src/models/objects/type_arguments.dart';
 part 'src/models/objects/unknown.dart';
 part 'src/models/objects/unlinked_call.dart';
 part 'src/models/objects/vm.dart';
-part 'src/models/objects/zone.dart';
 
 part 'src/models/repositories/allocation_profile.dart';
 part 'src/models/repositories/breakpoint.dart';
diff --git a/runtime/observatory/lib/src/elements/isolate_view.dart b/runtime/observatory/lib/src/elements/isolate_view.dart
index 73377da..d792d03 100644
--- a/runtime/observatory/lib/src/elements/isolate_view.dart
+++ b/runtime/observatory/lib/src/elements/isolate_view.dart
@@ -116,7 +116,6 @@
   void render() {
     final uptime = new DateTime.now().difference(_isolate.startTime!);
     final libraries = _isolate.libraries!.toList();
-    final List<M.Thread> threads = _isolate.threads!.toList();
     children = <Element>[
       navBar(<Element>[
         new NavTopMenuElement(queue: _r.queue).element,
@@ -261,26 +260,6 @@
                 ..children = <Element>[
                   new DivElement()
                     ..classes = ['memberName']
-                    ..text = 'allocated zone handle count',
-                  new DivElement()
-                    ..classes = ['memberValue']
-                    ..text = '${_isolate.numZoneHandles}'
-                ],
-              new DivElement()
-                ..classes = ['memberItem']
-                ..children = <Element>[
-                  new DivElement()
-                    ..classes = ['memberName']
-                    ..text = 'allocated scoped handle count',
-                  new DivElement()
-                    ..classes = ['memberValue']
-                    ..text = '${_isolate.numScopedHandles}'
-                ],
-              new DivElement()
-                ..classes = ['memberItem']
-                ..children = <Element>[
-                  new DivElement()
-                    ..classes = ['memberName']
                     ..text = 'object store',
                   new DivElement()
                     ..classes = ['memberValue']
@@ -289,19 +268,6 @@
                         ..text = 'object store'
                     ]
                 ],
-              new DivElement()
-                ..classes = ['memberItem']
-                ..children = <Element>[
-                  new DivElement()
-                    ..classes = ['memberName']
-                    ..text = 'zone capacity high watermark'
-                    ..title = '''The maximum amount of native zone memory
-                    allocated by the isolate over it\'s life.''',
-                  new DivElement()
-                    ..classes = ['memberValue']
-                    ..text = Utils.formatSize(_isolate.zoneHighWatermark)
-                    ..title = '${_isolate.zoneHighWatermark}B'
-                ],
               new BRElement(),
               new DivElement()
                 ..classes = ['memberItem']
@@ -324,21 +290,6 @@
                           .element
                     ]
                 ],
-              new DivElement()
-                ..classes = ['memberItem']
-                ..children = <Element>[
-                  new DivElement()
-                    ..classes = ['memberName']
-                    ..text = 'threads (${threads.length})',
-                  new DivElement()
-                    ..classes = ['memberValue']
-                    ..children = <Element>[
-                      (new CurlyBlockElement(queue: _r.queue)
-                            ..content =
-                                threads.map<Element>(_populateThreadInfo))
-                          .element
-                    ]
-                ]
             ],
           new HRElement(),
           new EvalBoxElement(_isolate, _isolate.rootLibrary!, _objects, _eval,
@@ -360,31 +311,6 @@
     ];
   }
 
-  DivElement _populateThreadInfo(M.Thread t) {
-    return new DivElement()
-      ..classes = ['indent']
-      ..children = <Element>[
-        new SpanElement()..text = '${t.id} ',
-        (new CurlyBlockElement(queue: _r.queue)
-              ..content = <Element>[
-                new DivElement()
-                  ..classes = ['indent']
-                  ..text = 'kind ${t.kindString}',
-                new DivElement()
-                  ..classes = ['indent']
-                  ..title = '${t.zoneHighWatermark}B'
-                  ..text = 'zone capacity high watermark '
-                      '${Utils.formatSize(t.zoneHighWatermark)}',
-                new DivElement()
-                  ..classes = ['indent']
-                  ..title = '${t.zoneCapacity}B'
-                  ..text = 'current zone capacity ' +
-                      '${Utils.formatSize(t.zoneCapacity)}',
-              ])
-            .element
-      ];
-  }
-
   Future _loadExtraData() async {
     _function = null;
     _rootScript = null;
diff --git a/runtime/observatory/lib/src/models/objects/isolate.dart b/runtime/observatory/lib/src/models/objects/isolate.dart
index 3f83455..c39fccf 100644
--- a/runtime/observatory/lib/src/models/objects/isolate.dart
+++ b/runtime/observatory/lib/src/models/objects/isolate.dart
@@ -57,20 +57,6 @@
   /// [optional] The error that is causing this isolate to exit, if applicable.
   Error? get error;
 
-  /// The list of threads associated with this isolate.
-  Iterable<Thread>? get threads;
-
-  /// The maximum amount of zone memory in bytes allocated by the isolate in
-  /// all threads at a given time. Calculated using the high watermarks of each
-  /// thread alive when a thread is unscheduled.
-  int? get zoneHighWatermark;
-
-  /// The number of zone handles currently held by this isolate.
-  int? get numZoneHandles;
-
-  /// The number of scoped handles currently held by this isolate.
-  int? get numScopedHandles;
-
   /// The current pause on exception mode for this isolate.
   //ExceptionPauseMode get exceptionPauseMode;
 
diff --git a/runtime/observatory/lib/src/models/objects/thread.dart b/runtime/observatory/lib/src/models/objects/thread.dart
deleted file mode 100644
index b29d3e6..0000000
--- a/runtime/observatory/lib/src/models/objects/thread.dart
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-part of models;
-
-enum ThreadKind {
-  unknownTask,
-  mutatorTask,
-  compilerTask,
-  sweeperTask,
-  markerTask,
-  finalizerTask
-}
-
-abstract class Thread {
-  /// The id associated with the thread on creation.
-  String? get id;
-
-  /// The task type associated with the thread.
-  ThreadKind? get kind;
-
-  String? get kindString;
-
-  /// The maximum amount of zone memory in bytes allocated by a thread at a
-  /// given time throughout the entire life of the thread.
-  int? get zoneHighWatermark;
-
-  /// The current Zone capacity available to this thread.
-  int? get zoneCapacity;
-}
diff --git a/runtime/observatory/lib/src/models/objects/zone.dart b/runtime/observatory/lib/src/models/objects/zone.dart
deleted file mode 100644
index 51840cb..0000000
--- a/runtime/observatory/lib/src/models/objects/zone.dart
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-part of models;
-
-abstract class Zone {
-  /// The total amount of memory in bytes allocated in the zone, including
-  /// memory that is not actually being used.
-  int get capacity;
-
-  /// The total amount of memory in bytes actually used in the zone.
-  int get used;
-}
diff --git a/runtime/observatory/lib/src/service/object.dart b/runtime/observatory/lib/src/service/object.dart
index 2d9a331..63ec9c4 100644
--- a/runtime/observatory/lib/src/service/object.dart
+++ b/runtime/observatory/lib/src/service/object.dart
@@ -238,9 +238,6 @@
       case 'SourceLocation':
         obj = new SourceLocation._empty(owner);
         break;
-      case '_Thread':
-        obj = new Thread._empty(owner);
-        break;
       case 'UnresolvedSourceLocation':
         obj = new UnresolvedSourceLocation._empty(owner);
         break;
@@ -1617,18 +1614,6 @@
   DartError? error;
   SnapshotReader? _snapshotFetch;
 
-  List<Thread> get threads => _threads;
-  final List<Thread> _threads = <Thread>[];
-
-  int get zoneHighWatermark => _zoneHighWatermark;
-  int _zoneHighWatermark = 0;
-
-  int get numZoneHandles => _numZoneHandles;
-  int _numZoneHandles = 0;
-
-  int get numScopedHandles => _numScopedHandles;
-  int _numScopedHandles = 0;
-
   bool? isSystemIsolate;
 
   void _loadHeapSnapshot(ServiceEvent event) {
@@ -1731,23 +1716,6 @@
     if (map['extensionRPCs'] != null) {
       for (String e in map['extensionRPCs']) extensionRPCs.add(e);
     }
-
-    threads.clear();
-    if (map['_threads'] != null) {
-      for (Thread t in map['_threads']) threads.add(t);
-    }
-
-    int currentZoneHighWatermark = 0;
-    for (var i = 0; i < threads.length; i++) {
-      currentZoneHighWatermark += threads[i].zoneHighWatermark!;
-    }
-
-    if (currentZoneHighWatermark > _zoneHighWatermark) {
-      _zoneHighWatermark = currentZoneHighWatermark;
-    }
-
-    _numZoneHandles = map['_numZoneHandles'];
-    _numScopedHandles = map['_numScopedHandles'];
   }
 
   Future<TagProfile> updateTagProfile() {
@@ -3285,60 +3253,6 @@
   String get shortName => valueAsString;
 }
 
-class Thread extends ServiceObject implements M.Thread {
-  M.ThreadKind? get kind => _kind;
-  M.ThreadKind? _kind;
-  String? get kindString => _kindString;
-  String? _kindString;
-  int? get zoneHighWatermark => _zoneHighWatermark;
-  int? _zoneHighWatermark;
-  int? get zoneCapacity => _zoneCapacity;
-  int? _zoneCapacity;
-
-  Thread._empty(ServiceObjectOwner? owner) : super._empty(owner);
-
-  void _update(Map map, bool mapIsRef) {
-    String rawKind = map['kind'];
-
-    switch (rawKind) {
-      case "kUnknownTask":
-        _kind = M.ThreadKind.unknownTask;
-        _kindString = 'unknown';
-        break;
-      case "kMutatorTask":
-        _kind = M.ThreadKind.mutatorTask;
-        _kindString = 'mutator';
-        break;
-      case "kCompilerTask":
-        _kind = M.ThreadKind.compilerTask;
-        _kindString = 'compiler';
-        break;
-      case "kSweeperTask":
-        _kind = M.ThreadKind.sweeperTask;
-        _kindString = 'sweeper';
-        break;
-      case "kMarkerTask":
-        _kind = M.ThreadKind.markerTask;
-        _kindString = 'marker';
-        break;
-      default:
-        assert(false);
-    }
-
-    _zoneHighWatermark = int.parse(map['_zoneHighWatermark']);
-    _zoneCapacity = int.parse(map['_zoneCapacity']);
-  }
-}
-
-class Zone implements M.Zone {
-  int get capacity => _capacity;
-  int _capacity;
-  int get used => _used;
-  int _used;
-
-  Zone(this._capacity, this._used);
-}
-
 class Field extends HeapObject implements M.Field {
   // Library or Class.
   HeapObject? dartOwner;
diff --git a/runtime/observatory/observatory_sources.gni b/runtime/observatory/observatory_sources.gni
index e78a449..9ad1b96 100644
--- a/runtime/observatory/observatory_sources.gni
+++ b/runtime/observatory/observatory_sources.gni
@@ -183,14 +183,12 @@
   "lib/src/models/objects/source_location.dart",
   "lib/src/models/objects/subtype_test_cache.dart",
   "lib/src/models/objects/target.dart",
-  "lib/src/models/objects/thread.dart",
   "lib/src/models/objects/timeline.dart",
   "lib/src/models/objects/timeline_event.dart",
   "lib/src/models/objects/type_arguments.dart",
   "lib/src/models/objects/unknown.dart",
   "lib/src/models/objects/unlinked_call.dart",
   "lib/src/models/objects/vm.dart",
-  "lib/src/models/objects/zone.dart",
   "lib/src/models/repositories/allocation_profile.dart",
   "lib/src/models/repositories/breakpoint.dart",
   "lib/src/models/repositories/class.dart",
diff --git a/runtime/observatory/tests/service/get_isolate_rpc_test.dart b/runtime/observatory/tests/service/get_isolate_rpc_test.dart
index 14a1f09..e1a60ba 100644
--- a/runtime/observatory/tests/service/get_isolate_rpc_test.dart
+++ b/runtime/observatory/tests/service/get_isolate_rpc_test.dart
@@ -25,8 +25,6 @@
     expect(result['pauseOnExit'], isFalse);
     expect(result['pauseEvent']['type'], equals('Event'));
     expect(result['error'], isNull);
-    expect(result['_numZoneHandles'], isPositive);
-    expect(result['_numScopedHandles'], isPositive);
     expect(result['rootLib']['type'], equals('@Library'));
     expect(result['libraries'].length, isPositive);
     expect(result['libraries'][0]['type'], equals('@Library'));
diff --git a/runtime/observatory/tests/service/get_zone_memory_info_rpc_test.dart b/runtime/observatory/tests/service/get_zone_memory_info_rpc_test.dart
deleted file mode 100644
index 3de0b1d..0000000
--- a/runtime/observatory/tests/service/get_zone_memory_info_rpc_test.dart
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'package:observatory/service_io.dart';
-import 'package:test/test.dart';
-
-import 'test_helper.dart';
-
-var tests = <VMTest>[
-  (VM vm) async {
-    // Just iterate over all the isolates to confirm they have
-    // the correct fields needed to examine zone memory usage.
-    for (Isolate isolate in new List.from(vm.isolates)) {
-      await isolate.reload();
-      expect(isolate.zoneHighWatermark, isA<int>());
-      expect(isolate.threads, isNotNull);
-      List<Thread> threads = isolate.threads;
-
-      for (Thread thread in threads) {
-        expect(thread.type, equals('_Thread'));
-        expect(thread.id, isNotNull);
-        expect(thread.kind, isNotNull);
-        expect(thread.zoneHighWatermark, isA<int>());
-        expect(thread.zoneCapacity, isA<int>());
-      }
-    }
-  },
-];
-
-main(args) async => runVMTests(args, tests);
diff --git a/runtime/observatory/tests/service/http_get_isolate_rpc_common.dart b/runtime/observatory/tests/service/http_get_isolate_rpc_common.dart
index 3bbc12e..8aae0aa 100644
--- a/runtime/observatory/tests/service/http_get_isolate_rpc_common.dart
+++ b/runtime/observatory/tests/service/http_get_isolate_rpc_common.dart
@@ -70,8 +70,6 @@
     Expect.isFalse(result['pauseOnExit']);
     Expect.equals(result['pauseEvent']['type'], 'Event');
     Expect.isNull(result['error']);
-    Expect.isTrue(result['_numZoneHandles'] > 0);
-    Expect.isTrue(result['_numScopedHandles'] > 0);
     Expect.equals(result['rootLib']['type'], '@Library');
     Expect.isTrue(result['libraries'].length > 0);
     Expect.equals(result['libraries'][0]['type'], '@Library');
diff --git a/runtime/observatory_2/lib/models.dart b/runtime/observatory_2/lib/models.dart
index 9ea69d9..101d0c7 100644
--- a/runtime/observatory_2/lib/models.dart
+++ b/runtime/observatory_2/lib/models.dart
@@ -50,14 +50,12 @@
 part 'src/models/objects/source_location.dart';
 part 'src/models/objects/subtype_test_cache.dart';
 part 'src/models/objects/target.dart';
-part 'src/models/objects/thread.dart';
 part 'src/models/objects/timeline.dart';
 part 'src/models/objects/timeline_event.dart';
 part 'src/models/objects/type_arguments.dart';
 part 'src/models/objects/unknown.dart';
 part 'src/models/objects/unlinked_call.dart';
 part 'src/models/objects/vm.dart';
-part 'src/models/objects/zone.dart';
 
 part 'src/models/repositories/allocation_profile.dart';
 part 'src/models/repositories/breakpoint.dart';
diff --git a/runtime/observatory_2/lib/src/elements/isolate_view.dart b/runtime/observatory_2/lib/src/elements/isolate_view.dart
index 269f207..59104c9 100644
--- a/runtime/observatory_2/lib/src/elements/isolate_view.dart
+++ b/runtime/observatory_2/lib/src/elements/isolate_view.dart
@@ -116,7 +116,6 @@
   void render() {
     final uptime = new DateTime.now().difference(_isolate.startTime);
     final libraries = _isolate.libraries.toList();
-    final List<M.Thread> threads = _isolate.threads;
     children = <Element>[
       navBar(<Element>[
         new NavTopMenuElement(queue: _r.queue).element,
@@ -261,26 +260,6 @@
                 ..children = <Element>[
                   new DivElement()
                     ..classes = ['memberName']
-                    ..text = 'allocated zone handle count',
-                  new DivElement()
-                    ..classes = ['memberValue']
-                    ..text = '${_isolate.numZoneHandles}'
-                ],
-              new DivElement()
-                ..classes = ['memberItem']
-                ..children = <Element>[
-                  new DivElement()
-                    ..classes = ['memberName']
-                    ..text = 'allocated scoped handle count',
-                  new DivElement()
-                    ..classes = ['memberValue']
-                    ..text = '${_isolate.numScopedHandles}'
-                ],
-              new DivElement()
-                ..classes = ['memberItem']
-                ..children = <Element>[
-                  new DivElement()
-                    ..classes = ['memberName']
                     ..text = 'object store',
                   new DivElement()
                     ..classes = ['memberValue']
@@ -289,19 +268,6 @@
                         ..text = 'object store'
                     ]
                 ],
-              new DivElement()
-                ..classes = ['memberItem']
-                ..children = <Element>[
-                  new DivElement()
-                    ..classes = ['memberName']
-                    ..text = 'zone capacity high watermark'
-                    ..title = '''The maximum amount of native zone memory
-                    allocated by the isolate over it\'s life.''',
-                  new DivElement()
-                    ..classes = ['memberValue']
-                    ..text = Utils.formatSize(_isolate.zoneHighWatermark)
-                    ..title = '${_isolate.zoneHighWatermark}B'
-                ],
               new BRElement(),
               new DivElement()
                 ..classes = ['memberItem']
@@ -324,21 +290,6 @@
                           .element
                     ]
                 ],
-              new DivElement()
-                ..classes = ['memberItem']
-                ..children = <Element>[
-                  new DivElement()
-                    ..classes = ['memberName']
-                    ..text = 'threads (${threads.length})',
-                  new DivElement()
-                    ..classes = ['memberValue']
-                    ..children = <Element>[
-                      (new CurlyBlockElement(queue: _r.queue)
-                            ..content =
-                                threads.map<Element>(_populateThreadInfo))
-                          .element
-                    ]
-                ]
             ],
           new HRElement(),
           new EvalBoxElement(_isolate, _isolate.rootLibrary, _objects, _eval,
@@ -360,31 +311,6 @@
     ];
   }
 
-  DivElement _populateThreadInfo(M.Thread t) {
-    return new DivElement()
-      ..classes = ['indent']
-      ..children = <Element>[
-        new SpanElement()..text = '${t.id} ',
-        (new CurlyBlockElement(queue: _r.queue)
-              ..content = <Element>[
-                new DivElement()
-                  ..classes = ['indent']
-                  ..text = 'kind ${t.kindString}',
-                new DivElement()
-                  ..classes = ['indent']
-                  ..title = '${t.zoneHighWatermark}B'
-                  ..text = 'zone capacity high watermark '
-                      '${Utils.formatSize(t.zoneHighWatermark)}',
-                new DivElement()
-                  ..classes = ['indent']
-                  ..title = '${t.zoneCapacity}B'
-                  ..text = 'current zone capacity ' +
-                      '${Utils.formatSize(t.zoneCapacity)}',
-              ])
-            .element
-      ];
-  }
-
   Future _loadExtraData() async {
     _function = null;
     _rootScript = null;
diff --git a/runtime/observatory_2/lib/src/models/objects/isolate.dart b/runtime/observatory_2/lib/src/models/objects/isolate.dart
index a3c063a..e87a62d 100644
--- a/runtime/observatory_2/lib/src/models/objects/isolate.dart
+++ b/runtime/observatory_2/lib/src/models/objects/isolate.dart
@@ -57,20 +57,6 @@
   /// [optional] The error that is causing this isolate to exit, if applicable.
   Error get error;
 
-  /// The list of threads associated with this isolate.
-  Iterable<Thread> get threads;
-
-  /// The maximum amount of zone memory in bytes allocated by the isolate in
-  /// all threads at a given time. Calculated using the high watermarks of each
-  /// thread alive when a thread is unscheduled.
-  int get zoneHighWatermark;
-
-  /// The number of zone handles currently held by this isolate.
-  int get numZoneHandles;
-
-  /// The number of scoped handles currently held by this isolate.
-  int get numScopedHandles;
-
   /// The current pause on exception mode for this isolate.
   //ExceptionPauseMode get exceptionPauseMode;
 
diff --git a/runtime/observatory_2/lib/src/models/objects/thread.dart b/runtime/observatory_2/lib/src/models/objects/thread.dart
deleted file mode 100644
index 8d16a8c..0000000
--- a/runtime/observatory_2/lib/src/models/objects/thread.dart
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-part of models;
-
-enum ThreadKind {
-  unknownTask,
-  mutatorTask,
-  compilerTask,
-  sweeperTask,
-  markerTask,
-  finalizerTask
-}
-
-abstract class Thread {
-  /// The id associated with the thread on creation.
-  String get id;
-
-  /// The task type associated with the thread.
-  ThreadKind get kind;
-
-  String get kindString;
-
-  /// The maximum amount of zone memory in bytes allocated by a thread at a
-  /// given time throughout the entire life of the thread.
-  int get zoneHighWatermark;
-
-  /// The current Zone capacity available to this thread.
-  int get zoneCapacity;
-}
diff --git a/runtime/observatory_2/lib/src/models/objects/zone.dart b/runtime/observatory_2/lib/src/models/objects/zone.dart
deleted file mode 100644
index 51840cb..0000000
--- a/runtime/observatory_2/lib/src/models/objects/zone.dart
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-part of models;
-
-abstract class Zone {
-  /// The total amount of memory in bytes allocated in the zone, including
-  /// memory that is not actually being used.
-  int get capacity;
-
-  /// The total amount of memory in bytes actually used in the zone.
-  int get used;
-}
diff --git a/runtime/observatory_2/lib/src/service/object.dart b/runtime/observatory_2/lib/src/service/object.dart
index 3f61be6..981215d 100644
--- a/runtime/observatory_2/lib/src/service/object.dart
+++ b/runtime/observatory_2/lib/src/service/object.dart
@@ -241,9 +241,6 @@
       case 'SourceLocation':
         obj = new SourceLocation._empty(owner);
         break;
-      case '_Thread':
-        obj = new Thread._empty(owner);
-        break;
       case 'UnresolvedSourceLocation':
         obj = new UnresolvedSourceLocation._empty(owner);
         break;
@@ -1628,18 +1625,6 @@
   DartError error;
   SnapshotReader _snapshotFetch;
 
-  List<Thread> get threads => _threads;
-  final List<Thread> _threads = <Thread>[];
-
-  int get zoneHighWatermark => _zoneHighWatermark;
-  int _zoneHighWatermark = 0;
-
-  int get numZoneHandles => _numZoneHandles;
-  int _numZoneHandles;
-
-  int get numScopedHandles => _numScopedHandles;
-  int _numScopedHandles;
-
   bool isSystemIsolate;
 
   void _loadHeapSnapshot(ServiceEvent event) {
@@ -1742,23 +1727,6 @@
     if (map['extensionRPCs'] != null) {
       for (String e in map['extensionRPCs']) extensionRPCs.add(e);
     }
-
-    threads.clear();
-    if (map['_threads'] != null) {
-      for (Thread t in map['_threads']) threads.add(t);
-    }
-
-    int currentZoneHighWatermark = 0;
-    for (var i = 0; i < threads.length; i++) {
-      currentZoneHighWatermark += threads[i].zoneHighWatermark;
-    }
-
-    if (currentZoneHighWatermark > _zoneHighWatermark) {
-      _zoneHighWatermark = currentZoneHighWatermark;
-    }
-
-    _numZoneHandles = map['_numZoneHandles'];
-    _numScopedHandles = map['_numScopedHandles'];
   }
 
   Future<TagProfile> updateTagProfile() {
@@ -3298,60 +3266,6 @@
   String get shortName => valueAsString;
 }
 
-class Thread extends ServiceObject implements M.Thread {
-  M.ThreadKind get kind => _kind;
-  M.ThreadKind _kind;
-  String get kindString => _kindString;
-  String _kindString;
-  int get zoneHighWatermark => _zoneHighWatermark;
-  int _zoneHighWatermark;
-  int get zoneCapacity => _zoneCapacity;
-  int _zoneCapacity;
-
-  Thread._empty(ServiceObjectOwner owner) : super._empty(owner);
-
-  void _update(Map map, bool mapIsRef) {
-    String rawKind = map['kind'];
-
-    switch (rawKind) {
-      case "kUnknownTask":
-        _kind = M.ThreadKind.unknownTask;
-        _kindString = 'unknown';
-        break;
-      case "kMutatorTask":
-        _kind = M.ThreadKind.mutatorTask;
-        _kindString = 'mutator';
-        break;
-      case "kCompilerTask":
-        _kind = M.ThreadKind.compilerTask;
-        _kindString = 'compiler';
-        break;
-      case "kSweeperTask":
-        _kind = M.ThreadKind.sweeperTask;
-        _kindString = 'sweeper';
-        break;
-      case "kMarkerTask":
-        _kind = M.ThreadKind.markerTask;
-        _kindString = 'marker';
-        break;
-      default:
-        assert(false);
-    }
-
-    _zoneHighWatermark = int.parse(map['_zoneHighWatermark']);
-    _zoneCapacity = int.parse(map['_zoneCapacity']);
-  }
-}
-
-class Zone implements M.Zone {
-  int get capacity => _capacity;
-  int _capacity;
-  int get used => _used;
-  int _used;
-
-  Zone(this._capacity, this._used);
-}
-
 class Field extends HeapObject implements M.Field {
   // Library or Class.
   HeapObject dartOwner;
diff --git a/runtime/observatory_2/observatory_sources.gni b/runtime/observatory_2/observatory_sources.gni
index e78a449..9ad1b96 100644
--- a/runtime/observatory_2/observatory_sources.gni
+++ b/runtime/observatory_2/observatory_sources.gni
@@ -183,14 +183,12 @@
   "lib/src/models/objects/source_location.dart",
   "lib/src/models/objects/subtype_test_cache.dart",
   "lib/src/models/objects/target.dart",
-  "lib/src/models/objects/thread.dart",
   "lib/src/models/objects/timeline.dart",
   "lib/src/models/objects/timeline_event.dart",
   "lib/src/models/objects/type_arguments.dart",
   "lib/src/models/objects/unknown.dart",
   "lib/src/models/objects/unlinked_call.dart",
   "lib/src/models/objects/vm.dart",
-  "lib/src/models/objects/zone.dart",
   "lib/src/models/repositories/allocation_profile.dart",
   "lib/src/models/repositories/breakpoint.dart",
   "lib/src/models/repositories/class.dart",
diff --git a/runtime/observatory_2/tests/service_2/get_isolate_rpc_test.dart b/runtime/observatory_2/tests/service_2/get_isolate_rpc_test.dart
index f09eb04..40cb013 100644
--- a/runtime/observatory_2/tests/service_2/get_isolate_rpc_test.dart
+++ b/runtime/observatory_2/tests/service_2/get_isolate_rpc_test.dart
@@ -23,8 +23,6 @@
     expect(result['pauseOnExit'], isFalse);
     expect(result['pauseEvent']['type'], equals('Event'));
     expect(result['error'], isNull);
-    expect(result['_numZoneHandles'], isPositive);
-    expect(result['_numScopedHandles'], isPositive);
     expect(result['rootLib']['type'], equals('@Library'));
     expect(result['libraries'].length, isPositive);
     expect(result['libraries'][0]['type'], equals('@Library'));
diff --git a/runtime/observatory_2/tests/service_2/get_zone_memory_info_rpc_test.dart b/runtime/observatory_2/tests/service_2/get_zone_memory_info_rpc_test.dart
deleted file mode 100644
index dd1d671..0000000
--- a/runtime/observatory_2/tests/service_2/get_zone_memory_info_rpc_test.dart
+++ /dev/null
@@ -1,31 +0,0 @@
-// Copyright (c) 2016, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'package:observatory_2/service_io.dart';
-import 'package:test/test.dart';
-
-import 'test_helper.dart';
-
-var tests = <VMTest>[
-  (VM vm) async {
-    // Just iterate over all the isolates to confirm they have
-    // the correct fields needed to examine zone memory usage.
-    for (Isolate isolate in new List.from(vm.isolates)) {
-      await isolate.reload();
-      expect(isolate.zoneHighWatermark, isA<int>());
-      expect(isolate.threads, isNotNull);
-      List<Thread> threads = isolate.threads;
-
-      for (Thread thread in threads) {
-        expect(thread.type, equals('_Thread'));
-        expect(thread.id, isNotNull);
-        expect(thread.kind, isNotNull);
-        expect(thread.zoneHighWatermark, isA<int>());
-        expect(thread.zoneCapacity, isA<int>());
-      }
-    }
-  },
-];
-
-main(args) async => runVMTests(args, tests);
diff --git a/runtime/observatory_2/tests/service_2/http_get_isolate_rpc_common.dart b/runtime/observatory_2/tests/service_2/http_get_isolate_rpc_common.dart
index 7f5c869..ae80158 100644
--- a/runtime/observatory_2/tests/service_2/http_get_isolate_rpc_common.dart
+++ b/runtime/observatory_2/tests/service_2/http_get_isolate_rpc_common.dart
@@ -70,8 +70,6 @@
     Expect.isFalse(result['pauseOnExit']);
     Expect.equals(result['pauseEvent']['type'], 'Event');
     Expect.isNull(result['error']);
-    Expect.isTrue(result['_numZoneHandles'] > 0);
-    Expect.isTrue(result['_numScopedHandles'] > 0);
     Expect.equals(result['rootLib']['type'], '@Library');
     Expect.isTrue(result['libraries'].length > 0);
     Expect.equals(result['libraries'][0]['type'], '@Library');
diff --git a/runtime/vm/compiler/runtime_offsets_extracted.h b/runtime/vm/compiler/runtime_offsets_extracted.h
index 63a046d..b2ff3da 100644
--- a/runtime/vm/compiler/runtime_offsets_extracted.h
+++ b/runtime/vm/compiler/runtime_offsets_extracted.h
@@ -261,7 +261,7 @@
     Thread_call_to_runtime_stub_offset = 136;
 static constexpr dart::compiler::target::word Thread_dart_stream_offset = 736;
 static constexpr dart::compiler::target::word
-    Thread_dispatch_table_array_offset = 48;
+    Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     308;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 224;
@@ -273,7 +273,7 @@
     348;
 static constexpr dart::compiler::target::word
     Thread_double_negate_address_offset = 344;
-static constexpr dart::compiler::target::word Thread_end_offset = 56;
+static constexpr dart::compiler::target::word Thread_end_offset = 52;
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 248;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
@@ -302,9 +302,9 @@
     Thread_invoke_dart_code_stub_offset = 132;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
     724;
-static constexpr dart::compiler::target::word Thread_isolate_offset = 44;
+static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
-    68;
+    64;
 static constexpr dart::compiler::target::word
     Thread_lazy_deopt_from_return_stub_offset = 232;
 static constexpr dart::compiler::target::word
@@ -312,7 +312,7 @@
 static constexpr dart::compiler::target::word
     Thread_lazy_specialize_type_test_stub_offset = 244;
 static constexpr dart::compiler::target::word
-    Thread_marking_stack_block_offset = 84;
+    Thread_marking_stack_block_offset = 80;
 static constexpr dart::compiler::target::word
     Thread_megamorphic_call_checked_entry_offset = 300;
 static constexpr dart::compiler::target::word
@@ -353,11 +353,11 @@
     Thread_slow_type_test_stub_offset = 240;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_entry_point_offset = 320;
-static constexpr dart::compiler::target::word Thread_stack_limit_offset = 36;
+static constexpr dart::compiler::target::word Thread_stack_limit_offset = 32;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
-    60;
+    56;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_flags_offset = 64;
+    Thread_stack_overflow_flags_offset = 60;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 296;
 static constexpr dart::compiler::target::word
@@ -367,20 +367,20 @@
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 200;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
-    80;
+    76;
 static constexpr dart::compiler::target::word
-    Thread_top_exit_frame_info_offset = 76;
-static constexpr dart::compiler::target::word Thread_top_offset = 52;
-static constexpr dart::compiler::target::word Thread_top_resource_offset = 24;
+    Thread_top_exit_frame_info_offset = 72;
+static constexpr dart::compiler::target::word Thread_top_offset = 48;
+static constexpr dart::compiler::target::word Thread_top_resource_offset = 20;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 96;
-static constexpr dart::compiler::target::word Thread_vm_tag_offset = 92;
+static constexpr dart::compiler::target::word Thread_vm_tag_offset = 88;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
     116;
 static constexpr dart::compiler::target::word
     Thread_write_barrier_entry_point_offset = 260;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
-    40;
+    36;
 static constexpr dart::compiler::target::word Thread_callback_code_offset = 720;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset = 8;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 12;
@@ -738,171 +738,171 @@
 static constexpr dart::compiler::target::word String_length_offset = 8;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 728;
+    Thread_AllocateArray_entry_point_offset = 720;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1400;
+    1392;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    1408;
+    1400;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 232;
+    Thread_array_write_barrier_code_offset = 224;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 520;
+    Thread_array_write_barrier_entry_point_offset = 512;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 552;
+    Thread_allocate_object_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 368;
+    Thread_allocate_object_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 560;
+    Thread_allocate_object_parameterized_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 376;
+    Thread_allocate_object_parameterized_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 568;
+    Thread_allocate_object_slow_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 384;
+    Thread_allocate_object_slow_stub_offset = 376;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1472;
+    1464;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 208;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 648;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 208;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 200;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 528;
+    Thread_call_to_runtime_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1488;
+    Thread_call_to_runtime_stub_offset = 256;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1480;
 static constexpr dart::compiler::target::word
-    Thread_dispatch_table_array_offset = 96;
+    Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    608;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 440;
+    600;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 432;
 static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
-    616;
+    608;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    448;
+    440;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
+    680;
+static constexpr dart::compiler::target::word
+    Thread_double_negate_address_offset = 672;
+static constexpr dart::compiler::target::word Thread_end_offset = 104;
+static constexpr dart::compiler::target::word
+    Thread_enter_safepoint_stub_offset = 480;
+static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    1432;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 488;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 496;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 616;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 240;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 232;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 704;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 696;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
     688;
 static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word Thread_end_offset = 112;
+    Thread_float_zerow_address_offset = 712;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
+    1408;
 static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 488;
-static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    Thread_invoke_dart_code_stub_offset = 248;
+static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
+    1456;
+static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
+static constexpr dart::compiler::target::word Thread_field_table_values_offset =
+    128;
+static constexpr dart::compiler::target::word
+    Thread_lazy_deopt_from_return_stub_offset = 448;
+static constexpr dart::compiler::target::word
+    Thread_lazy_deopt_from_throw_stub_offset = 456;
+static constexpr dart::compiler::target::word
+    Thread_lazy_specialize_type_test_stub_offset = 472;
+static constexpr dart::compiler::target::word
+    Thread_marking_stack_block_offset = 160;
+static constexpr dart::compiler::target::word
+    Thread_megamorphic_call_checked_entry_offset = 584;
+static constexpr dart::compiler::target::word
+    Thread_switchable_call_miss_entry_offset = 592;
+static constexpr dart::compiler::target::word
+    Thread_switchable_call_miss_stub_offset = 400;
+static constexpr dart::compiler::target::word
+    Thread_no_scope_native_wrapper_entry_point_offset = 640;
+static constexpr dart::compiler::target::word
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 272;
+static constexpr dart::compiler::target::word
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 264;
+static constexpr dart::compiler::target::word
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 288;
+static constexpr dart::compiler::target::word
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 280;
+static constexpr dart::compiler::target::word
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 304;
+static constexpr dart::compiler::target::word
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 296;
+static constexpr dart::compiler::target::word
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 320;
+static constexpr dart::compiler::target::word
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 312;
+static constexpr dart::compiler::target::word
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 336;
+static constexpr dart::compiler::target::word
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 328;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 192;
+static constexpr dart::compiler::target::word
+    Thread_predefined_symbols_address_offset = 656;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1416;
+static constexpr dart::compiler::target::word
+    Thread_saved_shadow_call_stack_offset = 1424;
+static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
     1440;
 static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 496;
+    Thread_slow_type_test_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 504;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 624;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 248;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 240;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 712;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 704;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
-    696;
-static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 720;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1416;
-static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1464;
-static constexpr dart::compiler::target::word Thread_isolate_offset = 88;
-static constexpr dart::compiler::target::word Thread_field_table_values_offset =
-    136;
-static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 456;
-static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 464;
-static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 480;
-static constexpr dart::compiler::target::word
-    Thread_marking_stack_block_offset = 168;
-static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 592;
-static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 600;
-static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 408;
-static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 648;
-static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
-static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 272;
-static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
-static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
-static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
-static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
-static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
-static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
-static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
-static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
-static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 664;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1424;
-static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1432;
-static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1448;
-static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 472;
-static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 632;
-static constexpr dart::compiler::target::word Thread_stack_limit_offset = 72;
+    Thread_slow_type_test_entry_point_offset = 624;
+static constexpr dart::compiler::target::word Thread_stack_limit_offset = 64;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
-    120;
+    112;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_flags_offset = 128;
+    Thread_stack_overflow_flags_offset = 120;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 392;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 384;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
-    160;
+    152;
 static constexpr dart::compiler::target::word
-    Thread_top_exit_frame_info_offset = 152;
-static constexpr dart::compiler::target::word Thread_top_offset = 104;
-static constexpr dart::compiler::target::word Thread_top_resource_offset = 48;
+    Thread_top_exit_frame_info_offset = 144;
+static constexpr dart::compiler::target::word Thread_top_offset = 96;
+static constexpr dart::compiler::target::word Thread_top_resource_offset = 40;
 static constexpr dart::compiler::target::word
-    Thread_unboxed_int64_runtime_arg_offset = 192;
-static constexpr dart::compiler::target::word Thread_vm_tag_offset = 184;
+    Thread_unboxed_int64_runtime_arg_offset = 184;
+static constexpr dart::compiler::target::word Thread_vm_tag_offset = 176;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    224;
+    216;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 512;
+    Thread_write_barrier_entry_point_offset = 504;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
-    80;
+    72;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1456;
+    1448;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset =
     16;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 16;
@@ -957,8 +957,8 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        1312, 1320, 1328, 1336, -1,   -1,   1344, 1352,
-        1360, 1368, 1376, -1,   1384, 1392, -1,   -1};
+        1304, 1312, 1320, 1328, -1,   -1,   1336, 1344,
+        1352, 1360, 1368, -1,   1376, 1384, -1,   -1};
 static constexpr dart::compiler::target::word ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word Array_InstanceSize = 24;
 static constexpr dart::compiler::target::word Array_header_size = 24;
@@ -1301,7 +1301,7 @@
     Thread_call_to_runtime_stub_offset = 136;
 static constexpr dart::compiler::target::word Thread_dart_stream_offset = 704;
 static constexpr dart::compiler::target::word
-    Thread_dispatch_table_array_offset = 48;
+    Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     308;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 224;
@@ -1313,7 +1313,7 @@
     348;
 static constexpr dart::compiler::target::word
     Thread_double_negate_address_offset = 344;
-static constexpr dart::compiler::target::word Thread_end_offset = 56;
+static constexpr dart::compiler::target::word Thread_end_offset = 52;
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 248;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
@@ -1342,9 +1342,9 @@
     Thread_invoke_dart_code_stub_offset = 132;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
     692;
-static constexpr dart::compiler::target::word Thread_isolate_offset = 44;
+static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
-    68;
+    64;
 static constexpr dart::compiler::target::word
     Thread_lazy_deopt_from_return_stub_offset = 232;
 static constexpr dart::compiler::target::word
@@ -1352,7 +1352,7 @@
 static constexpr dart::compiler::target::word
     Thread_lazy_specialize_type_test_stub_offset = 244;
 static constexpr dart::compiler::target::word
-    Thread_marking_stack_block_offset = 84;
+    Thread_marking_stack_block_offset = 80;
 static constexpr dart::compiler::target::word
     Thread_megamorphic_call_checked_entry_offset = 300;
 static constexpr dart::compiler::target::word
@@ -1393,11 +1393,11 @@
     Thread_slow_type_test_stub_offset = 240;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_entry_point_offset = 320;
-static constexpr dart::compiler::target::word Thread_stack_limit_offset = 36;
+static constexpr dart::compiler::target::word Thread_stack_limit_offset = 32;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
-    60;
+    56;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_flags_offset = 64;
+    Thread_stack_overflow_flags_offset = 60;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 296;
 static constexpr dart::compiler::target::word
@@ -1407,20 +1407,20 @@
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 200;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
-    80;
+    76;
 static constexpr dart::compiler::target::word
-    Thread_top_exit_frame_info_offset = 76;
-static constexpr dart::compiler::target::word Thread_top_offset = 52;
-static constexpr dart::compiler::target::word Thread_top_resource_offset = 24;
+    Thread_top_exit_frame_info_offset = 72;
+static constexpr dart::compiler::target::word Thread_top_offset = 48;
+static constexpr dart::compiler::target::word Thread_top_resource_offset = 20;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 96;
-static constexpr dart::compiler::target::word Thread_vm_tag_offset = 92;
+static constexpr dart::compiler::target::word Thread_vm_tag_offset = 88;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
     116;
 static constexpr dart::compiler::target::word
     Thread_write_barrier_entry_point_offset = 260;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
-    40;
+    36;
 static constexpr dart::compiler::target::word Thread_callback_code_offset = 688;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset = 8;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 12;
@@ -1775,171 +1775,171 @@
 static constexpr dart::compiler::target::word String_length_offset = 8;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 728;
+    Thread_AllocateArray_entry_point_offset = 720;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1472;
+    1464;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    1480;
+    1472;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 232;
+    Thread_array_write_barrier_code_offset = 224;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 520;
+    Thread_array_write_barrier_entry_point_offset = 512;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 552;
+    Thread_allocate_object_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 368;
+    Thread_allocate_object_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 560;
+    Thread_allocate_object_parameterized_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 376;
+    Thread_allocate_object_parameterized_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 568;
+    Thread_allocate_object_slow_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 384;
+    Thread_allocate_object_slow_stub_offset = 376;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1544;
+    1536;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 208;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 648;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 208;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 200;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 528;
+    Thread_call_to_runtime_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1560;
+    Thread_call_to_runtime_stub_offset = 256;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1552;
 static constexpr dart::compiler::target::word
-    Thread_dispatch_table_array_offset = 96;
+    Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    608;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 440;
+    600;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 432;
 static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
-    616;
+    608;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    448;
+    440;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
+    680;
+static constexpr dart::compiler::target::word
+    Thread_double_negate_address_offset = 672;
+static constexpr dart::compiler::target::word Thread_end_offset = 104;
+static constexpr dart::compiler::target::word
+    Thread_enter_safepoint_stub_offset = 480;
+static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    1504;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 488;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 496;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 616;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 240;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 232;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 704;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 696;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
     688;
 static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word Thread_end_offset = 112;
+    Thread_float_zerow_address_offset = 712;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
+    1480;
 static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 488;
-static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    Thread_invoke_dart_code_stub_offset = 248;
+static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
+    1528;
+static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
+static constexpr dart::compiler::target::word Thread_field_table_values_offset =
+    128;
+static constexpr dart::compiler::target::word
+    Thread_lazy_deopt_from_return_stub_offset = 448;
+static constexpr dart::compiler::target::word
+    Thread_lazy_deopt_from_throw_stub_offset = 456;
+static constexpr dart::compiler::target::word
+    Thread_lazy_specialize_type_test_stub_offset = 472;
+static constexpr dart::compiler::target::word
+    Thread_marking_stack_block_offset = 160;
+static constexpr dart::compiler::target::word
+    Thread_megamorphic_call_checked_entry_offset = 584;
+static constexpr dart::compiler::target::word
+    Thread_switchable_call_miss_entry_offset = 592;
+static constexpr dart::compiler::target::word
+    Thread_switchable_call_miss_stub_offset = 400;
+static constexpr dart::compiler::target::word
+    Thread_no_scope_native_wrapper_entry_point_offset = 640;
+static constexpr dart::compiler::target::word
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 272;
+static constexpr dart::compiler::target::word
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 264;
+static constexpr dart::compiler::target::word
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 288;
+static constexpr dart::compiler::target::word
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 280;
+static constexpr dart::compiler::target::word
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 304;
+static constexpr dart::compiler::target::word
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 296;
+static constexpr dart::compiler::target::word
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 320;
+static constexpr dart::compiler::target::word
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 312;
+static constexpr dart::compiler::target::word
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 336;
+static constexpr dart::compiler::target::word
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 328;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 192;
+static constexpr dart::compiler::target::word
+    Thread_predefined_symbols_address_offset = 656;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1488;
+static constexpr dart::compiler::target::word
+    Thread_saved_shadow_call_stack_offset = 1496;
+static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
     1512;
 static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 496;
+    Thread_slow_type_test_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 504;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 624;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 248;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 240;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 712;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 704;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
-    696;
-static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 720;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1488;
-static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1536;
-static constexpr dart::compiler::target::word Thread_isolate_offset = 88;
-static constexpr dart::compiler::target::word Thread_field_table_values_offset =
-    136;
-static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 456;
-static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 464;
-static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 480;
-static constexpr dart::compiler::target::word
-    Thread_marking_stack_block_offset = 168;
-static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 592;
-static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 600;
-static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 408;
-static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 648;
-static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
-static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 272;
-static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
-static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
-static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
-static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
-static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
-static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
-static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
-static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
-static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 664;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1496;
-static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1504;
-static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1520;
-static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 472;
-static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 632;
-static constexpr dart::compiler::target::word Thread_stack_limit_offset = 72;
+    Thread_slow_type_test_entry_point_offset = 624;
+static constexpr dart::compiler::target::word Thread_stack_limit_offset = 64;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
-    120;
+    112;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_flags_offset = 128;
+    Thread_stack_overflow_flags_offset = 120;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 392;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 384;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
-    160;
+    152;
 static constexpr dart::compiler::target::word
-    Thread_top_exit_frame_info_offset = 152;
-static constexpr dart::compiler::target::word Thread_top_offset = 104;
-static constexpr dart::compiler::target::word Thread_top_resource_offset = 48;
+    Thread_top_exit_frame_info_offset = 144;
+static constexpr dart::compiler::target::word Thread_top_offset = 96;
+static constexpr dart::compiler::target::word Thread_top_resource_offset = 40;
 static constexpr dart::compiler::target::word
-    Thread_unboxed_int64_runtime_arg_offset = 192;
-static constexpr dart::compiler::target::word Thread_vm_tag_offset = 184;
+    Thread_unboxed_int64_runtime_arg_offset = 184;
+static constexpr dart::compiler::target::word Thread_vm_tag_offset = 176;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    224;
+    216;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 512;
+    Thread_write_barrier_entry_point_offset = 504;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
-    80;
+    72;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1528;
+    1520;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset =
     16;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 16;
@@ -1994,9 +1994,9 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        1312, 1320, 1328, 1336, 1344, 1352, 1360, 1368, 1376, 1384, 1392,
-        1400, 1408, 1416, 1424, -1,   -1,   -1,   -1,   1432, 1440, -1,
-        -1,   1448, 1456, 1464, -1,   -1,   -1,   -1,   -1,   -1};
+        1304, 1312, 1320, 1328, 1336, 1344, 1352, 1360, 1368, 1376, 1384,
+        1392, 1400, 1408, 1416, -1,   -1,   -1,   -1,   1424, 1432, -1,
+        -1,   1440, 1448, 1456, -1,   -1,   -1,   -1,   -1,   -1};
 static constexpr dart::compiler::target::word ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word Array_InstanceSize = 24;
 static constexpr dart::compiler::target::word Array_header_size = 24;
@@ -2338,7 +2338,7 @@
     Thread_call_to_runtime_stub_offset = 136;
 static constexpr dart::compiler::target::word Thread_dart_stream_offset = 736;
 static constexpr dart::compiler::target::word
-    Thread_dispatch_table_array_offset = 48;
+    Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     308;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 224;
@@ -2350,7 +2350,7 @@
     348;
 static constexpr dart::compiler::target::word
     Thread_double_negate_address_offset = 344;
-static constexpr dart::compiler::target::word Thread_end_offset = 56;
+static constexpr dart::compiler::target::word Thread_end_offset = 52;
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 248;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
@@ -2379,9 +2379,9 @@
     Thread_invoke_dart_code_stub_offset = 132;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
     724;
-static constexpr dart::compiler::target::word Thread_isolate_offset = 44;
+static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
-    68;
+    64;
 static constexpr dart::compiler::target::word
     Thread_lazy_deopt_from_return_stub_offset = 232;
 static constexpr dart::compiler::target::word
@@ -2389,7 +2389,7 @@
 static constexpr dart::compiler::target::word
     Thread_lazy_specialize_type_test_stub_offset = 244;
 static constexpr dart::compiler::target::word
-    Thread_marking_stack_block_offset = 84;
+    Thread_marking_stack_block_offset = 80;
 static constexpr dart::compiler::target::word
     Thread_megamorphic_call_checked_entry_offset = 300;
 static constexpr dart::compiler::target::word
@@ -2430,11 +2430,11 @@
     Thread_slow_type_test_stub_offset = 240;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_entry_point_offset = 320;
-static constexpr dart::compiler::target::word Thread_stack_limit_offset = 36;
+static constexpr dart::compiler::target::word Thread_stack_limit_offset = 32;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
-    60;
+    56;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_flags_offset = 64;
+    Thread_stack_overflow_flags_offset = 60;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 296;
 static constexpr dart::compiler::target::word
@@ -2444,20 +2444,20 @@
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 200;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
-    80;
+    76;
 static constexpr dart::compiler::target::word
-    Thread_top_exit_frame_info_offset = 76;
-static constexpr dart::compiler::target::word Thread_top_offset = 52;
-static constexpr dart::compiler::target::word Thread_top_resource_offset = 24;
+    Thread_top_exit_frame_info_offset = 72;
+static constexpr dart::compiler::target::word Thread_top_offset = 48;
+static constexpr dart::compiler::target::word Thread_top_resource_offset = 20;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 96;
-static constexpr dart::compiler::target::word Thread_vm_tag_offset = 92;
+static constexpr dart::compiler::target::word Thread_vm_tag_offset = 88;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
     116;
 static constexpr dart::compiler::target::word
     Thread_write_barrier_entry_point_offset = 260;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
-    40;
+    36;
 static constexpr dart::compiler::target::word Thread_callback_code_offset = 720;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset = 8;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 12;
@@ -2809,171 +2809,171 @@
 static constexpr dart::compiler::target::word String_length_offset = 8;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 728;
+    Thread_AllocateArray_entry_point_offset = 720;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1400;
+    1392;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    1408;
+    1400;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 232;
+    Thread_array_write_barrier_code_offset = 224;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 520;
+    Thread_array_write_barrier_entry_point_offset = 512;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 552;
+    Thread_allocate_object_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 368;
+    Thread_allocate_object_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 560;
+    Thread_allocate_object_parameterized_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 376;
+    Thread_allocate_object_parameterized_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 568;
+    Thread_allocate_object_slow_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 384;
+    Thread_allocate_object_slow_stub_offset = 376;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1472;
+    1464;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 208;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 648;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 208;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 200;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 528;
+    Thread_call_to_runtime_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1488;
+    Thread_call_to_runtime_stub_offset = 256;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1480;
 static constexpr dart::compiler::target::word
-    Thread_dispatch_table_array_offset = 96;
+    Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    608;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 440;
+    600;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 432;
 static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
-    616;
+    608;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    448;
+    440;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
+    680;
+static constexpr dart::compiler::target::word
+    Thread_double_negate_address_offset = 672;
+static constexpr dart::compiler::target::word Thread_end_offset = 104;
+static constexpr dart::compiler::target::word
+    Thread_enter_safepoint_stub_offset = 480;
+static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    1432;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 488;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 496;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 616;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 240;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 232;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 704;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 696;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
     688;
 static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word Thread_end_offset = 112;
+    Thread_float_zerow_address_offset = 712;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
+    1408;
 static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 488;
-static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    Thread_invoke_dart_code_stub_offset = 248;
+static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
+    1456;
+static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
+static constexpr dart::compiler::target::word Thread_field_table_values_offset =
+    128;
+static constexpr dart::compiler::target::word
+    Thread_lazy_deopt_from_return_stub_offset = 448;
+static constexpr dart::compiler::target::word
+    Thread_lazy_deopt_from_throw_stub_offset = 456;
+static constexpr dart::compiler::target::word
+    Thread_lazy_specialize_type_test_stub_offset = 472;
+static constexpr dart::compiler::target::word
+    Thread_marking_stack_block_offset = 160;
+static constexpr dart::compiler::target::word
+    Thread_megamorphic_call_checked_entry_offset = 584;
+static constexpr dart::compiler::target::word
+    Thread_switchable_call_miss_entry_offset = 592;
+static constexpr dart::compiler::target::word
+    Thread_switchable_call_miss_stub_offset = 400;
+static constexpr dart::compiler::target::word
+    Thread_no_scope_native_wrapper_entry_point_offset = 640;
+static constexpr dart::compiler::target::word
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 272;
+static constexpr dart::compiler::target::word
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 264;
+static constexpr dart::compiler::target::word
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 288;
+static constexpr dart::compiler::target::word
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 280;
+static constexpr dart::compiler::target::word
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 304;
+static constexpr dart::compiler::target::word
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 296;
+static constexpr dart::compiler::target::word
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 320;
+static constexpr dart::compiler::target::word
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 312;
+static constexpr dart::compiler::target::word
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 336;
+static constexpr dart::compiler::target::word
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 328;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 192;
+static constexpr dart::compiler::target::word
+    Thread_predefined_symbols_address_offset = 656;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1416;
+static constexpr dart::compiler::target::word
+    Thread_saved_shadow_call_stack_offset = 1424;
+static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
     1440;
 static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 496;
+    Thread_slow_type_test_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 504;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 624;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 248;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 240;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 712;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 704;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
-    696;
-static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 720;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1416;
-static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1464;
-static constexpr dart::compiler::target::word Thread_isolate_offset = 88;
-static constexpr dart::compiler::target::word Thread_field_table_values_offset =
-    136;
-static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 456;
-static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 464;
-static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 480;
-static constexpr dart::compiler::target::word
-    Thread_marking_stack_block_offset = 168;
-static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 592;
-static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 600;
-static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 408;
-static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 648;
-static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
-static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 272;
-static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
-static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
-static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
-static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
-static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
-static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
-static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
-static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
-static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 664;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1424;
-static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1432;
-static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1448;
-static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 472;
-static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 632;
-static constexpr dart::compiler::target::word Thread_stack_limit_offset = 72;
+    Thread_slow_type_test_entry_point_offset = 624;
+static constexpr dart::compiler::target::word Thread_stack_limit_offset = 64;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
-    120;
+    112;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_flags_offset = 128;
+    Thread_stack_overflow_flags_offset = 120;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 392;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 384;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
-    160;
+    152;
 static constexpr dart::compiler::target::word
-    Thread_top_exit_frame_info_offset = 152;
-static constexpr dart::compiler::target::word Thread_top_offset = 104;
-static constexpr dart::compiler::target::word Thread_top_resource_offset = 48;
+    Thread_top_exit_frame_info_offset = 144;
+static constexpr dart::compiler::target::word Thread_top_offset = 96;
+static constexpr dart::compiler::target::word Thread_top_resource_offset = 40;
 static constexpr dart::compiler::target::word
-    Thread_unboxed_int64_runtime_arg_offset = 192;
-static constexpr dart::compiler::target::word Thread_vm_tag_offset = 184;
+    Thread_unboxed_int64_runtime_arg_offset = 184;
+static constexpr dart::compiler::target::word Thread_vm_tag_offset = 176;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    224;
+    216;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 512;
+    Thread_write_barrier_entry_point_offset = 504;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
-    80;
+    72;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1456;
+    1448;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset =
     16;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 16;
@@ -3025,8 +3025,8 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        1312, 1320, 1328, 1336, -1,   -1,   1344, 1352,
-        1360, 1368, 1376, -1,   1384, 1392, -1,   -1};
+        1304, 1312, 1320, 1328, -1,   -1,   1336, 1344,
+        1352, 1360, 1368, -1,   1376, 1384, -1,   -1};
 static constexpr dart::compiler::target::word ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word Array_InstanceSize = 24;
 static constexpr dart::compiler::target::word Array_header_size = 24;
@@ -3366,7 +3366,7 @@
     Thread_call_to_runtime_stub_offset = 136;
 static constexpr dart::compiler::target::word Thread_dart_stream_offset = 704;
 static constexpr dart::compiler::target::word
-    Thread_dispatch_table_array_offset = 48;
+    Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
     308;
 static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 224;
@@ -3378,7 +3378,7 @@
     348;
 static constexpr dart::compiler::target::word
     Thread_double_negate_address_offset = 344;
-static constexpr dart::compiler::target::word Thread_end_offset = 56;
+static constexpr dart::compiler::target::word Thread_end_offset = 52;
 static constexpr dart::compiler::target::word
     Thread_enter_safepoint_stub_offset = 248;
 static constexpr dart::compiler::target::word Thread_execution_state_offset =
@@ -3407,9 +3407,9 @@
     Thread_invoke_dart_code_stub_offset = 132;
 static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
     692;
-static constexpr dart::compiler::target::word Thread_isolate_offset = 44;
+static constexpr dart::compiler::target::word Thread_isolate_offset = 40;
 static constexpr dart::compiler::target::word Thread_field_table_values_offset =
-    68;
+    64;
 static constexpr dart::compiler::target::word
     Thread_lazy_deopt_from_return_stub_offset = 232;
 static constexpr dart::compiler::target::word
@@ -3417,7 +3417,7 @@
 static constexpr dart::compiler::target::word
     Thread_lazy_specialize_type_test_stub_offset = 244;
 static constexpr dart::compiler::target::word
-    Thread_marking_stack_block_offset = 84;
+    Thread_marking_stack_block_offset = 80;
 static constexpr dart::compiler::target::word
     Thread_megamorphic_call_checked_entry_offset = 300;
 static constexpr dart::compiler::target::word
@@ -3458,11 +3458,11 @@
     Thread_slow_type_test_stub_offset = 240;
 static constexpr dart::compiler::target::word
     Thread_slow_type_test_entry_point_offset = 320;
-static constexpr dart::compiler::target::word Thread_stack_limit_offset = 36;
+static constexpr dart::compiler::target::word Thread_stack_limit_offset = 32;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
-    60;
+    56;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_flags_offset = 64;
+    Thread_stack_overflow_flags_offset = 60;
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 296;
 static constexpr dart::compiler::target::word
@@ -3472,20 +3472,20 @@
 static constexpr dart::compiler::target::word
     Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 200;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
-    80;
+    76;
 static constexpr dart::compiler::target::word
-    Thread_top_exit_frame_info_offset = 76;
-static constexpr dart::compiler::target::word Thread_top_offset = 52;
-static constexpr dart::compiler::target::word Thread_top_resource_offset = 24;
+    Thread_top_exit_frame_info_offset = 72;
+static constexpr dart::compiler::target::word Thread_top_offset = 48;
+static constexpr dart::compiler::target::word Thread_top_resource_offset = 20;
 static constexpr dart::compiler::target::word
     Thread_unboxed_int64_runtime_arg_offset = 96;
-static constexpr dart::compiler::target::word Thread_vm_tag_offset = 92;
+static constexpr dart::compiler::target::word Thread_vm_tag_offset = 88;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
     116;
 static constexpr dart::compiler::target::word
     Thread_write_barrier_entry_point_offset = 260;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
-    40;
+    36;
 static constexpr dart::compiler::target::word Thread_callback_code_offset = 688;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset = 8;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 12;
@@ -3834,171 +3834,171 @@
 static constexpr dart::compiler::target::word String_length_offset = 8;
 static constexpr dart::compiler::target::word SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    Thread_AllocateArray_entry_point_offset = 728;
+    Thread_AllocateArray_entry_point_offset = 720;
 static constexpr dart::compiler::target::word Thread_active_exception_offset =
-    1472;
+    1464;
 static constexpr dart::compiler::target::word Thread_active_stacktrace_offset =
-    1480;
+    1472;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_code_offset = 232;
+    Thread_array_write_barrier_code_offset = 224;
 static constexpr dart::compiler::target::word
-    Thread_array_write_barrier_entry_point_offset = 520;
+    Thread_array_write_barrier_entry_point_offset = 512;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    Thread_allocate_mint_with_fpu_regs_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    Thread_allocate_mint_with_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    Thread_allocate_mint_without_fpu_regs_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    Thread_allocate_mint_without_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_entry_point_offset = 552;
+    Thread_allocate_object_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_stub_offset = 368;
+    Thread_allocate_object_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_entry_point_offset = 560;
+    Thread_allocate_object_parameterized_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_parameterized_stub_offset = 376;
+    Thread_allocate_object_parameterized_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_entry_point_offset = 568;
+    Thread_allocate_object_slow_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    Thread_allocate_object_slow_stub_offset = 384;
+    Thread_allocate_object_slow_stub_offset = 376;
 static constexpr dart::compiler::target::word Thread_api_top_scope_offset =
-    1544;
+    1536;
 static constexpr dart::compiler::target::word
-    Thread_auto_scope_native_wrapper_entry_point_offset = 656;
-static constexpr dart::compiler::target::word Thread_bool_false_offset = 216;
-static constexpr dart::compiler::target::word Thread_bool_true_offset = 208;
+    Thread_auto_scope_native_wrapper_entry_point_offset = 648;
+static constexpr dart::compiler::target::word Thread_bool_false_offset = 208;
+static constexpr dart::compiler::target::word Thread_bool_true_offset = 200;
 static constexpr dart::compiler::target::word
-    Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    Thread_bootstrap_native_wrapper_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_entry_point_offset = 528;
+    Thread_call_to_runtime_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
-    Thread_call_to_runtime_stub_offset = 264;
-static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1560;
+    Thread_call_to_runtime_stub_offset = 256;
+static constexpr dart::compiler::target::word Thread_dart_stream_offset = 1552;
 static constexpr dart::compiler::target::word
-    Thread_dispatch_table_array_offset = 96;
+    Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word Thread_optimize_entry_offset =
-    608;
-static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 440;
+    600;
+static constexpr dart::compiler::target::word Thread_optimize_stub_offset = 432;
 static constexpr dart::compiler::target::word Thread_deoptimize_entry_offset =
-    616;
+    608;
 static constexpr dart::compiler::target::word Thread_deoptimize_stub_offset =
-    448;
+    440;
 static constexpr dart::compiler::target::word Thread_double_abs_address_offset =
+    680;
+static constexpr dart::compiler::target::word
+    Thread_double_negate_address_offset = 672;
+static constexpr dart::compiler::target::word Thread_end_offset = 104;
+static constexpr dart::compiler::target::word
+    Thread_enter_safepoint_stub_offset = 480;
+static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    1504;
+static constexpr dart::compiler::target::word
+    Thread_exit_safepoint_stub_offset = 488;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_stub_offset = 496;
+static constexpr dart::compiler::target::word
+    Thread_call_native_through_safepoint_entry_point_offset = 616;
+static constexpr dart::compiler::target::word
+    Thread_fix_allocation_stub_code_offset = 240;
+static constexpr dart::compiler::target::word
+    Thread_fix_callers_target_code_offset = 232;
+static constexpr dart::compiler::target::word
+    Thread_float_absolute_address_offset = 704;
+static constexpr dart::compiler::target::word
+    Thread_float_negate_address_offset = 696;
+static constexpr dart::compiler::target::word Thread_float_not_address_offset =
     688;
 static constexpr dart::compiler::target::word
-    Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word Thread_end_offset = 112;
+    Thread_float_zerow_address_offset = 712;
+static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
+    1480;
 static constexpr dart::compiler::target::word
-    Thread_enter_safepoint_stub_offset = 488;
-static constexpr dart::compiler::target::word Thread_execution_state_offset =
+    Thread_invoke_dart_code_stub_offset = 248;
+static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
+    1528;
+static constexpr dart::compiler::target::word Thread_isolate_offset = 80;
+static constexpr dart::compiler::target::word Thread_field_table_values_offset =
+    128;
+static constexpr dart::compiler::target::word
+    Thread_lazy_deopt_from_return_stub_offset = 448;
+static constexpr dart::compiler::target::word
+    Thread_lazy_deopt_from_throw_stub_offset = 456;
+static constexpr dart::compiler::target::word
+    Thread_lazy_specialize_type_test_stub_offset = 472;
+static constexpr dart::compiler::target::word
+    Thread_marking_stack_block_offset = 160;
+static constexpr dart::compiler::target::word
+    Thread_megamorphic_call_checked_entry_offset = 584;
+static constexpr dart::compiler::target::word
+    Thread_switchable_call_miss_entry_offset = 592;
+static constexpr dart::compiler::target::word
+    Thread_switchable_call_miss_stub_offset = 400;
+static constexpr dart::compiler::target::word
+    Thread_no_scope_native_wrapper_entry_point_offset = 640;
+static constexpr dart::compiler::target::word
+    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 272;
+static constexpr dart::compiler::target::word
+    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 264;
+static constexpr dart::compiler::target::word
+    Thread_null_error_shared_with_fpu_regs_stub_offset = 288;
+static constexpr dart::compiler::target::word
+    Thread_null_error_shared_without_fpu_regs_stub_offset = 280;
+static constexpr dart::compiler::target::word
+    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 304;
+static constexpr dart::compiler::target::word
+    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 296;
+static constexpr dart::compiler::target::word
+    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 320;
+static constexpr dart::compiler::target::word
+    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 312;
+static constexpr dart::compiler::target::word
+    Thread_range_error_shared_with_fpu_regs_stub_offset = 336;
+static constexpr dart::compiler::target::word
+    Thread_range_error_shared_without_fpu_regs_stub_offset = 328;
+static constexpr dart::compiler::target::word Thread_object_null_offset = 192;
+static constexpr dart::compiler::target::word
+    Thread_predefined_symbols_address_offset = 656;
+static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1488;
+static constexpr dart::compiler::target::word
+    Thread_saved_shadow_call_stack_offset = 1496;
+static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
     1512;
 static constexpr dart::compiler::target::word
-    Thread_exit_safepoint_stub_offset = 496;
+    Thread_slow_type_test_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_stub_offset = 504;
-static constexpr dart::compiler::target::word
-    Thread_call_native_through_safepoint_entry_point_offset = 624;
-static constexpr dart::compiler::target::word
-    Thread_fix_allocation_stub_code_offset = 248;
-static constexpr dart::compiler::target::word
-    Thread_fix_callers_target_code_offset = 240;
-static constexpr dart::compiler::target::word
-    Thread_float_absolute_address_offset = 712;
-static constexpr dart::compiler::target::word
-    Thread_float_negate_address_offset = 704;
-static constexpr dart::compiler::target::word Thread_float_not_address_offset =
-    696;
-static constexpr dart::compiler::target::word
-    Thread_float_zerow_address_offset = 720;
-static constexpr dart::compiler::target::word Thread_global_object_pool_offset =
-    1488;
-static constexpr dart::compiler::target::word
-    Thread_invoke_dart_code_stub_offset = 256;
-static constexpr dart::compiler::target::word Thread_exit_through_ffi_offset =
-    1536;
-static constexpr dart::compiler::target::word Thread_isolate_offset = 88;
-static constexpr dart::compiler::target::word Thread_field_table_values_offset =
-    136;
-static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_return_stub_offset = 456;
-static constexpr dart::compiler::target::word
-    Thread_lazy_deopt_from_throw_stub_offset = 464;
-static constexpr dart::compiler::target::word
-    Thread_lazy_specialize_type_test_stub_offset = 480;
-static constexpr dart::compiler::target::word
-    Thread_marking_stack_block_offset = 168;
-static constexpr dart::compiler::target::word
-    Thread_megamorphic_call_checked_entry_offset = 592;
-static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_entry_offset = 600;
-static constexpr dart::compiler::target::word
-    Thread_switchable_call_miss_stub_offset = 408;
-static constexpr dart::compiler::target::word
-    Thread_no_scope_native_wrapper_entry_point_offset = 648;
-static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
-static constexpr dart::compiler::target::word
-    Thread_late_initialization_error_shared_without_fpu_regs_stub_offset = 272;
-static constexpr dart::compiler::target::word
-    Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
-static constexpr dart::compiler::target::word
-    Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
-static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
-static constexpr dart::compiler::target::word
-    Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
-static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
-static constexpr dart::compiler::target::word
-    Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
-static constexpr dart::compiler::target::word
-    Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
-static constexpr dart::compiler::target::word
-    Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
-static constexpr dart::compiler::target::word Thread_object_null_offset = 200;
-static constexpr dart::compiler::target::word
-    Thread_predefined_symbols_address_offset = 664;
-static constexpr dart::compiler::target::word Thread_resume_pc_offset = 1496;
-static constexpr dart::compiler::target::word
-    Thread_saved_shadow_call_stack_offset = 1504;
-static constexpr dart::compiler::target::word Thread_safepoint_state_offset =
-    1520;
-static constexpr dart::compiler::target::word
-    Thread_slow_type_test_stub_offset = 472;
-static constexpr dart::compiler::target::word
-    Thread_slow_type_test_entry_point_offset = 632;
-static constexpr dart::compiler::target::word Thread_stack_limit_offset = 72;
+    Thread_slow_type_test_entry_point_offset = 624;
+static constexpr dart::compiler::target::word Thread_stack_limit_offset = 64;
 static constexpr dart::compiler::target::word Thread_saved_stack_limit_offset =
-    120;
+    112;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_flags_offset = 128;
+    Thread_stack_overflow_flags_offset = 120;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 392;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 384;
 static constexpr dart::compiler::target::word Thread_store_buffer_block_offset =
-    160;
+    152;
 static constexpr dart::compiler::target::word
-    Thread_top_exit_frame_info_offset = 152;
-static constexpr dart::compiler::target::word Thread_top_offset = 104;
-static constexpr dart::compiler::target::word Thread_top_resource_offset = 48;
+    Thread_top_exit_frame_info_offset = 144;
+static constexpr dart::compiler::target::word Thread_top_offset = 96;
+static constexpr dart::compiler::target::word Thread_top_resource_offset = 40;
 static constexpr dart::compiler::target::word
-    Thread_unboxed_int64_runtime_arg_offset = 192;
-static constexpr dart::compiler::target::word Thread_vm_tag_offset = 184;
+    Thread_unboxed_int64_runtime_arg_offset = 184;
+static constexpr dart::compiler::target::word Thread_vm_tag_offset = 176;
 static constexpr dart::compiler::target::word Thread_write_barrier_code_offset =
-    224;
+    216;
 static constexpr dart::compiler::target::word
-    Thread_write_barrier_entry_point_offset = 512;
+    Thread_write_barrier_entry_point_offset = 504;
 static constexpr dart::compiler::target::word Thread_write_barrier_mask_offset =
-    80;
+    72;
 static constexpr dart::compiler::target::word Thread_callback_code_offset =
-    1528;
+    1520;
 static constexpr dart::compiler::target::word TimelineStream_enabled_offset =
     16;
 static constexpr dart::compiler::target::word TwoByteString_data_offset = 16;
@@ -4050,9 +4050,9 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     Thread_write_barrier_wrappers_thread_offset[] = {
-        1312, 1320, 1328, 1336, 1344, 1352, 1360, 1368, 1376, 1384, 1392,
-        1400, 1408, 1416, 1424, -1,   -1,   -1,   -1,   1432, 1440, -1,
-        -1,   1448, 1456, 1464, -1,   -1,   -1,   -1,   -1,   -1};
+        1304, 1312, 1320, 1328, 1336, 1344, 1352, 1360, 1368, 1376, 1384,
+        1392, 1400, 1408, 1416, -1,   -1,   -1,   -1,   1424, 1432, -1,
+        -1,   1440, 1448, 1456, -1,   -1,   -1,   -1,   -1,   -1};
 static constexpr dart::compiler::target::word ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word Array_InstanceSize = 24;
 static constexpr dart::compiler::target::word Array_header_size = 24;
@@ -4420,7 +4420,7 @@
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
     736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_dispatch_table_array_offset = 48;
+    AOT_Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
     308;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -4433,7 +4433,7 @@
     AOT_Thread_double_abs_address_offset = 348;
 static constexpr dart::compiler::target::word
     AOT_Thread_double_negate_address_offset = 344;
-static constexpr dart::compiler::target::word AOT_Thread_end_offset = 56;
+static constexpr dart::compiler::target::word AOT_Thread_end_offset = 52;
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 248;
 static constexpr dart::compiler::target::word
@@ -4462,9 +4462,9 @@
     AOT_Thread_invoke_dart_code_stub_offset = 132;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_through_ffi_offset = 724;
-static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 44;
+static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 40;
 static constexpr dart::compiler::target::word
-    AOT_Thread_field_table_values_offset = 68;
+    AOT_Thread_field_table_values_offset = 64;
 static constexpr dart::compiler::target::word
     AOT_Thread_lazy_deopt_from_return_stub_offset = 232;
 static constexpr dart::compiler::target::word
@@ -4472,7 +4472,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_lazy_specialize_type_test_stub_offset = 244;
 static constexpr dart::compiler::target::word
-    AOT_Thread_marking_stack_block_offset = 84;
+    AOT_Thread_marking_stack_block_offset = 80;
 static constexpr dart::compiler::target::word
     AOT_Thread_megamorphic_call_checked_entry_offset = 300;
 static constexpr dart::compiler::target::word
@@ -4516,11 +4516,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_entry_point_offset = 320;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
-    36;
+    32;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_stack_limit_offset = 60;
+    AOT_Thread_saved_stack_limit_offset = 56;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_flags_offset = 64;
+    AOT_Thread_stack_overflow_flags_offset = 60;
 static constexpr dart::compiler::target::word
     AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 296;
 static constexpr dart::compiler::target::word
@@ -4530,21 +4530,21 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 200;
 static constexpr dart::compiler::target::word
-    AOT_Thread_store_buffer_block_offset = 80;
+    AOT_Thread_store_buffer_block_offset = 76;
 static constexpr dart::compiler::target::word
-    AOT_Thread_top_exit_frame_info_offset = 76;
-static constexpr dart::compiler::target::word AOT_Thread_top_offset = 52;
+    AOT_Thread_top_exit_frame_info_offset = 72;
+static constexpr dart::compiler::target::word AOT_Thread_top_offset = 48;
 static constexpr dart::compiler::target::word AOT_Thread_top_resource_offset =
-    24;
+    20;
 static constexpr dart::compiler::target::word
     AOT_Thread_unboxed_int64_runtime_arg_offset = 96;
-static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 92;
+static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 88;
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_code_offset = 116;
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_entry_point_offset = 260;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_mask_offset = 40;
+    AOT_Thread_write_barrier_mask_offset = 36;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
     720;
 static constexpr dart::compiler::target::word
@@ -4949,179 +4949,179 @@
 static constexpr dart::compiler::target::word
     AOT_SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    AOT_Thread_AllocateArray_entry_point_offset = 728;
+    AOT_Thread_AllocateArray_entry_point_offset = 720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1400;
+    AOT_Thread_active_exception_offset = 1392;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1408;
+    AOT_Thread_active_stacktrace_offset = 1400;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_code_offset = 232;
+    AOT_Thread_array_write_barrier_code_offset = 224;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_entry_point_offset = 520;
+    AOT_Thread_array_write_barrier_entry_point_offset = 512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_entry_point_offset = 552;
+    AOT_Thread_allocate_object_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_stub_offset = 368;
+    AOT_Thread_allocate_object_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_entry_point_offset = 560;
+    AOT_Thread_allocate_object_parameterized_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_stub_offset = 376;
+    AOT_Thread_allocate_object_parameterized_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_entry_point_offset = 568;
+    AOT_Thread_allocate_object_slow_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_stub_offset = 384;
+    AOT_Thread_allocate_object_slow_stub_offset = 376;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1472;
+    1464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 656;
+    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 648;
 static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
-    216;
-static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 208;
+    208;
+static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 200;
 static constexpr dart::compiler::target::word
-    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_entry_point_offset = 528;
+    AOT_Thread_call_to_runtime_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_stub_offset = 264;
+    AOT_Thread_call_to_runtime_stub_offset = 256;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    1488;
+    1480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_dispatch_table_array_offset = 96;
+    AOT_Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
-    608;
+    600;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
-    440;
+    432;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_entry_offset = 616;
+    AOT_Thread_deoptimize_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_stub_offset = 448;
+    AOT_Thread_deoptimize_stub_offset = 440;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_abs_address_offset = 688;
+    AOT_Thread_double_abs_address_offset = 680;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word AOT_Thread_end_offset = 112;
+    AOT_Thread_double_negate_address_offset = 672;
+static constexpr dart::compiler::target::word AOT_Thread_end_offset = 104;
 static constexpr dart::compiler::target::word
-    AOT_Thread_enter_safepoint_stub_offset = 488;
+    AOT_Thread_enter_safepoint_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1440;
+    AOT_Thread_execution_state_offset = 1432;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_safepoint_stub_offset = 496;
+    AOT_Thread_exit_safepoint_stub_offset = 488;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_stub_offset = 504;
+    AOT_Thread_call_native_through_safepoint_stub_offset = 496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_entry_point_offset = 624;
+    AOT_Thread_call_native_through_safepoint_entry_point_offset = 616;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_allocation_stub_code_offset = 248;
+    AOT_Thread_fix_allocation_stub_code_offset = 240;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_callers_target_code_offset = 240;
+    AOT_Thread_fix_callers_target_code_offset = 232;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_absolute_address_offset = 712;
+    AOT_Thread_float_absolute_address_offset = 704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_negate_address_offset = 704;
+    AOT_Thread_float_negate_address_offset = 696;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_not_address_offset = 696;
+    AOT_Thread_float_not_address_offset = 688;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_zerow_address_offset = 720;
+    AOT_Thread_float_zerow_address_offset = 712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1416;
+    AOT_Thread_global_object_pool_offset = 1408;
 static constexpr dart::compiler::target::word
-    AOT_Thread_invoke_dart_code_stub_offset = 256;
+    AOT_Thread_invoke_dart_code_stub_offset = 248;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1464;
-static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 88;
+    AOT_Thread_exit_through_ffi_offset = 1456;
+static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word
-    AOT_Thread_field_table_values_offset = 136;
+    AOT_Thread_field_table_values_offset = 128;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_return_stub_offset = 456;
+    AOT_Thread_lazy_deopt_from_return_stub_offset = 448;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_throw_stub_offset = 464;
+    AOT_Thread_lazy_deopt_from_throw_stub_offset = 456;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_specialize_type_test_stub_offset = 480;
+    AOT_Thread_lazy_specialize_type_test_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    AOT_Thread_marking_stack_block_offset = 168;
+    AOT_Thread_marking_stack_block_offset = 160;
 static constexpr dart::compiler::target::word
-    AOT_Thread_megamorphic_call_checked_entry_offset = 592;
+    AOT_Thread_megamorphic_call_checked_entry_offset = 584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_entry_offset = 600;
+    AOT_Thread_switchable_call_miss_entry_offset = 592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_stub_offset = 408;
+    AOT_Thread_switchable_call_miss_stub_offset = 400;
 static constexpr dart::compiler::target::word
-    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 640;
 static constexpr dart::compiler::target::word
-    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 272;
 static constexpr dart::compiler::target::word
     AOT_Thread_late_initialization_error_shared_without_fpu_regs_stub_offset =
-        272;
+        264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 280;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
+    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word AOT_Thread_object_null_offset =
-    200;
+    192;
 static constexpr dart::compiler::target::word
-    AOT_Thread_predefined_symbols_address_offset = 664;
+    AOT_Thread_predefined_symbols_address_offset = 656;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1424;
+    1416;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1432;
+    AOT_Thread_saved_shadow_call_stack_offset = 1424;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1448;
+    AOT_Thread_safepoint_state_offset = 1440;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_stub_offset = 472;
+    AOT_Thread_slow_type_test_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_entry_point_offset = 632;
+    AOT_Thread_slow_type_test_entry_point_offset = 624;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
-    72;
+    64;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_stack_limit_offset = 120;
+    AOT_Thread_saved_stack_limit_offset = 112;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_flags_offset = 128;
+    AOT_Thread_stack_overflow_flags_offset = 120;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 392;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    AOT_Thread_store_buffer_block_offset = 160;
+    AOT_Thread_store_buffer_block_offset = 152;
 static constexpr dart::compiler::target::word
-    AOT_Thread_top_exit_frame_info_offset = 152;
-static constexpr dart::compiler::target::word AOT_Thread_top_offset = 104;
+    AOT_Thread_top_exit_frame_info_offset = 144;
+static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
 static constexpr dart::compiler::target::word AOT_Thread_top_resource_offset =
-    48;
+    40;
 static constexpr dart::compiler::target::word
-    AOT_Thread_unboxed_int64_runtime_arg_offset = 192;
-static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 184;
+    AOT_Thread_unboxed_int64_runtime_arg_offset = 184;
+static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 176;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_code_offset = 224;
+    AOT_Thread_write_barrier_code_offset = 216;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_entry_point_offset = 512;
+    AOT_Thread_write_barrier_entry_point_offset = 504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_mask_offset = 80;
+    AOT_Thread_write_barrier_mask_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1456;
+    1448;
 static constexpr dart::compiler::target::word
     AOT_TimelineStream_enabled_offset = 16;
 static constexpr dart::compiler::target::word AOT_TwoByteString_data_offset =
@@ -5189,8 +5189,8 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_wrappers_thread_offset[] = {
-        1312, 1320, 1328, 1336, -1,   -1,   1344, 1352,
-        1360, 1368, 1376, -1,   1384, 1392, -1,   -1};
+        1304, 1312, 1320, 1328, -1,   -1,   1336, 1344,
+        1352, 1360, 1368, -1,   1376, 1384, -1,   -1};
 static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word AOT_Array_InstanceSize = 24;
 static constexpr dart::compiler::target::word AOT_Array_header_size = 24;
@@ -5529,179 +5529,179 @@
 static constexpr dart::compiler::target::word
     AOT_SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    AOT_Thread_AllocateArray_entry_point_offset = 728;
+    AOT_Thread_AllocateArray_entry_point_offset = 720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1472;
+    AOT_Thread_active_exception_offset = 1464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1480;
+    AOT_Thread_active_stacktrace_offset = 1472;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_code_offset = 232;
+    AOT_Thread_array_write_barrier_code_offset = 224;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_entry_point_offset = 520;
+    AOT_Thread_array_write_barrier_entry_point_offset = 512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_entry_point_offset = 552;
+    AOT_Thread_allocate_object_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_stub_offset = 368;
+    AOT_Thread_allocate_object_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_entry_point_offset = 560;
+    AOT_Thread_allocate_object_parameterized_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_stub_offset = 376;
+    AOT_Thread_allocate_object_parameterized_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_entry_point_offset = 568;
+    AOT_Thread_allocate_object_slow_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_stub_offset = 384;
+    AOT_Thread_allocate_object_slow_stub_offset = 376;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1544;
+    1536;
 static constexpr dart::compiler::target::word
-    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 656;
+    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 648;
 static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
-    216;
-static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 208;
+    208;
+static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 200;
 static constexpr dart::compiler::target::word
-    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_entry_point_offset = 528;
+    AOT_Thread_call_to_runtime_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_stub_offset = 264;
+    AOT_Thread_call_to_runtime_stub_offset = 256;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    1560;
+    1552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_dispatch_table_array_offset = 96;
+    AOT_Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
-    608;
+    600;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
-    440;
+    432;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_entry_offset = 616;
+    AOT_Thread_deoptimize_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_stub_offset = 448;
+    AOT_Thread_deoptimize_stub_offset = 440;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_abs_address_offset = 688;
+    AOT_Thread_double_abs_address_offset = 680;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word AOT_Thread_end_offset = 112;
+    AOT_Thread_double_negate_address_offset = 672;
+static constexpr dart::compiler::target::word AOT_Thread_end_offset = 104;
 static constexpr dart::compiler::target::word
-    AOT_Thread_enter_safepoint_stub_offset = 488;
+    AOT_Thread_enter_safepoint_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1512;
+    AOT_Thread_execution_state_offset = 1504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_safepoint_stub_offset = 496;
+    AOT_Thread_exit_safepoint_stub_offset = 488;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_stub_offset = 504;
+    AOT_Thread_call_native_through_safepoint_stub_offset = 496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_entry_point_offset = 624;
+    AOT_Thread_call_native_through_safepoint_entry_point_offset = 616;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_allocation_stub_code_offset = 248;
+    AOT_Thread_fix_allocation_stub_code_offset = 240;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_callers_target_code_offset = 240;
+    AOT_Thread_fix_callers_target_code_offset = 232;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_absolute_address_offset = 712;
+    AOT_Thread_float_absolute_address_offset = 704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_negate_address_offset = 704;
+    AOT_Thread_float_negate_address_offset = 696;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_not_address_offset = 696;
+    AOT_Thread_float_not_address_offset = 688;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_zerow_address_offset = 720;
+    AOT_Thread_float_zerow_address_offset = 712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1488;
+    AOT_Thread_global_object_pool_offset = 1480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_invoke_dart_code_stub_offset = 256;
+    AOT_Thread_invoke_dart_code_stub_offset = 248;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1536;
-static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 88;
+    AOT_Thread_exit_through_ffi_offset = 1528;
+static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word
-    AOT_Thread_field_table_values_offset = 136;
+    AOT_Thread_field_table_values_offset = 128;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_return_stub_offset = 456;
+    AOT_Thread_lazy_deopt_from_return_stub_offset = 448;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_throw_stub_offset = 464;
+    AOT_Thread_lazy_deopt_from_throw_stub_offset = 456;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_specialize_type_test_stub_offset = 480;
+    AOT_Thread_lazy_specialize_type_test_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    AOT_Thread_marking_stack_block_offset = 168;
+    AOT_Thread_marking_stack_block_offset = 160;
 static constexpr dart::compiler::target::word
-    AOT_Thread_megamorphic_call_checked_entry_offset = 592;
+    AOT_Thread_megamorphic_call_checked_entry_offset = 584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_entry_offset = 600;
+    AOT_Thread_switchable_call_miss_entry_offset = 592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_stub_offset = 408;
+    AOT_Thread_switchable_call_miss_stub_offset = 400;
 static constexpr dart::compiler::target::word
-    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 640;
 static constexpr dart::compiler::target::word
-    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 272;
 static constexpr dart::compiler::target::word
     AOT_Thread_late_initialization_error_shared_without_fpu_regs_stub_offset =
-        272;
+        264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 280;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
+    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word AOT_Thread_object_null_offset =
-    200;
+    192;
 static constexpr dart::compiler::target::word
-    AOT_Thread_predefined_symbols_address_offset = 664;
+    AOT_Thread_predefined_symbols_address_offset = 656;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1496;
+    1488;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1504;
+    AOT_Thread_saved_shadow_call_stack_offset = 1496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1520;
+    AOT_Thread_safepoint_state_offset = 1512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_stub_offset = 472;
+    AOT_Thread_slow_type_test_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_entry_point_offset = 632;
+    AOT_Thread_slow_type_test_entry_point_offset = 624;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
-    72;
+    64;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_stack_limit_offset = 120;
+    AOT_Thread_saved_stack_limit_offset = 112;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_flags_offset = 128;
+    AOT_Thread_stack_overflow_flags_offset = 120;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 392;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    AOT_Thread_store_buffer_block_offset = 160;
+    AOT_Thread_store_buffer_block_offset = 152;
 static constexpr dart::compiler::target::word
-    AOT_Thread_top_exit_frame_info_offset = 152;
-static constexpr dart::compiler::target::word AOT_Thread_top_offset = 104;
+    AOT_Thread_top_exit_frame_info_offset = 144;
+static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
 static constexpr dart::compiler::target::word AOT_Thread_top_resource_offset =
-    48;
+    40;
 static constexpr dart::compiler::target::word
-    AOT_Thread_unboxed_int64_runtime_arg_offset = 192;
-static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 184;
+    AOT_Thread_unboxed_int64_runtime_arg_offset = 184;
+static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 176;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_code_offset = 224;
+    AOT_Thread_write_barrier_code_offset = 216;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_entry_point_offset = 512;
+    AOT_Thread_write_barrier_entry_point_offset = 504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_mask_offset = 80;
+    AOT_Thread_write_barrier_mask_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1528;
+    1520;
 static constexpr dart::compiler::target::word
     AOT_TimelineStream_enabled_offset = 16;
 static constexpr dart::compiler::target::word AOT_TwoByteString_data_offset =
@@ -5769,9 +5769,9 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_wrappers_thread_offset[] = {
-        1312, 1320, 1328, 1336, 1344, 1352, 1360, 1368, 1376, 1384, 1392,
-        1400, 1408, 1416, 1424, -1,   -1,   -1,   -1,   1432, 1440, -1,
-        -1,   1448, 1456, 1464, -1,   -1,   -1,   -1,   -1,   -1};
+        1304, 1312, 1320, 1328, 1336, 1344, 1352, 1360, 1368, 1376, 1384,
+        1392, 1400, 1408, 1416, -1,   -1,   -1,   -1,   1424, 1432, -1,
+        -1,   1440, 1448, 1456, -1,   -1,   -1,   -1,   -1,   -1};
 static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word AOT_Array_InstanceSize = 24;
 static constexpr dart::compiler::target::word AOT_Array_header_size = 24;
@@ -6149,7 +6149,7 @@
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
     736;
 static constexpr dart::compiler::target::word
-    AOT_Thread_dispatch_table_array_offset = 48;
+    AOT_Thread_dispatch_table_array_offset = 44;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
     308;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
@@ -6162,7 +6162,7 @@
     AOT_Thread_double_abs_address_offset = 348;
 static constexpr dart::compiler::target::word
     AOT_Thread_double_negate_address_offset = 344;
-static constexpr dart::compiler::target::word AOT_Thread_end_offset = 56;
+static constexpr dart::compiler::target::word AOT_Thread_end_offset = 52;
 static constexpr dart::compiler::target::word
     AOT_Thread_enter_safepoint_stub_offset = 248;
 static constexpr dart::compiler::target::word
@@ -6191,9 +6191,9 @@
     AOT_Thread_invoke_dart_code_stub_offset = 132;
 static constexpr dart::compiler::target::word
     AOT_Thread_exit_through_ffi_offset = 724;
-static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 44;
+static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 40;
 static constexpr dart::compiler::target::word
-    AOT_Thread_field_table_values_offset = 68;
+    AOT_Thread_field_table_values_offset = 64;
 static constexpr dart::compiler::target::word
     AOT_Thread_lazy_deopt_from_return_stub_offset = 232;
 static constexpr dart::compiler::target::word
@@ -6201,7 +6201,7 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_lazy_specialize_type_test_stub_offset = 244;
 static constexpr dart::compiler::target::word
-    AOT_Thread_marking_stack_block_offset = 84;
+    AOT_Thread_marking_stack_block_offset = 80;
 static constexpr dart::compiler::target::word
     AOT_Thread_megamorphic_call_checked_entry_offset = 300;
 static constexpr dart::compiler::target::word
@@ -6245,11 +6245,11 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_slow_type_test_entry_point_offset = 320;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
-    36;
+    32;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_stack_limit_offset = 60;
+    AOT_Thread_saved_stack_limit_offset = 56;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_flags_offset = 64;
+    AOT_Thread_stack_overflow_flags_offset = 60;
 static constexpr dart::compiler::target::word
     AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 296;
 static constexpr dart::compiler::target::word
@@ -6259,21 +6259,21 @@
 static constexpr dart::compiler::target::word
     AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 200;
 static constexpr dart::compiler::target::word
-    AOT_Thread_store_buffer_block_offset = 80;
+    AOT_Thread_store_buffer_block_offset = 76;
 static constexpr dart::compiler::target::word
-    AOT_Thread_top_exit_frame_info_offset = 76;
-static constexpr dart::compiler::target::word AOT_Thread_top_offset = 52;
+    AOT_Thread_top_exit_frame_info_offset = 72;
+static constexpr dart::compiler::target::word AOT_Thread_top_offset = 48;
 static constexpr dart::compiler::target::word AOT_Thread_top_resource_offset =
-    24;
+    20;
 static constexpr dart::compiler::target::word
     AOT_Thread_unboxed_int64_runtime_arg_offset = 96;
-static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 92;
+static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 88;
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_code_offset = 116;
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_entry_point_offset = 260;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_mask_offset = 40;
+    AOT_Thread_write_barrier_mask_offset = 36;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
     720;
 static constexpr dart::compiler::target::word
@@ -6671,179 +6671,179 @@
 static constexpr dart::compiler::target::word
     AOT_SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    AOT_Thread_AllocateArray_entry_point_offset = 728;
+    AOT_Thread_AllocateArray_entry_point_offset = 720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1400;
+    AOT_Thread_active_exception_offset = 1392;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1408;
+    AOT_Thread_active_stacktrace_offset = 1400;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_code_offset = 232;
+    AOT_Thread_array_write_barrier_code_offset = 224;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_entry_point_offset = 520;
+    AOT_Thread_array_write_barrier_entry_point_offset = 512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_entry_point_offset = 552;
+    AOT_Thread_allocate_object_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_stub_offset = 368;
+    AOT_Thread_allocate_object_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_entry_point_offset = 560;
+    AOT_Thread_allocate_object_parameterized_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_stub_offset = 376;
+    AOT_Thread_allocate_object_parameterized_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_entry_point_offset = 568;
+    AOT_Thread_allocate_object_slow_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_stub_offset = 384;
+    AOT_Thread_allocate_object_slow_stub_offset = 376;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1472;
+    1464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 656;
+    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 648;
 static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
-    216;
-static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 208;
+    208;
+static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 200;
 static constexpr dart::compiler::target::word
-    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_entry_point_offset = 528;
+    AOT_Thread_call_to_runtime_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_stub_offset = 264;
+    AOT_Thread_call_to_runtime_stub_offset = 256;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    1488;
+    1480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_dispatch_table_array_offset = 96;
+    AOT_Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
-    608;
+    600;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
-    440;
+    432;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_entry_offset = 616;
+    AOT_Thread_deoptimize_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_stub_offset = 448;
+    AOT_Thread_deoptimize_stub_offset = 440;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_abs_address_offset = 688;
+    AOT_Thread_double_abs_address_offset = 680;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word AOT_Thread_end_offset = 112;
+    AOT_Thread_double_negate_address_offset = 672;
+static constexpr dart::compiler::target::word AOT_Thread_end_offset = 104;
 static constexpr dart::compiler::target::word
-    AOT_Thread_enter_safepoint_stub_offset = 488;
+    AOT_Thread_enter_safepoint_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1440;
+    AOT_Thread_execution_state_offset = 1432;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_safepoint_stub_offset = 496;
+    AOT_Thread_exit_safepoint_stub_offset = 488;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_stub_offset = 504;
+    AOT_Thread_call_native_through_safepoint_stub_offset = 496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_entry_point_offset = 624;
+    AOT_Thread_call_native_through_safepoint_entry_point_offset = 616;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_allocation_stub_code_offset = 248;
+    AOT_Thread_fix_allocation_stub_code_offset = 240;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_callers_target_code_offset = 240;
+    AOT_Thread_fix_callers_target_code_offset = 232;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_absolute_address_offset = 712;
+    AOT_Thread_float_absolute_address_offset = 704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_negate_address_offset = 704;
+    AOT_Thread_float_negate_address_offset = 696;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_not_address_offset = 696;
+    AOT_Thread_float_not_address_offset = 688;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_zerow_address_offset = 720;
+    AOT_Thread_float_zerow_address_offset = 712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1416;
+    AOT_Thread_global_object_pool_offset = 1408;
 static constexpr dart::compiler::target::word
-    AOT_Thread_invoke_dart_code_stub_offset = 256;
+    AOT_Thread_invoke_dart_code_stub_offset = 248;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1464;
-static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 88;
+    AOT_Thread_exit_through_ffi_offset = 1456;
+static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word
-    AOT_Thread_field_table_values_offset = 136;
+    AOT_Thread_field_table_values_offset = 128;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_return_stub_offset = 456;
+    AOT_Thread_lazy_deopt_from_return_stub_offset = 448;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_throw_stub_offset = 464;
+    AOT_Thread_lazy_deopt_from_throw_stub_offset = 456;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_specialize_type_test_stub_offset = 480;
+    AOT_Thread_lazy_specialize_type_test_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    AOT_Thread_marking_stack_block_offset = 168;
+    AOT_Thread_marking_stack_block_offset = 160;
 static constexpr dart::compiler::target::word
-    AOT_Thread_megamorphic_call_checked_entry_offset = 592;
+    AOT_Thread_megamorphic_call_checked_entry_offset = 584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_entry_offset = 600;
+    AOT_Thread_switchable_call_miss_entry_offset = 592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_stub_offset = 408;
+    AOT_Thread_switchable_call_miss_stub_offset = 400;
 static constexpr dart::compiler::target::word
-    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 640;
 static constexpr dart::compiler::target::word
-    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 272;
 static constexpr dart::compiler::target::word
     AOT_Thread_late_initialization_error_shared_without_fpu_regs_stub_offset =
-        272;
+        264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 280;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
+    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word AOT_Thread_object_null_offset =
-    200;
+    192;
 static constexpr dart::compiler::target::word
-    AOT_Thread_predefined_symbols_address_offset = 664;
+    AOT_Thread_predefined_symbols_address_offset = 656;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1424;
+    1416;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1432;
+    AOT_Thread_saved_shadow_call_stack_offset = 1424;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1448;
+    AOT_Thread_safepoint_state_offset = 1440;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_stub_offset = 472;
+    AOT_Thread_slow_type_test_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_entry_point_offset = 632;
+    AOT_Thread_slow_type_test_entry_point_offset = 624;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
-    72;
+    64;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_stack_limit_offset = 120;
+    AOT_Thread_saved_stack_limit_offset = 112;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_flags_offset = 128;
+    AOT_Thread_stack_overflow_flags_offset = 120;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 392;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    AOT_Thread_store_buffer_block_offset = 160;
+    AOT_Thread_store_buffer_block_offset = 152;
 static constexpr dart::compiler::target::word
-    AOT_Thread_top_exit_frame_info_offset = 152;
-static constexpr dart::compiler::target::word AOT_Thread_top_offset = 104;
+    AOT_Thread_top_exit_frame_info_offset = 144;
+static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
 static constexpr dart::compiler::target::word AOT_Thread_top_resource_offset =
-    48;
+    40;
 static constexpr dart::compiler::target::word
-    AOT_Thread_unboxed_int64_runtime_arg_offset = 192;
-static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 184;
+    AOT_Thread_unboxed_int64_runtime_arg_offset = 184;
+static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 176;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_code_offset = 224;
+    AOT_Thread_write_barrier_code_offset = 216;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_entry_point_offset = 512;
+    AOT_Thread_write_barrier_entry_point_offset = 504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_mask_offset = 80;
+    AOT_Thread_write_barrier_mask_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1456;
+    1448;
 static constexpr dart::compiler::target::word
     AOT_TimelineStream_enabled_offset = 16;
 static constexpr dart::compiler::target::word AOT_TwoByteString_data_offset =
@@ -6908,8 +6908,8 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_wrappers_thread_offset[] = {
-        1312, 1320, 1328, 1336, -1,   -1,   1344, 1352,
-        1360, 1368, 1376, -1,   1384, 1392, -1,   -1};
+        1304, 1312, 1320, 1328, -1,   -1,   1336, 1344,
+        1352, 1360, 1368, -1,   1376, 1384, -1,   -1};
 static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word AOT_Array_InstanceSize = 24;
 static constexpr dart::compiler::target::word AOT_Array_header_size = 24;
@@ -7244,179 +7244,179 @@
 static constexpr dart::compiler::target::word
     AOT_SubtypeTestCache_cache_offset = 8;
 static constexpr dart::compiler::target::word
-    AOT_Thread_AllocateArray_entry_point_offset = 728;
+    AOT_Thread_AllocateArray_entry_point_offset = 720;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_exception_offset = 1472;
+    AOT_Thread_active_exception_offset = 1464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_active_stacktrace_offset = 1480;
+    AOT_Thread_active_stacktrace_offset = 1472;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_code_offset = 232;
+    AOT_Thread_array_write_barrier_code_offset = 224;
 static constexpr dart::compiler::target::word
-    AOT_Thread_array_write_barrier_entry_point_offset = 520;
+    AOT_Thread_array_write_barrier_entry_point_offset = 512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 536;
+    AOT_Thread_allocate_mint_with_fpu_regs_entry_point_offset = 528;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 352;
+    AOT_Thread_allocate_mint_with_fpu_regs_stub_offset = 344;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 544;
+    AOT_Thread_allocate_mint_without_fpu_regs_entry_point_offset = 536;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 360;
+    AOT_Thread_allocate_mint_without_fpu_regs_stub_offset = 352;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_entry_point_offset = 552;
+    AOT_Thread_allocate_object_entry_point_offset = 544;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_stub_offset = 368;
+    AOT_Thread_allocate_object_stub_offset = 360;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_entry_point_offset = 560;
+    AOT_Thread_allocate_object_parameterized_entry_point_offset = 552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_parameterized_stub_offset = 376;
+    AOT_Thread_allocate_object_parameterized_stub_offset = 368;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_entry_point_offset = 568;
+    AOT_Thread_allocate_object_slow_entry_point_offset = 560;
 static constexpr dart::compiler::target::word
-    AOT_Thread_allocate_object_slow_stub_offset = 384;
+    AOT_Thread_allocate_object_slow_stub_offset = 376;
 static constexpr dart::compiler::target::word AOT_Thread_api_top_scope_offset =
-    1544;
+    1536;
 static constexpr dart::compiler::target::word
-    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 656;
+    AOT_Thread_auto_scope_native_wrapper_entry_point_offset = 648;
 static constexpr dart::compiler::target::word AOT_Thread_bool_false_offset =
-    216;
-static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 208;
+    208;
+static constexpr dart::compiler::target::word AOT_Thread_bool_true_offset = 200;
 static constexpr dart::compiler::target::word
-    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 640;
+    AOT_Thread_bootstrap_native_wrapper_entry_point_offset = 632;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_entry_point_offset = 528;
+    AOT_Thread_call_to_runtime_entry_point_offset = 520;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_to_runtime_stub_offset = 264;
+    AOT_Thread_call_to_runtime_stub_offset = 256;
 static constexpr dart::compiler::target::word AOT_Thread_dart_stream_offset =
-    1560;
+    1552;
 static constexpr dart::compiler::target::word
-    AOT_Thread_dispatch_table_array_offset = 96;
+    AOT_Thread_dispatch_table_array_offset = 88;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_entry_offset =
-    608;
+    600;
 static constexpr dart::compiler::target::word AOT_Thread_optimize_stub_offset =
-    440;
+    432;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_entry_offset = 616;
+    AOT_Thread_deoptimize_entry_offset = 608;
 static constexpr dart::compiler::target::word
-    AOT_Thread_deoptimize_stub_offset = 448;
+    AOT_Thread_deoptimize_stub_offset = 440;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_abs_address_offset = 688;
+    AOT_Thread_double_abs_address_offset = 680;
 static constexpr dart::compiler::target::word
-    AOT_Thread_double_negate_address_offset = 680;
-static constexpr dart::compiler::target::word AOT_Thread_end_offset = 112;
+    AOT_Thread_double_negate_address_offset = 672;
+static constexpr dart::compiler::target::word AOT_Thread_end_offset = 104;
 static constexpr dart::compiler::target::word
-    AOT_Thread_enter_safepoint_stub_offset = 488;
+    AOT_Thread_enter_safepoint_stub_offset = 480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_execution_state_offset = 1512;
+    AOT_Thread_execution_state_offset = 1504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_safepoint_stub_offset = 496;
+    AOT_Thread_exit_safepoint_stub_offset = 488;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_stub_offset = 504;
+    AOT_Thread_call_native_through_safepoint_stub_offset = 496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_call_native_through_safepoint_entry_point_offset = 624;
+    AOT_Thread_call_native_through_safepoint_entry_point_offset = 616;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_allocation_stub_code_offset = 248;
+    AOT_Thread_fix_allocation_stub_code_offset = 240;
 static constexpr dart::compiler::target::word
-    AOT_Thread_fix_callers_target_code_offset = 240;
+    AOT_Thread_fix_callers_target_code_offset = 232;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_absolute_address_offset = 712;
+    AOT_Thread_float_absolute_address_offset = 704;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_negate_address_offset = 704;
+    AOT_Thread_float_negate_address_offset = 696;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_not_address_offset = 696;
+    AOT_Thread_float_not_address_offset = 688;
 static constexpr dart::compiler::target::word
-    AOT_Thread_float_zerow_address_offset = 720;
+    AOT_Thread_float_zerow_address_offset = 712;
 static constexpr dart::compiler::target::word
-    AOT_Thread_global_object_pool_offset = 1488;
+    AOT_Thread_global_object_pool_offset = 1480;
 static constexpr dart::compiler::target::word
-    AOT_Thread_invoke_dart_code_stub_offset = 256;
+    AOT_Thread_invoke_dart_code_stub_offset = 248;
 static constexpr dart::compiler::target::word
-    AOT_Thread_exit_through_ffi_offset = 1536;
-static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 88;
+    AOT_Thread_exit_through_ffi_offset = 1528;
+static constexpr dart::compiler::target::word AOT_Thread_isolate_offset = 80;
 static constexpr dart::compiler::target::word
-    AOT_Thread_field_table_values_offset = 136;
+    AOT_Thread_field_table_values_offset = 128;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_return_stub_offset = 456;
+    AOT_Thread_lazy_deopt_from_return_stub_offset = 448;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_deopt_from_throw_stub_offset = 464;
+    AOT_Thread_lazy_deopt_from_throw_stub_offset = 456;
 static constexpr dart::compiler::target::word
-    AOT_Thread_lazy_specialize_type_test_stub_offset = 480;
+    AOT_Thread_lazy_specialize_type_test_stub_offset = 472;
 static constexpr dart::compiler::target::word
-    AOT_Thread_marking_stack_block_offset = 168;
+    AOT_Thread_marking_stack_block_offset = 160;
 static constexpr dart::compiler::target::word
-    AOT_Thread_megamorphic_call_checked_entry_offset = 592;
+    AOT_Thread_megamorphic_call_checked_entry_offset = 584;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_entry_offset = 600;
+    AOT_Thread_switchable_call_miss_entry_offset = 592;
 static constexpr dart::compiler::target::word
-    AOT_Thread_switchable_call_miss_stub_offset = 408;
+    AOT_Thread_switchable_call_miss_stub_offset = 400;
 static constexpr dart::compiler::target::word
-    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 648;
+    AOT_Thread_no_scope_native_wrapper_entry_point_offset = 640;
 static constexpr dart::compiler::target::word
-    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 280;
+    AOT_Thread_late_initialization_error_shared_with_fpu_regs_stub_offset = 272;
 static constexpr dart::compiler::target::word
     AOT_Thread_late_initialization_error_shared_without_fpu_regs_stub_offset =
-        272;
+        264;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 296;
+    AOT_Thread_null_error_shared_with_fpu_regs_stub_offset = 288;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 288;
+    AOT_Thread_null_error_shared_without_fpu_regs_stub_offset = 280;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 312;
+    AOT_Thread_null_arg_error_shared_with_fpu_regs_stub_offset = 304;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 304;
+    AOT_Thread_null_arg_error_shared_without_fpu_regs_stub_offset = 296;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 328;
+    AOT_Thread_null_cast_error_shared_with_fpu_regs_stub_offset = 320;
 static constexpr dart::compiler::target::word
-    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 320;
+    AOT_Thread_null_cast_error_shared_without_fpu_regs_stub_offset = 312;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 344;
+    AOT_Thread_range_error_shared_with_fpu_regs_stub_offset = 336;
 static constexpr dart::compiler::target::word
-    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 336;
+    AOT_Thread_range_error_shared_without_fpu_regs_stub_offset = 328;
 static constexpr dart::compiler::target::word AOT_Thread_object_null_offset =
-    200;
+    192;
 static constexpr dart::compiler::target::word
-    AOT_Thread_predefined_symbols_address_offset = 664;
+    AOT_Thread_predefined_symbols_address_offset = 656;
 static constexpr dart::compiler::target::word AOT_Thread_resume_pc_offset =
-    1496;
+    1488;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_shadow_call_stack_offset = 1504;
+    AOT_Thread_saved_shadow_call_stack_offset = 1496;
 static constexpr dart::compiler::target::word
-    AOT_Thread_safepoint_state_offset = 1520;
+    AOT_Thread_safepoint_state_offset = 1512;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_stub_offset = 472;
+    AOT_Thread_slow_type_test_stub_offset = 464;
 static constexpr dart::compiler::target::word
-    AOT_Thread_slow_type_test_entry_point_offset = 632;
+    AOT_Thread_slow_type_test_entry_point_offset = 624;
 static constexpr dart::compiler::target::word AOT_Thread_stack_limit_offset =
-    72;
+    64;
 static constexpr dart::compiler::target::word
-    AOT_Thread_saved_stack_limit_offset = 120;
+    AOT_Thread_saved_stack_limit_offset = 112;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_flags_offset = 128;
+    AOT_Thread_stack_overflow_flags_offset = 120;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 584;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_entry_point_offset = 576;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 400;
+    AOT_Thread_stack_overflow_shared_with_fpu_regs_stub_offset = 392;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 576;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_entry_point_offset = 568;
 static constexpr dart::compiler::target::word
-    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 392;
+    AOT_Thread_stack_overflow_shared_without_fpu_regs_stub_offset = 384;
 static constexpr dart::compiler::target::word
-    AOT_Thread_store_buffer_block_offset = 160;
+    AOT_Thread_store_buffer_block_offset = 152;
 static constexpr dart::compiler::target::word
-    AOT_Thread_top_exit_frame_info_offset = 152;
-static constexpr dart::compiler::target::word AOT_Thread_top_offset = 104;
+    AOT_Thread_top_exit_frame_info_offset = 144;
+static constexpr dart::compiler::target::word AOT_Thread_top_offset = 96;
 static constexpr dart::compiler::target::word AOT_Thread_top_resource_offset =
-    48;
+    40;
 static constexpr dart::compiler::target::word
-    AOT_Thread_unboxed_int64_runtime_arg_offset = 192;
-static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 184;
+    AOT_Thread_unboxed_int64_runtime_arg_offset = 184;
+static constexpr dart::compiler::target::word AOT_Thread_vm_tag_offset = 176;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_code_offset = 224;
+    AOT_Thread_write_barrier_code_offset = 216;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_entry_point_offset = 512;
+    AOT_Thread_write_barrier_entry_point_offset = 504;
 static constexpr dart::compiler::target::word
-    AOT_Thread_write_barrier_mask_offset = 80;
+    AOT_Thread_write_barrier_mask_offset = 72;
 static constexpr dart::compiler::target::word AOT_Thread_callback_code_offset =
-    1528;
+    1520;
 static constexpr dart::compiler::target::word
     AOT_TimelineStream_enabled_offset = 16;
 static constexpr dart::compiler::target::word AOT_TwoByteString_data_offset =
@@ -7481,9 +7481,9 @@
     8, 24, 16, 32};
 static constexpr dart::compiler::target::word
     AOT_Thread_write_barrier_wrappers_thread_offset[] = {
-        1312, 1320, 1328, 1336, 1344, 1352, 1360, 1368, 1376, 1384, 1392,
-        1400, 1408, 1416, 1424, -1,   -1,   -1,   -1,   1432, 1440, -1,
-        -1,   1448, 1456, 1464, -1,   -1,   -1,   -1,   -1,   -1};
+        1304, 1312, 1320, 1328, 1336, 1344, 1352, 1360, 1368, 1376, 1384,
+        1392, 1400, 1408, 1416, -1,   -1,   -1,   -1,   1424, 1432, -1,
+        -1,   1440, 1448, 1456, -1,   -1,   -1,   -1,   -1,   -1};
 static constexpr dart::compiler::target::word AOT_ApiError_InstanceSize = 16;
 static constexpr dart::compiler::target::word AOT_Array_InstanceSize = 24;
 static constexpr dart::compiler::target::word AOT_Array_header_size = 24;
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
index 96e7750..4500d86 100644
--- a/runtime/vm/isolate.cc
+++ b/runtime/vm/isolate.cc
@@ -561,8 +561,6 @@
     // Now get a free Thread structure.
     ASSERT(thread != nullptr);
 
-    thread->ResetHighWatermark();
-
     // Set up other values and set the TLS value.
     thread->isolate_ = nullptr;
     thread->isolate_group_ = this;
@@ -3049,12 +3047,6 @@
     jsobj.AddProperty("rootLib", lib);
   }
 
-  intptr_t zone_handle_count = thread_registry()->CountZoneHandles(this);
-  intptr_t scoped_handle_count = thread_registry()->CountScopedHandles(this);
-
-  jsobj.AddProperty("_numZoneHandles", zone_handle_count);
-  jsobj.AddProperty("_numScopedHandles", scoped_handle_count);
-
   if (FLAG_profiler) {
     JSONObject tagCounters(&jsobj, "_tagCounters");
     vm_tag_counters()->PrintToJSONObject(&tagCounters);
@@ -3114,8 +3106,6 @@
     }
   }
 
-  jsobj.AddProperty("_threads", thread_registry());
-
   {
     JSONObject isolate_group(&jsobj, "isolate_group");
     group()->PrintToJSONObject(&isolate_group, /*ref=*/true);
diff --git a/runtime/vm/json_stream.cc b/runtime/vm/json_stream.cc
index 30142f5..adfc624 100644
--- a/runtime/vm/json_stream.cc
+++ b/runtime/vm/json_stream.cc
@@ -348,16 +348,6 @@
   isolate_group->PrintJSON(this, ref);
 }
 
-void JSONStream::PrintValue(ThreadRegistry* reg) {
-  PrintCommaIfNeeded();
-  reg->PrintJSON(this);
-}
-
-void JSONStream::PrintValue(Thread* thread) {
-  PrintCommaIfNeeded();
-  thread->PrintJSON(this);
-}
-
 void JSONStream::PrintValue(const TimelineEvent* timeline_event) {
   PrintCommaIfNeeded();
   timeline_event->PrintJSON(this);
@@ -408,16 +398,6 @@
   PrintValue(isolate);
 }
 
-void JSONStream::PrintProperty(const char* name, ThreadRegistry* reg) {
-  PrintPropertyName(name);
-  PrintValue(reg);
-}
-
-void JSONStream::PrintProperty(const char* name, Thread* thread) {
-  PrintPropertyName(name);
-  PrintValue(thread);
-}
-
 void JSONStream::PrintProperty(const char* name,
                                const TimelineEvent* timeline_event) {
   PrintPropertyName(name);
diff --git a/runtime/vm/json_stream.h b/runtime/vm/json_stream.h
index b563f5f..a00f266 100644
--- a/runtime/vm/json_stream.h
+++ b/runtime/vm/json_stream.h
@@ -205,8 +205,6 @@
   void PrintValue(MessageQueue* queue);
   void PrintValue(Isolate* isolate, bool ref = true);
   void PrintValue(IsolateGroup* isolate, bool ref = true);
-  void PrintValue(ThreadRegistry* reg);
-  void PrintValue(Thread* thread);
   void PrintValue(const TimelineEvent* timeline_event);
   void PrintValue(const TimelineEventBlock* timeline_event_block);
   void PrintValueVM(bool ref = true);
@@ -261,8 +259,6 @@
   void PrintProperty(const char* name, Metric* metric);
   void PrintProperty(const char* name, MessageQueue* queue);
   void PrintProperty(const char* name, Isolate* isolate);
-  void PrintProperty(const char* name, ThreadRegistry* reg);
-  void PrintProperty(const char* name, Thread* thread);
   void PrintProperty(const char* name, Zone* zone);
   void PrintProperty(const char* name, const TimelineEvent* timeline_event);
   void PrintProperty(const char* name,
@@ -377,12 +373,6 @@
   void AddProperty(const char* name, Isolate* isolate) const {
     stream_->PrintProperty(name, isolate);
   }
-  void AddProperty(const char* name, ThreadRegistry* reg) const {
-    stream_->PrintProperty(name, reg);
-  }
-  void AddProperty(const char* name, Thread* thread) const {
-    stream_->PrintProperty(name, thread);
-  }
   void AddProperty(const char* name, Zone* zone) const {
     stream_->PrintProperty(name, zone);
   }
@@ -443,8 +433,6 @@
   void AddValue(IsolateGroup* isolate_group, bool ref = true) const {
     stream_->PrintValue(isolate_group, ref);
   }
-  void AddValue(ThreadRegistry* reg) const { stream_->PrintValue(reg); }
-  void AddValue(Thread* thread) const { stream_->PrintValue(thread); }
   void AddValue(Breakpoint* bpt) const { stream_->PrintValue(bpt); }
   void AddValue(TokenPosition tp) const { stream_->PrintValue(tp); }
   void AddValue(const ServiceEvent* event) const { stream_->PrintValue(event); }
diff --git a/runtime/vm/thread.cc b/runtime/vm/thread.cc
index 4b9652c..04b895a 100644
--- a/runtime/vm/thread.cc
+++ b/runtime/vm/thread.cc
@@ -214,19 +214,6 @@
 #undef REUSABLE_HANDLE_ALLOCATION
 }
 
-#ifndef PRODUCT
-// Collect information about each individual zone associated with this thread.
-void Thread::PrintJSON(JSONStream* stream) const {
-  JSONObject jsobj(stream);
-  jsobj.AddProperty("type", "_Thread");
-  jsobj.AddPropertyF("id", "threads/%" Pd "",
-                     OSThread::ThreadIdToIntPtr(os_thread()->trace_id()));
-  jsobj.AddProperty("kind", TaskKindToCString(task_kind()));
-  jsobj.AddPropertyF("_zoneHighWatermark", "%" Pu "", zone_high_watermark());
-  jsobj.AddPropertyF("_zoneCapacity", "%" Pu "", current_zone_capacity());
-}
-#endif
-
 GrowableObjectArrayPtr Thread::pending_functions() {
   if (pending_functions_ == GrowableObjectArray::null()) {
     pending_functions_ = GrowableObjectArray::New(Heap::kOld);
diff --git a/runtime/vm/thread_registry.cc b/runtime/vm/thread_registry.cc
index 8ef9227..f4f6c45 100644
--- a/runtime/vm/thread_registry.cc
+++ b/runtime/vm/thread_registry.cc
@@ -95,45 +95,6 @@
   }
 }
 
-#ifndef PRODUCT
-void ThreadRegistry::PrintJSON(JSONStream* stream) const {
-  MonitorLocker ml(threads_lock());
-  JSONArray threads(stream);
-  Thread* current = active_list_;
-  while (current != NULL) {
-    threads.AddValue(current);
-    current = current->next_;
-  }
-}
-#endif
-
-intptr_t ThreadRegistry::CountZoneHandles(Isolate* isolate_of_interest) const {
-  MonitorLocker ml(threads_lock());
-  intptr_t count = 0;
-  Thread* current = active_list_;
-  while (current != NULL) {
-    if (current->isolate() == isolate_of_interest) {
-      count += current->CountZoneHandles();
-    }
-    current = current->next_;
-  }
-  return count;
-}
-
-intptr_t ThreadRegistry::CountScopedHandles(
-    Isolate* isolate_of_interest) const {
-  MonitorLocker ml(threads_lock());
-  intptr_t count = 0;
-  Thread* current = active_list_;
-  while (current != NULL) {
-    if (current->isolate() == isolate_of_interest) {
-      count += current->CountScopedHandles();
-    }
-    current = current->next_;
-  }
-  return count;
-}
-
 void ThreadRegistry::AddToActiveListLocked(Thread* thread) {
   ASSERT(thread != NULL);
   ASSERT(threads_lock()->IsOwnedByCurrentThread());
diff --git a/runtime/vm/thread_registry.h b/runtime/vm/thread_registry.h
index d8dc02e..e0c80a3 100644
--- a/runtime/vm/thread_registry.h
+++ b/runtime/vm/thread_registry.h
@@ -37,9 +37,6 @@
   void PrintJSON(JSONStream* stream) const;
 #endif
 
-  intptr_t CountZoneHandles(Isolate* isolate_of_interest) const;
-  intptr_t CountScopedHandles(Isolate* isolate_of_interest) const;
-
  private:
   Thread* active_list() const { return active_list_; }
   Monitor* threads_lock() const { return &threads_lock_; }
diff --git a/runtime/vm/thread_state.h b/runtime/vm/thread_state.h
index 90cd58e..58e57aa 100644
--- a/runtime/vm/thread_state.h
+++ b/runtime/vm/thread_state.h
@@ -50,9 +50,6 @@
 
   void IncrementMemoryCapacity(uintptr_t value) {
     current_zone_capacity_ += value;
-    if (current_zone_capacity_ > zone_high_watermark_) {
-      zone_high_watermark_ = current_zone_capacity_;
-    }
   }
 
   void DecrementMemoryCapacity(uintptr_t value) {
@@ -61,9 +58,6 @@
   }
 
   uintptr_t current_zone_capacity() const { return current_zone_capacity_; }
-  uintptr_t zone_high_watermark() const { return zone_high_watermark_; }
-
-  void ResetHighWatermark() { zone_high_watermark_ = current_zone_capacity_; }
 
   StackResource* top_resource() const { return top_resource_; }
   void set_top_resource(StackResource* value) { top_resource_ = value; }
@@ -101,7 +95,6 @@
   OSThread* os_thread_ = nullptr;
   Zone* zone_ = nullptr;
   uintptr_t current_zone_capacity_ = 0;
-  uintptr_t zone_high_watermark_ = 0;
   StackResource* top_resource_ = nullptr;
   LongJumpScope* long_jump_base_ = nullptr;
 
diff --git a/runtime/vm/thread_test.cc b/runtime/vm/thread_test.cc
index 95a0839..1640296 100644
--- a/runtime/vm/thread_test.cc
+++ b/runtime/vm/thread_test.cc
@@ -313,37 +313,6 @@
     done_count = 0;
   }
 
-  // Get the information for the current isolate.
-  // We only need to check the current isolate since all tasks are spawned
-  // inside this single isolate.
-  JSONStream stream;
-  isolate->PrintJSON(&stream, false);
-  const char* json = stream.ToCString();
-
-  Thread* current_thread = Thread::Current();
-
-  // Confirm all expected entries are in the JSON output.
-  for (intptr_t i = 0; i < kTaskCount; i++) {
-    Thread* thread = threads[i];
-    StackZone stack_zone(current_thread);
-    Zone* current_zone = current_thread->zone();
-
-    // Check the thread exists and is the correct size.
-    char* thread_info_buf = OS::SCreate(
-        current_zone,
-        "\"type\":\"_Thread\","
-        "\"id\":\"threads\\/%" Pd
-        "\","
-        "\"kind\":\"%s\","
-        "\"_zoneHighWatermark\":\"%" Pu
-        "\","
-        "\"_zoneCapacity\":\"%" Pu "\"",
-        OSThread::ThreadIdToIntPtr(thread->os_thread()->trace_id()),
-        Thread::TaskKindToCString(thread->task_kind()),
-        thread->zone_high_watermark(), thread->current_zone_capacity());
-    EXPECT_SUBSTRING(thread_info_buf, json);
-  }
-
   // Unblock the tasks so they can finish.
   {
     MonitorLocker sync_ml(&sync);
diff --git a/sdk/lib/_internal/vm/lib/array_patch.dart b/sdk/lib/_internal/vm/lib/array_patch.dart
index e935025..07d7e75 100644
--- a/sdk/lib/_internal/vm/lib/array_patch.dart
+++ b/sdk/lib/_internal/vm/lib/array_patch.dart
@@ -74,11 +74,8 @@
   // Factory constructing a mutable List from a parser generated List literal.
   // [elements] contains elements that are already type checked.
   @pragma("vm:entry-point", "call")
-  factory List._fromLiteral(List elements) {
-    if (elements.isEmpty) {
-      return new _GrowableList<E>(0);
-    }
-    final result = new _GrowableList<E>._withData(unsafeCast<_List>(elements));
+  factory List._fromLiteral(_List elements) {
+    final result = new _GrowableList<E>._withData(elements);
     result._setLength(elements.length);
     return result;
   }
diff --git a/tests/dart2js_2/native/native_library_same_name_used_frog_test.dart b/tests/dart2js/native/name_conflict_test.dart
similarity index 74%
copy from tests/dart2js_2/native/native_library_same_name_used_frog_test.dart
copy to tests/dart2js/native/name_conflict_test.dart
index 974bf07..555c78e 100644
--- a/tests/dart2js_2/native/native_library_same_name_used_frog_test.dart
+++ b/tests/dart2js/native/name_conflict_test.dart
@@ -2,14 +2,30 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-// @dart = 2.7
-
 // Test for correct hidden native class when abstract class has same name.
 
 library main;
 
+import 'dart:_js_helper';
+import 'dart:_foreign_helper' show JS;
+
 import 'native_testing.dart';
-import 'native_library_same_name_used_lib1.dart';
+
+// 'I' is the name of an abstract class and the name of the native class.
+
+abstract class I {
+  I read();
+  write(I x);
+}
+
+// Native impl has same name as abstract class.
+@Native("I")
+class Impl implements I {
+  Impl read() native;
+  write(I x) native;
+}
+
+makeI() => JS('creates:Impl; returns:I;', 'makeI()');
 
 void setup() {
   JS('', r"""
@@ -27,13 +43,13 @@
 // A pure Dart implementation of I.
 
 class ProxyI implements I {
-  ProxyI b;
+  ProxyI? b;
   ProxyI read() {
-    return b;
+    return b!;
   }
 
-  write(ProxyI x) {
-    b = x;
+  write(I x) {
+    b = x as ProxyI;
   }
 }
 
diff --git a/tests/dart2js/native/native_library_same_name_used_frog_test.dart b/tests/dart2js/native/native_library_same_name_used_frog_test.dart
deleted file mode 100644
index 4909b7f..0000000
--- a/tests/dart2js/native/native_library_same_name_used_frog_test.dart
+++ /dev/null
@@ -1,59 +0,0 @@
-// Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-// Test for correct hidden native class when abstract class has same name.
-
-library main;
-
-import 'native_testing.dart';
-import 'native_library_same_name_used_lib1.dart';
-
-void setup() {
-  JS('', r"""
-(function(){
-  // This code is all inside 'setup' and so not accessible from the global
-  // scope.
-  function I(){}
-  I.prototype.read = function() { return this._x; };
-  I.prototype.write = function(x) { this._x = x; };
-  makeI = function(){return new I()};
-  self.nativeConstructor(I);
-})()""");
-}
-
-// A pure Dart implementation of I.
-
-class ProxyI implements I {
-  ProxyI b;
-  ProxyI read() {
-    return b;
-  }
-
-  write(ProxyI x) {
-    b = x;
-  }
-}
-
-main() {
-  nativeTesting();
-  setup();
-
-  var a1 = makeI();
-  var a2 = makeI();
-  var b1 = new ProxyI();
-  var b2 = new ProxyI();
-  var ob = new Object();
-
-  Expect.isFalse(ob is I, 'ob is I');
-  Expect.isFalse(ob is ProxyI, 'ob is ProxyI');
-
-  Expect.isTrue(b1 is I, 'b1 is I');
-  Expect.isTrue(b1 is ProxyI, 'b1 is ProxyI');
-
-  Expect.isTrue(a1 is I, 'a1 is I');
-  Expect.isFalse(a1 is ProxyI, 'a1 is ProxyI');
-
-  Expect.isTrue(confuse(a1) is I, 'a1 is I');
-  Expect.isFalse(confuse(a1) is ProxyI, 'a1 is ProxyI');
-}
diff --git a/tests/dart2js/native/native_library_same_name_used_lib1.dart b/tests/dart2js/native/native_library_same_name_used_lib1.dart
deleted file mode 100644
index 5046ff7..0000000
--- a/tests/dart2js/native/native_library_same_name_used_lib1.dart
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-// 'I' is the name of an abstract class and the name of the native class.
-
-library native_library_same_name_used_lib1;
-
-import 'native_library_same_name_used_lib2.dart';
-import 'dart:_foreign_helper' show JS;
-
-abstract class I {
-  I read();
-  write(I x);
-}
-
-makeI() => JS('creates:Impl; returns:I;', 'makeI()');
diff --git a/tests/dart2js/native/native_library_same_name_used_lib2.dart b/tests/dart2js/native/native_library_same_name_used_lib2.dart
deleted file mode 100644
index feec6bb..0000000
--- a/tests/dart2js/native/native_library_same_name_used_lib2.dart
+++ /dev/null
@@ -1,17 +0,0 @@
-// Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-// Native implementation.
-
-library lib2;
-
-import 'native_library_same_name_used_lib1.dart'; // To get abstract class I.
-import 'dart:_js_helper';
-
-// Native impl has same name as abstract class.
-@Native("I")
-class Impl implements I {
-  Impl read() native;
-  write(Impl x) native;
-}
diff --git a/tests/dart2js_2/native/native_library_same_name_used_frog_test.dart b/tests/dart2js_2/native/name_conflict_test.dart
similarity index 77%
rename from tests/dart2js_2/native/native_library_same_name_used_frog_test.dart
rename to tests/dart2js_2/native/name_conflict_test.dart
index 974bf07..d39bf3b 100644
--- a/tests/dart2js_2/native/native_library_same_name_used_frog_test.dart
+++ b/tests/dart2js_2/native/name_conflict_test.dart
@@ -8,8 +8,26 @@
 
 library main;
 
+import 'dart:_js_helper';
+import 'dart:_foreign_helper' show JS;
+
 import 'native_testing.dart';
-import 'native_library_same_name_used_lib1.dart';
+
+// 'I' is the name of an abstract class and the name of the native class.
+
+abstract class I {
+  I read();
+  write(I x);
+}
+
+// Native impl has same name as abstract class.
+@Native("I")
+class Impl implements I {
+  Impl read() native;
+  write(I x) native;
+}
+
+makeI() => JS('creates:Impl; returns:I;', 'makeI()');
 
 void setup() {
   JS('', r"""
@@ -32,7 +50,7 @@
     return b;
   }
 
-  write(ProxyI x) {
+  write(I x) {
     b = x;
   }
 }
diff --git a/tests/dart2js_2/native/native_library_same_name_used_lib1.dart b/tests/dart2js_2/native/native_library_same_name_used_lib1.dart
deleted file mode 100644
index 9e21adf..0000000
--- a/tests/dart2js_2/native/native_library_same_name_used_lib1.dart
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-// @dart = 2.7
-
-// 'I' is the name of an abstract class and the name of the native class.
-
-library native_library_same_name_used_lib1;
-
-import 'native_library_same_name_used_lib2.dart';
-import 'dart:_foreign_helper' show JS;
-
-abstract class I {
-  I read();
-  write(I x);
-}
-
-makeI() => JS('creates:Impl; returns:I;', 'makeI()');
diff --git a/tests/dart2js_2/native/native_library_same_name_used_lib2.dart b/tests/dart2js_2/native/native_library_same_name_used_lib2.dart
deleted file mode 100644
index bec6852..0000000
--- a/tests/dart2js_2/native/native_library_same_name_used_lib2.dart
+++ /dev/null
@@ -1,19 +0,0 @@
-// Copyright (c) 2011, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-// @dart = 2.7
-
-// Native implementation.
-
-library lib2;
-
-import 'native_library_same_name_used_lib1.dart'; // To get abstract class I.
-import 'dart:_js_helper';
-
-// Native impl has same name as abstract class.
-@Native("I")
-class Impl implements I {
-  Impl read() native;
-  write(Impl x) native;
-}
diff --git a/tools/VERSION b/tools/VERSION
index c30eba8..aa43b14 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 12
 PATCH 0
-PRERELEASE 130
+PRERELEASE 131
 PRERELEASE_PATCH 0
\ No newline at end of file