Revert "[BUILD] - Initial CL to unfork the NNBD Dart SDK"

This reverts commit cab69e77066b0db305187fd6e618a4f524ae9efd.

Reason for revert: It was a temporary submit

Original change's description:
> [BUILD] - Initial CL to unfork the NNBD Dart SDK
> NOTE: This is a trial submit and will be reverted immediately.
> 
> - Flips the flag from --nnbd to --no-nnbd so that by default it builds
>   the NNBD version
> - using the --no-nnbd flag results in the SDK being built in a
>   directory which has the 'Legacy' suffix added to it
>   (e.g: out/DebugX64Legacy)
> - the '--enable-experiment=non-nullable' flag still needs to be passed
>   in during execution so that CFE runs in that mode. This is different
>   from the 'null_safety' flag
> 
> Change-Id: I7d25d9710818af5919c0bb83abe51153172f5886
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144880
> Reviewed-by: Siva Annamalai <asiva@google.com>

TBR=asiva@google.com

Change-Id: Ib0f99fc1a42c9c7a8b21f8542f4a35dba9105d5c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144900
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
diff --git a/BUILD.gn b/BUILD.gn
index b7f3457..dc28b54 100644
--- a/BUILD.gn
+++ b/BUILD.gn
@@ -74,13 +74,13 @@
   ]
 }
 
-if (dont_use_nnbd) {
+if (use_nnbd) {
   group("create_sdk") {
-    public_deps = [ "sdk:create_sdk" ]
+    public_deps = [ "sdk_nnbd:create_sdk" ]
   }
 } else {
   group("create_sdk") {
-    public_deps = [ "sdk_nnbd:create_sdk" ]
+    public_deps = [ "sdk:create_sdk" ]
   }
 }
 
diff --git a/pkg/dartdev/test/commands/migrate_test.dart b/pkg/dartdev/test/commands/migrate_test.dart
index c5f8882..c3d2c97 100644
--- a/pkg/dartdev/test/commands/migrate_test.dart
+++ b/pkg/dartdev/test/commands/migrate_test.dart
@@ -11,7 +11,9 @@
   group('migrate', defineMigrateTests, timeout: longTimeout);
 }
 
-bool _nnbdIsEnabled = true;
+// TODO(jcollins-g): Set to true and/or remove when when NNBD is enabled in the
+//  SDK running this test.
+bool _nnbdIsEnabled = false;
 
 void defineMigrateTests() {
   final didYouForgetToRunPubGet = contains('Did you forget to run "pub get"?');
diff --git a/pkg/dev_compiler/test/modular_suite.dart b/pkg/dev_compiler/test/modular_suite.dart
index 2452fa1..573238d 100644
--- a/pkg/dev_compiler/test/modular_suite.dart
+++ b/pkg/dev_compiler/test/modular_suite.dart
@@ -75,12 +75,7 @@
     List<String> extraArgs;
     if (module.isSdk) {
       sources = ['dart:core'];
-      extraArgs = [
-        '--libraries-file',
-        '$rootScheme:///sdk_nnbd/lib/libraries.json',
-        '--enable-experiment',
-        'non-nullable',
-      ];
+      extraArgs = ['--libraries-file', '$rootScheme:///sdk/lib/libraries.json'];
       assert(transitiveDependencies.isEmpty);
     } else {
       sources = module.sources.map(sourceToImportUri).toList();
@@ -154,13 +149,7 @@
     List<String> extraArgs;
     if (module.isSdk) {
       sources = ['dart:core'];
-      extraArgs = [
-        '--compile-sdk',
-        '--libraries-file',
-        '$rootScheme:///sdk_nnbd/lib/libraries.json',
-        '--enable-experiment',
-        'non-nullable',
-      ];
+      extraArgs = ['--compile-sdk'];
       assert(transitiveDependencies.isEmpty);
     } else {
       var sdkModule = module.dependencies.firstWhere((m) => m.isSdk);
@@ -240,8 +229,6 @@
     var runjs = '''
     import { dart, _isolate_helper } from 'dart_sdk.js';
     import { main } from 'main.js';
-    // Run with weak null safety.
-    dart.strictSubtypeChecks(false);
     _isolate_helper.startRootIsolate(() => {}, []);
     main.main();
     ''';
diff --git a/pkg/test_runner/lib/src/configuration.dart b/pkg/test_runner/lib/src/configuration.dart
index dfc966e..239ffcd 100644
--- a/pkg/test_runner/lib/src/configuration.dart
+++ b/pkg/test_runner/lib/src/configuration.dart
@@ -468,6 +468,15 @@
     var normal = '$result$arch';
     var cross = '${result}X$arch';
 
+    // TODO(38701): When enabling the NNBD experiment, we need to use the
+    // forked version of the SDK core libraries that have NNBD support. Remove
+    // this once the forked SDK at `<repo>/sdk_nnbd` has been merged back with
+    // `<repo>/sdk`.
+    if (experiments.contains("non-nullable")) {
+      normal += "NNBD";
+      cross += "NNBD";
+    }
+
     var outDir = system.outputDirectory;
     var normalDir = Directory(Path('$outDir$normal').toNativePath());
     var crossDir = Directory(Path('$outDir$cross').toNativePath());
diff --git a/pkg/vm/testcases/bytecode/bootstrapping.dart.expect b/pkg/vm/testcases/bytecode/bootstrapping.dart.expect
index 8fbd06a..6f5d2ad 100644
--- a/pkg/vm/testcases/bytecode/bootstrapping.dart.expect
+++ b/pkg/vm/testcases/bytecode/bootstrapping.dart.expect
@@ -259,46 +259,6 @@
   [1] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class '_NamespaceImpl', script = '#lib'
     extends dart:core::Object
     implements [#lib::_Namespace]
@@ -452,46 +412,6 @@
   [3] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class '_Namespace', script = '#lib'
     extends dart:core::Object
 
@@ -565,46 +485,6 @@
   [1] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'VMLibraryHooks', script = '#lib'
     extends dart:core::Object
 
@@ -705,46 +585,6 @@
   [3] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'Stdin', script = '#lib'
     extends dart:core::Object
 
@@ -767,46 +607,6 @@
   [1] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class '_StdIOUtils', script = '#lib'
     extends dart:core::Object
 
@@ -844,46 +644,6 @@
 }
 
 
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
-
 }
 ]library #lib from "#lib" as #lib {
 
@@ -893,16 +653,6 @@
     synthetic constructor •() → #lib::_ScheduleImmediate*
       : super dart.core::Object::•()
       ;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class _NamespaceImpl extends dart.core::Object implements #lib::_Namespace {
     static field #lib::_NamespaceImpl* _cachedNamespace = null;
@@ -919,23 +669,13 @@
       #lib::_NamespaceImpl::_cachedNamespace = #lib::_NamespaceImpl::_create(new #lib::_NamespaceImpl::_(), namespace);
     }
     static get _namespace() → #lib::_NamespaceImpl* {
-      if(#lib::_NamespaceImpl::_cachedNamespace.{#lib::_NamespaceImpl::==}(null)) {
+      if(#lib::_NamespaceImpl::_cachedNamespace.{dart.core::Object::==}(null)) {
         #lib::_NamespaceImpl::_cachedNamespace = #lib::_NamespaceImpl::_create(new #lib::_NamespaceImpl::_(), #lib::_NamespaceImpl::_getDefault());
       }
       return #lib::_NamespaceImpl::_cachedNamespace;
     }
     static get _namespacePointer() → dart.core::int*
       return #lib::_NamespaceImpl::_getPointer(#lib::_NamespaceImpl::_namespace);
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class _Namespace extends dart.core::Object {
     synthetic constructor •() → #lib::_Namespace*
@@ -948,16 +688,6 @@
       return #lib::_NamespaceImpl::_namespace;
     static get _namespacePointer() → dart.core::int*
       return #lib::_NamespaceImpl::_namespacePointer;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class VMLibraryHooks extends dart.core::Object {
     static field dynamic timerFactory = null;
@@ -984,31 +714,11 @@
       }
       return #lib::VMLibraryHooks::_cachedScript;
     }
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class Stdin extends dart.core::Object {
     synthetic constructor •() → #lib::Stdin*
       : super dart.core::Object::•()
       ;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class _StdIOUtils extends dart.core::Object {
     synthetic constructor •() → #lib::_StdIOUtils*
@@ -1016,16 +726,6 @@
       ;
     static method _getStdioInputStream(dart.core::int* fd) → #lib::Stdin*
       return null;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   static field dart.core::int* _stdinFD = 0;
   static field dart.core::int* _stdoutFD = 1;
@@ -1059,7 +759,7 @@
     #lib::VMLibraryHooks::platformScript = #C10;
   }
   static get stdin() → #lib::Stdin* {
-    #lib::_stdin.{#lib::Stdin::==}(null) ?{#lib::Stdin*} #lib::_stdin = #lib::_StdIOUtils::_getStdioInputStream(#lib::_stdinFD) : null;
+    #lib::_stdin.{dart.core::Object::==}(null) ?{#lib::Stdin*} #lib::_stdin = #lib::_StdIOUtils::_getStdioInputStream(#lib::_stdinFD) : null;
     return #lib::_stdin;
   }
   static method main() → dynamic {}
diff --git a/pkg/vm/testcases/bytecode/closures.dart.expect b/pkg/vm/testcases/bytecode/closures.dart.expect
index 2b004ef..675d337d 100644
--- a/pkg/vm/testcases/bytecode/closures.dart.expect
+++ b/pkg/vm/testcases/bytecode/closures.dart.expect
@@ -383,46 +383,6 @@
   [1] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'C2', script = '#lib'
     extends dart:core::Object
 
@@ -445,46 +405,6 @@
   [1] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'C3', script = '#lib'
     extends dart:core::Object
 
@@ -507,46 +427,6 @@
   [1] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'C4', script = '#lib'
     extends dart:core::Object
 
@@ -569,46 +449,6 @@
   [1] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'C5', script = '#lib'
     extends dart:core::Object
 
@@ -631,46 +471,6 @@
   [1] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'C6', script = '#lib'
     extends dart:core::Object
 
@@ -693,46 +493,6 @@
   [1] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'C7', script = '#lib'
     extends dart:core::Object
 
@@ -755,46 +515,6 @@
   [1] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'C8', script = '#lib'
     extends dart:core::Object
 
@@ -817,46 +537,6 @@
   [1] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'A', script = '#lib'
     type-params <dart:core::Object T1, dart:core::Object T2> (args: 2)
     extends dart:core::Object
@@ -1166,46 +846,6 @@
   ReturnTOS
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'B', script = '#lib'
     extends dart:core::Object
 
@@ -1461,46 +1101,6 @@
   ReturnTOS
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'C', script = '#lib'
     extends dart:core::Object
 
@@ -1780,46 +1380,6 @@
   ReturnTOS
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'D', script = '#lib'
     type-params <dart:core::Object T> (args: 1)
     extends dart:core::Object
@@ -2005,46 +1565,6 @@
   ReturnTOS
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'E', script = '#lib', abstract
     extends dart:core::Object
 
@@ -2195,46 +1715,6 @@
 }
 
 
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
-
 }
 ]library #lib from "#lib" as #lib {
 
@@ -2243,121 +1723,41 @@
     synthetic constructor •() → #lib::C1*
       : super dart.core::Object::•()
       ;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class C2 extends dart.core::Object {
     synthetic constructor •() → #lib::C2*
       : super dart.core::Object::•()
       ;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class C3 extends dart.core::Object {
     synthetic constructor •() → #lib::C3*
       : super dart.core::Object::•()
       ;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class C4 extends dart.core::Object {
     synthetic constructor •() → #lib::C4*
       : super dart.core::Object::•()
       ;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class C5 extends dart.core::Object {
     synthetic constructor •() → #lib::C5*
       : super dart.core::Object::•()
       ;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class C6 extends dart.core::Object {
     synthetic constructor •() → #lib::C6*
       : super dart.core::Object::•()
       ;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class C7 extends dart.core::Object {
     synthetic constructor •() → #lib::C7*
       : super dart.core::Object::•()
       ;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class C8 extends dart.core::Object {
     synthetic constructor •() → #lib::C8*
       : super dart.core::Object::•()
       ;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class A<T1 extends dart.core::Object* = dynamic, T2 extends dart.core::Object* = dynamic> extends dart.core::Object {
     synthetic constructor •() → #lib::A<#lib::A::T1*, #lib::A::T2*>*
@@ -2378,16 +1778,6 @@
       [@vm.call-site-attributes.metadata=receiverType:FunctionType(void Function<T5, T6>()*)] nested1.call<#lib::C5*, #lib::C6*>();
       [@vm.call-site-attributes.metadata=receiverType:FunctionType(void Function<T5, T6>()*)] nested1.call<dart.core::List<#lib::C5*>*, dart.core::List<#lib::C6*>*>();
     }
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class B extends dart.core::Object {
     field dart.core::int* foo = null;
@@ -2427,16 +1817,6 @@
         [@vm.call-site-attributes.metadata=receiverType:FunctionType(Null? Function()*)] closure3.call();
       }
     }
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class C extends dart.core::Object {
     synthetic constructor •() → #lib::C*
@@ -2468,16 +1848,6 @@
         }
       }
     }
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class D<T extends dart.core::Object* = dynamic> extends dart.core::Object {
     synthetic constructor •() → #lib::D<#lib::D::T*>*
@@ -2492,16 +1862,6 @@
         [@vm.call-site-attributes.metadata=receiverType:FunctionType(Null? Function()*)] inner.call();
       };
     }
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   abstract class E extends dart.core::Object {
     field (dart.core::int*, dart.core::int*) →* dart.core::int* foo1 = null;
@@ -2518,16 +1878,6 @@
       return let final dart.core::int* #t3 = this.{#lib::E::evalArg1}() in let final dart.core::int* #t4 = this.{#lib::E::evalArg2}() in [@vm.call-site-attributes.metadata=receiverType:FunctionType(int* Function<T>(T*, T*)*)] this.{#lib::E::foo2}.call<dart.core::int*>(#t3, #t4);
     method testCallThroughGetter3() → dart.core::int*
       return let final #lib::E* #t5 = this.{#lib::E::getE}() in let final dart.core::int* #t6 = this.{#lib::E::evalArg1}() in let final dart.core::int* #t7 = this.{#lib::E::evalArg2}() in [@vm.call-site-attributes.metadata=receiverType:FunctionType(int* Function<T>(T*, T*)*)] #t5.{#lib::E::foo2}.call<dart.core::int*>(#t6, #t7);
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   static method simpleClosure() → dart.core::int* {
     dart.core::int* x = 5;
diff --git a/pkg/vm/testcases/bytecode/field_initializers.dart.expect b/pkg/vm/testcases/bytecode/field_initializers.dart.expect
index 7e0795c..ce083da 100644
--- a/pkg/vm/testcases/bytecode/field_initializers.dart.expect
+++ b/pkg/vm/testcases/bytecode/field_initializers.dart.expect
@@ -159,46 +159,6 @@
   [1] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'B', script = '#lib'
     extends #lib::A
 
@@ -286,16 +246,6 @@
     constructor redirecting2(dart.core::int* a, dart.core::int* b, dart.core::int* c) → #lib::A*
       : this #lib::A::constr2(a, b.{dart.core::num::*}(c))
       ;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class B extends #lib::A {
     field dart.core::int* foo6 = 46;
diff --git a/pkg/vm/testcases/bytecode/instance_creation.dart.expect b/pkg/vm/testcases/bytecode/instance_creation.dart.expect
index 26b018c..b3d07d01 100644
--- a/pkg/vm/testcases/bytecode/instance_creation.dart.expect
+++ b/pkg/vm/testcases/bytecode/instance_creation.dart.expect
@@ -280,46 +280,6 @@
   [10] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'A', script = '#lib'
     extends #lib::Base < dart:core::int, dart:core::String >
 
@@ -432,46 +392,6 @@
   [6] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'E', script = '#lib'
     type-params <dart:core::Object K, dart:core::Object V> (args: 2)
     extends dart:core::Object
@@ -514,46 +434,6 @@
   [2] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'F', script = '#lib'
     type-params <dart:core::Object K, dart:core::Object V> (args: 4)
     extends #lib::E < dart:core::String, dart:core::List < #lib::F::TypeParam/1 > >
@@ -646,46 +526,6 @@
   [3] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'H', script = '#lib'
     type-params <dart:core::Object P1, dart:core::Object P2, dart:core::Object P3> (args: 5)
     extends #lib::G < #lib::H::TypeParam/1, #lib::H::TypeParam/2 >
@@ -758,46 +598,6 @@
   [4] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'J', script = '#lib'
     extends dart:core::Object
 
@@ -817,46 +617,6 @@
   [0] = NativeEntry agent_J
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'K', script = '#lib', abstract
     type-params <dart:core::Object A, dart:core::Object B> (args: 2)
     extends dart:core::Object
@@ -885,46 +645,6 @@
   [2] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'TestTypeArgReuse', script = '#lib'
     type-params <dart:core::Object P, dart:core::Object Q> (args: 2)
     extends #lib::Base < #lib::TestTypeArgReuse::TypeParam/0, #lib::TestTypeArgReuse::TypeParam/1 >
@@ -960,16 +680,6 @@
       : super dart.core::Object::•() {
       dart.core::print("Base: ${#lib::Base::T1*}, ${#lib::Base::T2*}");
     }
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class A extends #lib::Base<dart.core::int*, dart.core::String*> {
     constructor •(dart.core::String* s) → #lib::A*
@@ -987,16 +697,6 @@
       : super dart.core::Object::•() {
       dart.core::print("C: ${s}");
     }
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class E<K extends dart.core::Object* = dynamic, V extends dart.core::Object* = dynamic> extends dart.core::Object {
     synthetic constructor •() → #lib::E<#lib::E::K*, #lib::E::V*>*
@@ -1004,16 +704,6 @@
       ;
     method test_reuse1() → dynamic
       return dart.core::Map::•<#lib::E::K*, #lib::E::V*>();
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class F<K extends dart.core::Object* = dynamic, V extends dart.core::Object* = dynamic> extends #lib::E<dart.core::String*, dart.core::List<#lib::F::V*>*> {
     synthetic constructor •() → #lib::F<#lib::F::K*, #lib::F::V*>*
@@ -1028,16 +718,6 @@
       ;
     static factory test_factory<K extends dart.core::Object* = dynamic, V extends dart.core::Object* = dynamic>() → #lib::G<#lib::G::test_factory::K*, #lib::G::test_factory::V*>*
       return new #lib::H::•<dart.core::String*, #lib::G::test_factory::K*, #lib::G::test_factory::V*>();
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class H<P1 extends dart.core::Object* = dynamic, P2 extends dart.core::Object* = dynamic, P3 extends dart.core::Object* = dynamic> extends #lib::G<#lib::H::P2*, #lib::H::P3*> {
     synthetic constructor •() → #lib::H<#lib::H::P1*, #lib::H::P2*, #lib::H::P3*>*
@@ -1050,44 +730,14 @@
       ;
     static factory test_factory2({dynamic param = #C1}) → #lib::I*
       return new #lib::I::•(param);
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class J extends dart.core::Object {
     @#C3
     external static factory •() → #lib::J*;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   abstract class K<A extends dart.core::Object* = dynamic, B extends dart.core::Object* = dynamic> extends dart.core::Object {
     static factory •<A extends dart.core::Object* = dynamic, B extends dart.core::Object* = dynamic>() → #lib::K<#lib::K::•::A*, #lib::K::•::B*>*
       return new #lib::TestTypeArgReuse::•<#lib::K::•::A*, #lib::K::•::B*>();
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class TestTypeArgReuse<P extends dart.core::Object* = dynamic, Q extends dart.core::Object* = dynamic> extends #lib::Base<#lib::TestTypeArgReuse::P*, #lib::TestTypeArgReuse::Q*> implements #lib::K<#lib::TestTypeArgReuse::P*, #lib::TestTypeArgReuse::Q*> {
     synthetic constructor •() → #lib::TestTypeArgReuse<#lib::TestTypeArgReuse::P*, #lib::TestTypeArgReuse::Q*>*
diff --git a/pkg/vm/testcases/bytecode/literals.dart.expect b/pkg/vm/testcases/bytecode/literals.dart.expect
index be92e6d..316e2e4 100644
--- a/pkg/vm/testcases/bytecode/literals.dart.expect
+++ b/pkg/vm/testcases/bytecode/literals.dart.expect
@@ -530,42 +530,6 @@
   [1] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'B', script = '#lib'
     extends dart:core::Object
 
@@ -595,46 +559,6 @@
   [3] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'C', script = '#lib'
     extends #lib::B
 
@@ -709,46 +633,6 @@
   [6] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'E', script = '#lib'
     type-params <dart:core::Object T> (args: 1)
     extends dart:core::Object
@@ -772,46 +656,6 @@
   [1] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'F', script = '#lib'
     type-params <dart:core::Object P, dart:core::Object Q> (args: 3)
     extends #lib::E < dart:core::Map < #lib::F::TypeParam/0, #lib::F::TypeParam/1 > >
@@ -853,31 +697,12 @@
       ;
     method toString() → dart.core::String*
       return this.{=#lib::A::_name};
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class B extends dart.core::Object /*hasConstConstructor*/  {
     final field dart.core::int* i;
     const constructor •(dart.core::int* i) → #lib::B*
       : #lib::B::i = i, super dart.core::Object::•()
       ;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class C extends #lib::B /*hasConstConstructor*/  {
     final field dart.core::int* j;
@@ -891,31 +716,11 @@
     const constructor •(dynamic x, [dynamic y = #C14]) → #lib::D*
       : #lib::D::x = x, #lib::D::y = y, super dart.core::Object::•()
       ;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class E<T extends dart.core::Object* = dynamic> extends dart.core::Object /*hasConstConstructor*/  {
     const constructor •() → #lib::E<#lib::E::T*>*
       : super dart.core::Object::•()
       ;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class F<P extends dart.core::Object* = dynamic, Q extends dart.core::Object* = dynamic> extends #lib::E<dart.core::Map<#lib::F::P*, #lib::F::Q*>*> /*hasConstConstructor*/  {
     const constructor •() → #lib::F<#lib::F::P*, #lib::F::Q*>*
diff --git a/pkg/vm/testcases/bytecode/loops.dart.expect b/pkg/vm/testcases/bytecode/loops.dart.expect
index 4b4932f..524ae14 100644
--- a/pkg/vm/testcases/bytecode/loops.dart.expect
+++ b/pkg/vm/testcases/bytecode/loops.dart.expect
@@ -26,13 +26,12 @@
   Push                 r1
   Push                 FP[-5]
   InterfaceCall        CP#0, 1
-  InterfaceCall        CP#2, 2
-  AssertBoolean        0
+  CompareIntLt
   JumpIfFalse          L1
   Push                 r0
   Push                 FP[-5]
   Push                 r1
-  InterfaceCall        CP#4, 2
+  InterfaceCall        CP#2, 2
   AddInt
   PopLocal             r0
   Push                 r1
@@ -48,10 +47,8 @@
 ConstantPool {
   [0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names []
   [1] = Reserved
-  [2] = InterfaceCall 'dart:core::num::<', ArgDesc num-args 2, num-type-args 0, names []
+  [2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
   [3] = Reserved
-  [4] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
-  [5] = Reserved
 }
 
 
@@ -75,15 +72,14 @@
   Push                 r1
   Push                 FP[-5]
   InterfaceCall        CP#0, 1
-  InterfaceCall        CP#2, 2
-  AssertBoolean        0
+  CompareIntGe
   JumpIfFalse          L2
   Jump                 L1
 L2:
   Push                 r0
   Push                 FP[-5]
   Push                 r1
-  InterfaceCall        CP#4, 2
+  InterfaceCall        CP#2, 2
   AddInt
   PopLocal             r0
   Push                 r1
@@ -99,10 +95,8 @@
 ConstantPool {
   [0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names []
   [1] = Reserved
-  [2] = InterfaceCall 'dart:core::num::>=', ArgDesc num-args 2, num-type-args 0, names []
+  [2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
   [3] = Reserved
-  [4] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
-  [5] = Reserved
 }
 
 
@@ -123,8 +117,7 @@
   Push                 r1
   Push                 FP[-5]
   InterfaceCall        CP#0, 1
-  InterfaceCall        CP#2, 2
-  AssertBoolean        0
+  CompareIntLt
   JumpIfFalse          L1
   Push                 r1
   PushInt              0
@@ -135,7 +128,7 @@
   Push                 r0
   Push                 FP[-5]
   Push                 r1
-  InterfaceCall        CP#4, 2
+  InterfaceCall        CP#2, 2
   AddInt
   PopLocal             r0
 L3:
@@ -152,10 +145,8 @@
 ConstantPool {
   [0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names []
   [1] = Reserved
-  [2] = InterfaceCall 'dart:core::num::<', ArgDesc num-args 2, num-type-args 0, names []
+  [2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
   [3] = Reserved
-  [4] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
-  [5] = Reserved
 }
 
 
@@ -175,8 +166,7 @@
   Push                 r1
   Push                 FP[-5]
   InterfaceCall        CP#0, 1
-  InterfaceCall        CP#2, 2
-  AssertBoolean        0
+  CompareIntLt
   JumpIfFalse          L1
   Push                 r0
   Push                 FP[-5]
@@ -188,7 +178,7 @@
   StoreLocal           r1
   PopLocal             r3
   Push                 r2
-  InterfaceCall        CP#4, 2
+  InterfaceCall        CP#2, 2
   AddInt
   PopLocal             r0
   Jump                 L2
@@ -199,10 +189,8 @@
 ConstantPool {
   [0] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names []
   [1] = Reserved
-  [2] = InterfaceCall 'dart:core::num::<', ArgDesc num-args 2, num-type-args 0, names []
+  [2] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
   [3] = Reserved
-  [4] = InterfaceCall 'dart:core::List::[]', ArgDesc num-args 2, num-type-args 0, names []
-  [5] = Reserved
 }
 
 
@@ -232,8 +220,7 @@
   Push                 r1
   Push                 FP[-5]
   InterfaceCall        CP#2, 1
-  InterfaceCall        CP#4, 2
-  AssertBoolean        0
+  CompareIntLt
   JumpIfTrue           L1
   Push                 r0
   ReturnTOS
@@ -243,8 +230,6 @@
   [1] = Reserved
   [2] = InterfaceCall 'dart:core::List::get:length', ArgDesc num-args 1, num-type-args 0, names []
   [3] = Reserved
-  [4] = InterfaceCall 'dart:core::num::<', ArgDesc num-args 2, num-type-args 0, names []
-  [5] = Reserved
 }
 
 
diff --git a/pkg/vm/testcases/bytecode/super_calls.dart.expect b/pkg/vm/testcases/bytecode/super_calls.dart.expect
index 181a7cb..d872423 100644
--- a/pkg/vm/testcases/bytecode/super_calls.dart.expect
+++ b/pkg/vm/testcases/bytecode/super_calls.dart.expect
@@ -89,46 +89,6 @@
 ConstantPool {
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'A', script = '#lib'
     extends #lib::Base1
 
@@ -286,46 +246,6 @@
 Function 'set:bazz', setter, abstract, reflectable, debuggable
     parameters [dart:core::int 'x'] (required: 1)
     return-type void
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'B', script = '#lib', abstract
     extends #lib::Base2
 
@@ -562,16 +482,6 @@
     get bar() → dynamic
       return 42;
     set bazz(dart.core::int* x) → void {}
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class A extends #lib::Base1 {
     synthetic constructor •() → #lib::A*
@@ -596,16 +506,6 @@
     abstract method foo<T extends dart.core::Object* = dynamic>(dart.core::String* a1, #lib::Base2::foo::T* a2, dart.core::int* a3) → void;
     abstract get bar() → dynamic;
     abstract set bazz(dart.core::int* x) → void;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   abstract class B extends #lib::Base2 {
     synthetic constructor •() → #lib::B*
diff --git a/pkg/vm/testcases/bytecode/type_ops.dart.expect b/pkg/vm/testcases/bytecode/type_ops.dart.expect
index 0e65d25..8c81f4d 100644
--- a/pkg/vm/testcases/bytecode/type_ops.dart.expect
+++ b/pkg/vm/testcases/bytecode/type_ops.dart.expect
@@ -123,46 +123,6 @@
   [1] = Reserved
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'B', script = '#lib'
     extends #lib::A < dart:core::String >
 
@@ -472,46 +432,6 @@
   [4] = ObjectRef 'T'
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'F', script = '#lib', abstract
     type-params <dart:core::Object T> (args: 1)
     extends dart:core::Object
@@ -545,46 +465,6 @@
     type-params <#lib::F::TypeParam/0 Q>
     parameters [#lib::F::foo8::TypeParam/0 'a', dart:core::num 'b', #lib::F::TypeParam/0 'c'] (required: 3)
     return-type void
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'G', script = '#lib'
     type-params <dart:core::Object T> (args: 1)
     extends dart:core::Object
@@ -655,46 +535,6 @@
   [6] = ObjectRef < #lib::G::TypeParam/0 >
 }
 
-
-Function 'get:_identityHashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function '_instanceOf', abstract, debuggable
-    parameters [dynamic 'instantiatorTypeArguments', dynamic 'functionTypeArguments', dynamic 'type'] (required: 3)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOf', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfTrue', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '_simpleInstanceOfFalse', abstract, debuggable
-    parameters [dynamic 'type'] (required: 1)
-    return-type dart:core::bool
-
-Function '==', abstract, debuggable
-    parameters [dynamic 'other'] (required: 1)
-    return-type dart:core::bool
-
-Function 'get:hashCode', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::int
-
-Function 'toString', abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::String
-
-Function 'noSuchMethod', abstract, debuggable
-    parameters [dart:core::Invocation 'invocation'] (required: 1)
-    return-type dynamic
-
-Function 'get:runtimeType', getter, abstract, debuggable
-    parameters [] (required: 0)
-    return-type dart:core::Type
 Class 'H', script = '#lib'
     type-params <dart:core::Object T> (args: 1)
     extends #lib::G < #lib::H::TypeParam/0 >
@@ -843,16 +683,6 @@
     synthetic constructor •() → #lib::A<#lib::A::T*>*
       : super dart.core::Object::•()
       ;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class B extends #lib::A<dart.core::String*> {
     synthetic constructor •() → #lib::B*
@@ -896,16 +726,6 @@
     static factory •<P extends dart.core::String* = dynamic>() → #lib::E<#lib::E::•::P*>*
       return null;
     method foo6<generic-covariant-impl T extends #lib::E::P* = #lib::E::P*, U extends dart.core::List<#lib::E::foo6::T*>* = dart.core::List<#lib::E::P*>*>(dart.core::Map<#lib::E::foo6::T*, #lib::E::foo6::U*>* map) → void {}
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   abstract class F<T extends dart.core::Object* = dynamic> extends dart.core::Object {
     synthetic constructor •() → #lib::F<#lib::F::T*>*
@@ -913,32 +733,12 @@
       ;
     abstract method foo7<generic-covariant-impl Q extends #lib::F::T* = #lib::F::T*>(#lib::F::foo7::Q* a, covariant dart.core::num* b, generic-covariant-impl #lib::F::T* c) → void;
     abstract method foo8<generic-covariant-impl Q extends #lib::F::T* = #lib::F::T*>(#lib::F::foo8::Q* a, covariant dart.core::num* b, generic-covariant-impl #lib::F::T* c) → void;
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class G<T extends dart.core::Object* = dynamic> extends dart.core::Object {
     synthetic constructor •() → #lib::G<#lib::G::T*>*
       : super dart.core::Object::•()
       ;
     method foo7<generic-covariant-impl Q extends #lib::G::T* = #lib::G::T*>(#lib::G::foo7::Q* a, dart.core::int* b, generic-covariant-impl #lib::G::T* c) → void {}
-    abstract member-signature get _identityHashCode() → dart.core::int*;
-    abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOf(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfTrue(dynamic type) → dart.core::bool*;
-    abstract member-signature method _simpleInstanceOfFalse(dynamic type) → dart.core::bool*;
-    abstract member-signature operator ==(dynamic other) → dart.core::bool*;
-    abstract member-signature get hashCode() → dart.core::int*;
-    abstract member-signature method toString() → dart.core::String*;
-    abstract member-signature method noSuchMethod(dart.core::Invocation* invocation) → dynamic;
-    abstract member-signature get runtimeType() → dart.core::Type*;
   }
   class H<T extends dart.core::Object* = dynamic> extends #lib::G<#lib::H::T*> implements #lib::F<#lib::H::T*> {
     synthetic constructor •() → #lib::H<#lib::H::T*>*
diff --git a/pkg/vm/testcases/transformations/type_flow/summary_collector/control_flow.dart.expect b/pkg/vm/testcases/transformations/type_flow/summary_collector/control_flow.dart.expect
index 0e80af6..b840c08 100644
--- a/pkg/vm/testcases/transformations/type_flow/summary_collector/control_flow.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/summary_collector/control_flow.dart.expect
@@ -129,7 +129,7 @@
 RESULT: _T {}?
 ------------ if9 ------------
 %x = _Parameter #0 [_T (#lib::TestEnum)+?]
-t1* = _Call [TestEnum::==] (%x, _T (#lib::TestEnum, #lib::TestEnum {index: 0, #lib::_name: TestEnum.v1, }))
+t1* = _Call [Object::==] (%x, _T (#lib::TestEnum, #lib::TestEnum {index: 0, #lib::_name: TestEnum.v1, }))
 t2 = _Call direct [foo] (_T (#lib::TestEnum, #lib::TestEnum {index: 0, #lib::_name: TestEnum.v1, }))
 RESULT: _T {}?
 ------------ conditional1 ------------
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/bench_is_prime.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/bench_is_prime.dart.expect
index 839a730..2dcdcb8 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/bench_is_prime.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/bench_is_prime.dart.expect
@@ -6,7 +6,7 @@
 [@vm.unboxing-info.metadata=(i)->b]static method isPrime([@vm.inferred-type.metadata=int] dynamic n) → core::bool* {
   if(_in::unsafeCast<core::bool*>([@vm.direct-call.metadata=_IntegerImplementation::<] [@vm.inferred-type.metadata=dart.core::bool] n.<(2)))
     return false;
-  for (core::int* i = 2; [@vm.direct-call.metadata=_IntegerImplementation::<=] [@vm.inferred-type.metadata=dart.core::bool (skip check)] [@vm.direct-call.metadata=_IntegerImplementation::*] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::*}(i).{core::num::<=}(_in::unsafeCast<core::num>(n)); i = [@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1)) {
+  for (core::int* i = 2; [@vm.direct-call.metadata=_IntegerImplementation::<=] [@vm.inferred-type.metadata=dart.core::bool (skip check)] [@vm.direct-call.metadata=_IntegerImplementation::*] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::*}(i).{core::num::<=}(_in::unsafeCast<core::num*>(n)); i = [@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1)) {
     if([@vm.direct-call.metadata=_IntegerImplementation::==] [@vm.inferred-type.metadata=dart.core::bool (skip check)] [@vm.direct-call.metadata=_IntegerImplementation::%] [@vm.inferred-type.metadata=int] n.%(i).{core::Object::==}(0))
       return false;
   }
@@ -30,7 +30,7 @@
   }
 }
 static method main(core::List<core::String*>* args) → dynamic {
-  core::Stopwatch* timer = let final core::Stopwatch #t1 = new core::Stopwatch::•() in let final void #t2 = [@vm.direct-call.metadata=Stopwatch::start] [@vm.inferred-type.metadata=!? (skip check)] #t1.{core::Stopwatch::start}() in #t1;
+  core::Stopwatch* timer = let final core::Stopwatch* #t1 = new core::Stopwatch::•() in let final void #t2 = [@vm.direct-call.metadata=Stopwatch::start] [@vm.inferred-type.metadata=!? (skip check)] #t1.{core::Stopwatch::start}() in #t1;
   for (core::int* i = 0; [@vm.direct-call.metadata=_IntegerImplementation::<] [@vm.inferred-type.metadata=dart.core::bool (skip check)] i.{core::num::<}(100); i = [@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] i.{core::num::+}(1)) {
     self::run();
   }
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_cycle.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_cycle.dart.expect
index 4b9e704..31fb99c 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_cycle.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/invalidation_cycle.dart.expect
@@ -22,7 +22,6 @@
     : super core::Object::•()
     ;
 [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2]  abstract method foobar((dynamic) →* void onData, {core::Function* onError = #C1}) → self::StreamSubscription*;
-[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3]  abstract member-signature operator ==(dynamic other) → core::bool*;
 }
 abstract class _StreamImpl extends self::Stream {
   synthetic constructor •() → self::_StreamImpl*
@@ -31,7 +30,7 @@
 [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2]  method foobar([@vm.inferred-type.metadata=dart.core::Null? (value: null)] (dynamic) →* void onData, {[@vm.inferred-type.metadata=dart.core::Null? (value: null)] core::Function* onError = #C1}) → self::StreamSubscription* {
     return [@vm.inferred-type.metadata=! (skip check)] this.{self::_StreamImpl::_createSubscription}();
   }
-[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:4,getterSelectorId:5]  method _createSubscription() → self::StreamSubscription* {
+[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4]  method _createSubscription() → self::StreamSubscription* {
     return new self::_BufferingStreamSubscription::•();
   }
 }
@@ -39,7 +38,7 @@
   synthetic constructor •() → self::_ControllerStream*
     : super self::_StreamImpl::•()
     ;
-[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:4,getterSelectorId:5]  method _createSubscription() → self::StreamSubscription* {
+[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4]  method _createSubscription() → self::StreamSubscription* {
     return new self::_BroadcastSubscription::•();
   }
 }
@@ -49,7 +48,7 @@
     ;
 }
 abstract class StreamView extends self::Stream {
-[@vm.inferred-type.metadata=!] [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:6,getterSelectorId:7]  final field self::Stream* _stream;
+[@vm.inferred-type.metadata=!] [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:5,getterSelectorId:6]  final field self::Stream* _stream;
   constructor •([@vm.inferred-type.metadata=!] self::Stream* stream) → self::StreamView*
     : self::StreamView::_stream = stream, super self::Stream::•()
     ;
@@ -61,16 +60,16 @@
   constructor •([@vm.inferred-type.metadata=!] self::Stream* stream) → self::ByteStream*
     : super self::StreamView::•(stream)
     ;
-[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:8,getterSelectorId:9]  method super_foobar1([@vm.inferred-type.metadata=dart.core::Null? (value: null)] (dynamic) →* void onData) → dynamic {
+[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:7,getterSelectorId:8]  method super_foobar1([@vm.inferred-type.metadata=dart.core::Null? (value: null)] (dynamic) →* void onData) → dynamic {
     super.{self::StreamView::foobar}(onData);
   }
-[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:10,getterSelectorId:11]  method super_foobar2([@vm.inferred-type.metadata=dart.core::Null? (value: null)] (dynamic) →* void onData) → dynamic {
+[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:9,getterSelectorId:10]  method super_foobar2([@vm.inferred-type.metadata=dart.core::Null? (value: null)] (dynamic) →* void onData) → dynamic {
     super.{self::StreamView::foobar}(onData);
   }
-[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:12,getterSelectorId:13]  method super_foobar3({[@vm.inferred-type.metadata=dart.core::Null? (value: null)] (dynamic) →* void onData = #C1, [@vm.inferred-type.metadata=dart.core::Null? (value: null)] core::Function* onError = #C1}) → dynamic {
+[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:11,getterSelectorId:12]  method super_foobar3({[@vm.inferred-type.metadata=dart.core::Null? (value: null)] (dynamic) →* void onData = #C1, [@vm.inferred-type.metadata=dart.core::Null? (value: null)] core::Function* onError = #C1}) → dynamic {
     super.{self::StreamView::foobar}(onData, onError: onError);
   }
-[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:14]  get super_stream() → self::Stream*
+[@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,getterSelectorId:13]  get super_stream() → self::Stream*
     return [@vm.inferred-type.metadata=!] super.{self::StreamView::_stream};
 }
 class _HandleErrorStream extends self::Stream {
@@ -101,7 +100,7 @@
   self::ByteStream* x = new self::ByteStream::•(new self::_ControllerStream::•());
   self::Stream* y = [@vm.direct-call.metadata=ByteStream::super_stream] [@vm.inferred-type.metadata=!] x.{self::ByteStream::super_stream};
   self::Stream* z = [@vm.direct-call.metadata=StreamView::_stream] [@vm.inferred-type.metadata=!] x.{self::StreamView::_stream};
-  if([@vm.direct-call.metadata=Object::==] [@vm.inferred-type.metadata=dart.core::bool (skip check)] y.{self::Stream::==}(z)) {
+  if([@vm.direct-call.metadata=Object::==] [@vm.inferred-type.metadata=dart.core::bool (skip check) (receiver not int)] y.{core::Object::==}(z)) {
     [@vm.direct-call.metadata=ByteStream::super_foobar2] [@vm.inferred-type.metadata=!? (skip check)] x.{self::ByteStream::super_foobar2}(onData);
   }
 }
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter16182.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter16182.dart.expect
index b39b249..00c3bcf 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter16182.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/regress_flutter16182.dart.expect
@@ -19,7 +19,7 @@
   synthetic constructor •() → self::A1*
     : super core::Object::•()
     ;
-[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4]  method call([dynamic a1 = #C1, dynamic a2 = #C1, dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=#lib::T1?] dynamic a5 = #C1]) → void {
+[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4]  method call([dynamic a1 = #C1, dynamic a2 = #C1, [@vm.inferred-type.metadata=int?] dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=#lib::T1?] dynamic a5 = #C1]) → void {
     [@vm.direct-call.metadata=A1::foo] [@vm.inferred-type.metadata=!? (skip check)] this.{self::A1::foo} = _in::unsafeCast<self::T1*>(a5);
   }
 }
@@ -42,7 +42,7 @@
   synthetic constructor •() → self::A2*
     : super core::Object::•()
     ;
-[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4]  method call([dynamic a1 = #C1, dynamic a2 = #C1, dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a5 = #C1, [@vm.inferred-type.metadata=#lib::T2?] dynamic a6 = #C1]) → void {
+[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4]  method call([dynamic a1 = #C1, dynamic a2 = #C1, [@vm.inferred-type.metadata=int?] dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a5 = #C1, [@vm.inferred-type.metadata=#lib::T2?] dynamic a6 = #C1]) → void {
     [@vm.direct-call.metadata=A2::foo] [@vm.inferred-type.metadata=!? (skip check)] this.{self::A2::foo} = a6;
   }
 }
@@ -75,7 +75,7 @@
   synthetic constructor •() → self::A3*
     : super core::Object::•()
     ;
-[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4]  method call([dynamic a1 = #C1, dynamic a2 = #C1, dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a5 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a6 = #C1, [@vm.inferred-type.metadata=#lib::T3?] dynamic a7 = #C1]) → void {
+[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4]  method call([dynamic a1 = #C1, dynamic a2 = #C1, [@vm.inferred-type.metadata=int?] dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a5 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a6 = #C1, [@vm.inferred-type.metadata=#lib::T3?] dynamic a7 = #C1]) → void {
     [@vm.direct-call.metadata=A3::foo] [@vm.inferred-type.metadata=!? (skip check)] this.{self::A3::foo} = a7;
   }
 }
@@ -98,7 +98,7 @@
   synthetic constructor •() → self::A4*
     : super core::Object::•()
     ;
-[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4]  method call([dynamic a1 = #C1, dynamic a2 = #C1, dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a5 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a6 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a7 = #C1, [@vm.inferred-type.metadata=#lib::T4?] dynamic a8 = #C1]) → void {
+[@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4]  method call([dynamic a1 = #C1, dynamic a2 = #C1, [@vm.inferred-type.metadata=int?] dynamic a3 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a4 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a5 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a6 = #C1, [@vm.inferred-type.metadata=dart.core::_Smi?] dynamic a7 = #C1, [@vm.inferred-type.metadata=#lib::T4?] dynamic a8 = #C1]) → void {
     [@vm.direct-call.metadata=A4::foo] [@vm.inferred-type.metadata=!? (skip check)] this.{self::A4::foo} = a8;
   }
 }
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_dynamic_method.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_dynamic_method.dart.expect
index 1eaa0f9..e232d6b 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_dynamic_method.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_dynamic_method.dart.expect
@@ -12,7 +12,7 @@
     : super self::A::•()
     ;
 [@vm.procedure-attributes.metadata=hasThisUses:false,methodOrSetterSelectorId:1,getterSelectorId:2]  method foo() → core::int*
-    return [@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=! (skip check)] 1.{core::num::+}([@vm.direct-call.metadata=B::foo] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().foo() as{TypeError,ForDynamic} core::num) as{TypeError} core::int*;
+    return [@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=! (skip check)] 1.{core::num::+}([@vm.direct-call.metadata=B::foo] [@vm.inferred-type.metadata=!? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().foo() as{TypeError,ForDynamic} core::num*) as{TypeError} core::int*;
 }
 class TearOffDynamicMethod extends core::Object {
 [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4]  field dynamic bazz;
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_interface_method.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_interface_method.dart.expect
index 66ded4c..868f6f8 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_interface_method.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_interface_method.dart.expect
@@ -14,7 +14,7 @@
     : super self::A::•()
     ;
 [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,methodOrSetterSelectorId:1,getterSelectorId:2]  method foo() → core::int*
-    return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast<core::num>([@vm.direct-call.metadata=B::bar] [@vm.inferred-type.metadata=dart.core::_Smi (value: 3) (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().bar())));
+    return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast<core::num*>([@vm.direct-call.metadata=B::bar] [@vm.inferred-type.metadata=dart.core::_Smi (value: 3) (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().bar())));
 [@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4]  method bar() → core::int*
     return 3;
 }
diff --git a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_super_method.dart.expect b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_super_method.dart.expect
index 475df5a..894ccaa 100644
--- a/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_super_method.dart.expect
+++ b/pkg/vm/testcases/transformations/type_flow/transformer/tear_off_super_method.dart.expect
@@ -14,14 +14,14 @@
     : super self::A::•()
     ;
 [@vm.procedure-attributes.metadata=getterCalledDynamically:false,hasThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:1,getterSelectorId:2]  method foo() → core::int*
-    return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast<core::num>([@vm.direct-call.metadata=B::foo] [@vm.inferred-type.metadata=int? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().foo())));
+    return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 1.{core::num::+}(_in::unsafeCast<core::num*>([@vm.direct-call.metadata=B::foo] [@vm.inferred-type.metadata=int? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().foo())));
 }
 abstract class Base extends core::Object {
   synthetic constructor •() → self::Base*
     : super core::Object::•()
     ;
 [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasThisUses:false,hasNonThisUses:false,methodOrSetterSelectorId:1,getterSelectorId:2]  method foo() → core::int*
-    return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 3.{core::num::+}(_in::unsafeCast<core::num>([@vm.direct-call.metadata=B::foo] [@vm.inferred-type.metadata=int? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().foo())));
+    return _in::unsafeCast<core::int*>([@vm.direct-call.metadata=_IntegerImplementation::+] [@vm.inferred-type.metadata=int (skip check)] 3.{core::num::+}(_in::unsafeCast<core::num*>([@vm.direct-call.metadata=B::foo] [@vm.inferred-type.metadata=int? (receiver not int)] [@vm.inferred-type.metadata=#lib::B] self::knownResult().foo())));
 [@vm.procedure-attributes.metadata=methodOrSetterCalledDynamically:false,getterCalledDynamically:false,hasNonThisUses:false,hasTearOffUses:false,methodOrSetterSelectorId:3,getterSelectorId:4]  method doCall(dynamic x) → core::int*
     return [@vm.call-site-attributes.metadata=receiverType:DynamicType(dynamic)] x.call() as{TypeError,ForDynamic} core::int*;
 }
diff --git a/pkg/vm/testcases/transformations/unreachable_code_elimination/uce_testcases.dart.expect b/pkg/vm/testcases/transformations/unreachable_code_elimination/uce_testcases.dart.expect
index d839d62..04ae51a 100644
--- a/pkg/vm/testcases/transformations/unreachable_code_elimination/uce_testcases.dart.expect
+++ b/pkg/vm/testcases/transformations/unreachable_code_elimination/uce_testcases.dart.expect
@@ -5,16 +5,6 @@
 class TestAssertInitializer extends core::Object {
   constructor •() → self::TestAssertInitializer*
     : super core::Object::•() {}
-  abstract member-signature get _identityHashCode() → core::int*;
-  abstract member-signature method _instanceOf(dynamic instantiatorTypeArguments, dynamic functionTypeArguments, dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOf(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfTrue(dynamic type) → core::bool*;
-  abstract member-signature method _simpleInstanceOfFalse(dynamic type) → core::bool*;
-  abstract member-signature operator ==(dynamic other) → core::bool*;
-  abstract member-signature get hashCode() → core::int*;
-  abstract member-signature method toString() → core::String*;
-  abstract member-signature method noSuchMethod(core::Invocation* invocation) → dynamic;
-  abstract member-signature get runtimeType() → core::Type*;
 }
 static const field core::bool* constTrue = #C1;
 static const field core::bool* constFalse = #C2;
diff --git a/runtime/BUILD.gn b/runtime/BUILD.gn
index b47b604..c7d66dc 100644
--- a/runtime/BUILD.gn
+++ b/runtime/BUILD.gn
@@ -140,6 +140,10 @@
     }
   }
 
+  if (use_nnbd) {
+    defines += [ "DART_BUILT_WITH_NNBD_FLAG" ]
+  }
+
   if (!is_win) {
     cflags = [
       "-Werror",
diff --git a/runtime/bin/BUILD.gn b/runtime/bin/BUILD.gn
index 55668ad..abf3f53 100644
--- a/runtime/bin/BUILD.gn
+++ b/runtime/bin/BUILD.gn
@@ -529,7 +529,7 @@
     isolate_snapshot_instructions,
   ]
   args = []
-  if (!dont_use_nnbd) {
+  if (use_nnbd) {
     args += [
       "--enable-experiment=non-nullable",
       "--null-safety",
diff --git a/runtime/vm/BUILD.gn b/runtime/vm/BUILD.gn
index 3ff028c..d7fe4a2 100644
--- a/runtime/vm/BUILD.gn
+++ b/runtime/vm/BUILD.gn
@@ -154,7 +154,7 @@
     }
     single_root_scheme = "org-dartlang-sdk"
     single_root_base = rebase_path("../../")
-    if (!dont_use_nnbd) {
+    if (use_nnbd) {
       libraries_specification_uri =
           "org-dartlang-sdk:///sdk_nnbd/lib/libraries.json"
     } else {
@@ -172,7 +172,7 @@
       "-Ddart.developer.causal_async_stacks=$allow_causal_async_stacks",
       "-Ddart.isVM=true",
     ]
-    if (!dont_use_nnbd) {
+    if (use_nnbd) {
       args += [ "--enable-experiment=non-nullable" ]
       args += [ "--nnbd-agnostic" ]
     }
@@ -216,7 +216,9 @@
     "..:dart_maybe_product_config",
     ":libdart_vm_config",
   ]
-  sources = [ "compiler/offsets_extractor.cc" ]
+  sources = [
+    "compiler/offsets_extractor.cc",
+  ]
   include_dirs = [ ".." ]
 }
 
@@ -228,6 +230,8 @@
     "..:dart_maybe_product_config",
     ":libdart_vm_config",
   ]
-  sources = [ "compiler/offsets_extractor.cc" ]
+  sources = [
+    "compiler/offsets_extractor.cc",
+  ]
   include_dirs = [ ".." ]
 }
diff --git a/sdk_args.gni b/sdk_args.gni
index eb4017e..7ebca48 100644
--- a/sdk_args.gni
+++ b/sdk_args.gni
@@ -5,11 +5,9 @@
 _dart_root = get_path_info(".", "abspath")
 
 declare_args() {
-  # Whether to build a Legacy SDK using Legacy core libraries.
-  # TODO(38701): Remove dont_use_nnbd once the NNBD SDK is stable/performant
-  # and there is no need to build a legacy version of the SDK for comparison
-  # purposes.
-  dont_use_nnbd = false
+  # Whether to use the NNBD fork of the SDK core libraries.
+  # TODO(#38701): Remove this when the fork has been merged back in.
+  use_nnbd = false
 
   # Absolute path to the .git folder.
   #
diff --git a/tools/bots/test_matrix.json b/tools/bots/test_matrix.json
index d2f327c..32fbbf1 100644
--- a/tools/bots/test_matrix.json
+++ b/tools/bots/test_matrix.json
@@ -17,9 +17,9 @@
       "third_party/pkg_tested/",
       "tools/",
       "out/ReleaseX64/dart-sdk/",
-      "out/ReleaseX64/dart-sdk/",
+      "out/ReleaseX64NNBD/dart-sdk/",
       "xcodebuild/ReleaseX64/dart-sdk/",
-      "xcodebuild/ReleaseX64/dart-sdk/"
+      "xcodebuild/ReleaseX64NNBD/dart-sdk/"
     ],
     "dart2js": [
       ".packages",
@@ -31,7 +31,7 @@
       "runtime/tests/",
       "samples-dev/",
       "samples/",
-      "sdk_nnbd/",
+      "sdk/",
       "tests/.dart_tool/package_config.json",
       "tests/angular/",
       "tests/co19_2/co19_2-analyzer.status",
@@ -64,9 +64,9 @@
     "dart2js_nnbd": [
       ".packages",
       ".dart_tool/package_config.json",
-      "out/ReleaseIA32/dart-sdk/",
-      "out/ReleaseX64/dart-sdk/",
-      "out/ReleaseX64/gen/utils/dartdevc/",
+      "out/ReleaseIA32NNBD/dart-sdk/",
+      "out/ReleaseX64NNBD/dart-sdk/",
+      "out/ReleaseX64NNBD/gen/utils/dartdevc/",
       "pkg/",
       "runtime/tests/",
       "samples-dev/",
@@ -74,24 +74,35 @@
       "sdk_nnbd/",
       "tests/.dart_tool/package_config.json",
       "tests/angular/",
+      "tests/co19_2/co19_2-analyzer.status",
+      "tests/co19_2/co19_2-co19.status",
+      "tests/co19_2/co19_2-dart2js.status",
+      "tests/co19_2/co19_2-dartdevc.status",
+      "tests/co19_2/co19_2-kernel.status",
+      "tests/co19_2/co19_2-runtime.status",
       "tests/compiler/",
+      "tests/corelib_2/",
       "tests/corelib/",
       "tests/dart/",
       "tests/kernel/",
+      "tests/language_2/",
       "tests/language/",
+      "tests/lib_2/",
       "tests/lib/",
       "tests/light_unittest.dart",
       "tests/search/",
+      "tests/standalone_2/",
       "tests/ffi/",
+      "tests/ffi_2/",
       "third_party/babel/babel.min.js",
       "third_party/d8/",
       "third_party/pkg/",
       "third_party/pkg_tested/",
       "third_party/requirejs/",
       "tools/",
-      "xcodebuild/ReleaseIA32/dart-sdk/",
-      "xcodebuild/ReleaseX64/dart-sdk/",
-      "xcodebuild/ReleaseX64/gen/utils/dartdevc/"
+      "xcodebuild/ReleaseIA32NNBD/dart-sdk/",
+      "xcodebuild/ReleaseX64NNBD/dart-sdk/",
+      "xcodebuild/ReleaseX64NNBD/gen/utils/dartdevc/"
     ],
     "dart2js_hostasserts": [
       ".packages",
@@ -141,9 +152,9 @@
     "dart2js_hostasserts_nnbd": [
       ".packages",
       ".dart_tool/package_config.json",
-      "out/ReleaseX64/dart",
-      "out/ReleaseX64/dart2js_platform.dill",
-      "out/ReleaseX64/dart2js_platform_strong.dill",
+      "out/ReleaseX64NNBD/dart",
+      "out/ReleaseX64NNBD/dart2js_platform.dill",
+      "out/ReleaseX64NNBD/dart2js_platform_strong.dill",
       "pkg/",
       "runtime/tests/",
       "samples-dev/",
@@ -152,30 +163,40 @@
       "sdk_nnbd/",
       "tests/.dart_tool/package_config.json",
       "tests/angular/",
+      "tests/co19_2/co19_2-analyzer.status",
+      "tests/co19_2/co19_2-co19.status",
+      "tests/co19_2/co19_2-dart2js.status",
+      "tests/co19_2/co19_2-dartdevc.status",
+      "tests/co19_2/co19_2-kernel.status",
+      "tests/co19_2/co19_2-runtime.status",
       "tests/compiler/",
+      "tests/corelib_2/",
       "tests/corelib/",
       "tests/dart/",
       "tests/kernel/",
+      "tests/language_2/",
       "tests/language/",
+      "tests/lib_2/",
       "tests/lib/",
       "tests/light_unittest.dart",
       "tests/search/",
+      "tests/standalone_2/",
       "tests/ffi/",
       "third_party/d8/",
       "third_party/pkg/",
       "third_party/pkg_tested/",
       "third_party/requirejs/",
       "tools/",
-      "xcodebuild/ReleaseX64/dart",
-      "xcodebuild/ReleaseX64/dart2js_platform.dill",
-      "xcodebuild/ReleaseX64/dart2js_platform_strong.dill"
+      "xcodebuild/ReleaseX64NNBD/dart",
+      "xcodebuild/ReleaseX64NNBD/dart2js_platform.dill",
+      "xcodebuild/ReleaseX64NNBD/dart2js_platform_strong.dill"
     ],
     "front-end": [
       ".packages",
       ".dart_tool/package_config.json",
       "out/ReleaseIA32/",
       "out/ReleaseX64/",
-      "out/ReleaseX64/",
+      "out/ReleaseX64NNBD/",
       "pkg/",
       "runtime/tests/",
       "samples-dev/",
@@ -323,46 +344,45 @@
       "pkg/vm/",
       "runtime/",
       "sdk/",
-      "sdk_nnbd/",
       ".dart_tool/package_config.json",
       ".packages",
       ".vpython"
     ],
     "vm-kernel-nnbd": [
       "benchmarks/",
-      "out/DebugIA32/",
-      "out/DebugX64/",
-      "out/DebugSIMARM/",
-      "out/DebugSIMARM64/",
-      "out/DebugSIMARM_X64/",
-      "out/DebugAndroidARM/",
-      "out/DebugAndroidARM_X64/",
-      "out/DebugAndroidARM64/",
-      "out/ReleaseIA32/",
-      "out/ReleaseX64/",
-      "out/ReleaseSIMARM/",
-      "out/ReleaseSIMARM64/",
-      "out/ReleaseSIMARM_X64/",
-      "out/ReleaseAndroidARM/",
-      "out/ReleaseAndroidARM_X64/",
-      "out/ReleaseAndroidARM64/",
-      "out/ReleaseXARM64/",
-      "out/ProductIA32/",
-      "out/ProductX64/",
-      "out/ProductSIMARM/",
-      "out/ProductSIMARM64/",
-      "out/ProductSIMARM_X64/",
-      "out/ProductAndroidARM/",
-      "out/ProductAndroidARM64/",
-      "xcodebuild/DebugIA32/",
-      "xcodebuild/DebugSIMARM/",
-      "xcodebuild/DebugSIMARM64/",
-      "xcodebuild/DebugX64/",
-      "xcodebuild/ProductX64/",
-      "xcodebuild/ReleaseIA32/",
-      "xcodebuild/ReleaseSIMARM/",
-      "xcodebuild/ReleaseSIMARM64/",
-      "xcodebuild/ReleaseX64/",
+      "out/DebugIA32NNBD/",
+      "out/DebugX64NNBD/",
+      "out/DebugSIMARMNNBD/",
+      "out/DebugSIMARM64NNBD/",
+      "out/DebugSIMARM_X64NNBD/",
+      "out/DebugAndroidARMNNBD/",
+      "out/DebugAndroidARM_X64NNBD/",
+      "out/DebugAndroidARM64NNBD/",
+      "out/ReleaseIA32NNBD/",
+      "out/ReleaseX64NNBD/",
+      "out/ReleaseSIMARMNNBD/",
+      "out/ReleaseSIMARM64NNBD/",
+      "out/ReleaseSIMARM_X64NNBD/",
+      "out/ReleaseAndroidARMNNBD/",
+      "out/ReleaseAndroidARM_X64NNBD/",
+      "out/ReleaseAndroidARM64NNBD/",
+      "out/ReleaseXARM64NNBD/",
+      "out/ProductIA32NNBD/",
+      "out/ProductX64NNBD/",
+      "out/ProductSIMARMNNBD/",
+      "out/ProductSIMARM64NNBD/",
+      "out/ProductSIMARM_X64NNBD/",
+      "out/ProductAndroidARMNNBD/",
+      "out/ProductAndroidARM64NNBD/",
+      "xcodebuild/DebugIA32NNBD/",
+      "xcodebuild/DebugSIMARMNNBD/",
+      "xcodebuild/DebugSIMARM64NNBD/",
+      "xcodebuild/DebugX64NNBD/",
+      "xcodebuild/ProductX64NNBD/",
+      "xcodebuild/ReleaseIA32NNBD/",
+      "xcodebuild/ReleaseSIMARMNNBD/",
+      "xcodebuild/ReleaseSIMARM64NNBD/",
+      "xcodebuild/ReleaseX64NNBD/",
       "samples/",
       "samples-dev/",
       "tools/",
@@ -373,12 +393,23 @@
       "third_party/pkg_tested/",
       "tests/.dart_tool/package_config.json",
       "tests/angular/",
+      "tests/co19_2/co19_2-analyzer.status",
+      "tests/co19_2/co19_2-co19.status",
+      "tests/co19_2/co19_2-dart2js.status",
+      "tests/co19_2/co19_2-dartdevc.status",
+      "tests/co19_2/co19_2-kernel.status",
+      "tests/co19_2/co19_2-runtime.status",
       "tests/compiler/",
+      "tests/corelib_2/",
       "tests/dart/",
       "tests/kernel/",
+      "tests/language_2/",
+      "tests/lib_2/",
       "tests/light_unittest.dart",
       "tests/search/",
+      "tests/standalone_2/",
       "tests/ffi/",
+      "tests/ffi_2/",
       "pkg/_fe_analyzer_shared/",
       "pkg/async_helper/",
       "pkg/build_integration/",
@@ -614,7 +645,7 @@
         "dart2js-options": [
           "--no-null-safety",
           "--libraries-spec=sdk_nnbd/lib/libraries.json",
-          "--platform-binaries=out/ReleaseX64/"
+          "--platform-binaries=out/ReleaseX64NNBD/"
         ],
         "timeout": 240,
         "host-checked": true
@@ -629,7 +660,7 @@
         "dart2js-options": [
           "--no-null-safety",
           "--libraries-spec=sdk_nnbd/lib/libraries.json",
-          "--platform-binaries=xcodebuild/ReleaseX64/"
+          "--platform-binaries=xcodebuild/ReleaseX64NNBD/"
         ],
         "timeout": 240,
         "host-checked": true
@@ -1095,6 +1126,7 @@
           "name": "build dart",
           "script": "tools/build.py",
           "arguments": [
+            "--nnbd",
             "create_sdk",
             "dartdevc_test",
             "kernel_platform_files",
@@ -1102,6 +1134,23 @@
           ]
         },
         {
+          "name": "legacy sdk tests",
+          "arguments": [
+            "-ncfe-weak-${system}"
+          ],
+          "fileset": "front-end",
+          "shards": 5
+        },
+        {
+          "name": "legacy co19_2 tests",
+          "arguments": [
+            "-ncfe-weak-${system}",
+            "co19_2"
+          ],
+          "fileset": "front-end",
+          "shards": 6
+        },
+        {
           "name": "weak sdk tests",
           "arguments": [
             "-ncfe-weak-${system}",
@@ -1344,11 +1393,29 @@
           "name": "build dart",
           "script": "tools/build.py",
           "arguments": [
+            "--nnbd",
             "runtime_kernel",
             "dart_precompiled_runtime"
           ]
         },
         {
+          "name": "vm legacy tests in weak mode with asserts",
+          "arguments": [
+            "-ndartkp-weak-asserts-${system}-${mode}-${arch}"
+          ],
+          "fileset": "vm-kernel-nnbd",
+          "shards": 6
+        },
+        {
+          "name": "vm legacy tests(co19_2) in weak mode with asserts",
+          "arguments": [
+            "-ndartkp-weak-asserts-${system}-${mode}-${arch}",
+            "co19_2"
+          ],
+          "fileset": "vm-kernel-nnbd",
+          "shards": 10
+        },
+        {
           "name": "vm nnbd tests in weak mode with asserts",
           "arguments": [
             "-ndartkp-weak-asserts-${system}-${mode}-${arch}",
@@ -1689,11 +1756,29 @@
           "name": "build dart",
           "script": "tools/build.py",
           "arguments": [
+            "--nnbd",
             "create_sdk",
             "runtime_kernel"
           ]
         },
         {
+          "name": "vm legacy tests in weak mode with asserts",
+          "arguments": [
+            "-ndartk-weak-asserts-${system}-${mode}-${arch}"
+          ],
+          "fileset": "vm-kernel-nnbd",
+          "shards": 6
+        },
+        {
+          "name": "vm legacy tests(co19_2) in weak mode with asserts",
+          "arguments": [
+            "-ndartk-weak-asserts-${system}-${mode}-${arch}",
+            "co19_2"
+          ],
+          "fileset": "vm-kernel-nnbd",
+          "shards": 6
+        },
+        {
           "name": "vm nnbd test in weak mode with asserts",
           "arguments": [
             "-ndartk-weak-asserts-${system}-${mode}-${arch}",
@@ -1968,12 +2053,13 @@
           "name": "build dart",
           "script": "tools/build.py",
           "arguments": [
+            "--nnbd",
             "dartdevc_test"
           ]
         },
         {
           "name": "check dart nnbd sdk for static errors",
-          "script": "out/ReleaseX64/dart-sdk/bin/dart",
+          "script": "out/ReleaseX64NNBD/dart-sdk/bin/dart",
           "arguments": [
             "--enable-experiment=non-nullable",
             "pkg/dev_compiler/tool/check_nnbd_sdk.dart"
@@ -1981,7 +2067,7 @@
         },
         {
           "name": "ddc weak modular tests",
-          "script": "out/ReleaseX64/dart-sdk/bin/dart",
+          "script": "out/ReleaseX64NNBD/dart-sdk/bin/dart",
           "testRunner": true,
           "arguments": [
             "pkg/dev_compiler/test/modular_suite_nnbd.dart",
@@ -2003,6 +2089,26 @@
           "fileset": "dart2js_nnbd"
         },
         {
+          "name": "ddc legacy weak tests",
+          "arguments": [
+            "-ndartdevk-weak-linux-release-chrome",
+            "language_2",
+            "corelib_2",
+            "lib_2"
+          ],
+          "shards": 6,
+          "fileset": "dart2js_nnbd"
+        },
+        {
+          "name": "ddc legacy weak co19 tests",
+          "arguments": [
+            "-ndartdevk-weak-linux-release-chrome",
+            "co19_2"
+          ],
+          "shards": 6,
+          "fileset": "dart2js_nnbd"
+        },
+        {
           "name": "ddc nnbd strong tests",
           "arguments": [
             "-ndartdevk-strong-linux-release-chrome",
@@ -2527,13 +2633,14 @@
           "name": "build dart",
           "script": "tools/build.py",
           "arguments": [
+            "--nnbd",
             "create_sdk",
             "dart2js_bot"
           ]
         },
         {
           "name": "check dart nnbd sdk for static errors",
-          "script": "out/ReleaseX64/dart-sdk/bin/dart",
+          "script": "out/ReleaseX64NNBD/dart-sdk/bin/dart",
           "arguments": [
             "--enable-experiment=non-nullable",
             "pkg/dev_compiler/tool/check_nnbd_sdk.dart",
@@ -2546,6 +2653,8 @@
           "arguments": [
             "-ndart2js-hostasserts-weak-linux-x64-d8",
             "--dart2js-batch",
+            "language_2",
+            "corelib_2",
             "dart2js_extra",
             "dart2js_native",
             "kernel"
@@ -2920,6 +3029,7 @@
           "name": "build dart",
           "script": "tools/build.py",
           "arguments": [
+            "--nnbd",
             "create_sdk"
           ]
         },
@@ -2946,6 +3056,19 @@
           ]
         },
         {
+          "name": "analyze nnbd legacy weak tests enable-asserts",
+          "arguments": [
+            "-nanalyzer-asserts-weak-${system}"
+          ]
+        },
+        {
+          "name": "analyze nnbd legacy weak tests enable-asserts co19_2",
+          "arguments": [
+            "-nanalyzer-asserts-weak-${system}",
+            "co19_2"
+          ]
+        },
+        {
           "name": "analyze nnbd strong co19 tests",
           "arguments": [
             "-nanalyzer-asserts-strong-${system}",
diff --git a/tools/build.py b/tools/build.py
index 0d05cd9..20ac683 100755
--- a/tools/build.py
+++ b/tools/build.py
@@ -67,12 +67,11 @@
         help='Build variants (comma-separated).',
         metavar='[all,none,asan,lsan,msan,tsan,ubsan]',
         default='none')
-    # TODO(38701): Remove this option once the NNBD SDK is stable/performant
-    # and there is no need to build a legacy version of the SDK for comparison
-    # purposes.
+    # TODO(38701): Remove this and everything that references it once the
+    # forked NNBD SDK is merged back in.
     result.add_option(
-        "--no-nnbd",
-        help='Build the Legacy (pre NNBD) version of the SDK.',
+        "--nnbd",
+        help='Use the NNBD fork of the SDK.',
         default=False,
         action='store_true')
     result.add_option(
@@ -219,7 +218,7 @@
     return True
 
 
-def RunGNIfNeeded(out_dir, target_os, mode, arch, dont_use_nnbd, sanitizer):
+def RunGNIfNeeded(out_dir, target_os, mode, arch, use_nnbd, sanitizer):
     if os.path.isfile(os.path.join(out_dir, 'args.gn')):
         return
     gn_os = 'host' if target_os == HOST_OS else target_os
@@ -236,8 +235,8 @@
         gn_os,
         '-v',
     ]
-    if dont_use_nnbd:
-        gn_command.append('--no-nnbd')
+    if use_nnbd:
+        gn_command.append('--nnbd')
 
     process = subprocess.Popen(gn_command)
     process.wait()
@@ -292,13 +291,13 @@
 # Returns a tuple (build_config, command to run, whether goma is used)
 def BuildOneConfig(options, targets, target_os, mode, arch, sanitizer):
     build_config = utils.GetBuildConf(mode, arch, target_os, sanitizer,
-                                      options.no_nnbd)
+                                      options.nnbd)
     out_dir = utils.GetBuildRoot(HOST_OS, mode, arch, target_os, sanitizer,
-                                 options.no_nnbd)
+                                 options.nnbd)
     using_goma = False
     # TODO(zra): Remove auto-run of gn, replace with prompt for user to run
     # gn.py manually.
-    RunGNIfNeeded(out_dir, target_os, mode, arch, options.no_nnbd, sanitizer)
+    RunGNIfNeeded(out_dir, target_os, mode, arch, options.nnbd, sanitizer)
     command = ['ninja', '-C', out_dir]
     if options.verbose:
         command += ['-v']
diff --git a/tools/gn.py b/tools/gn.py
index 06f2615..99a59cb 100755
--- a/tools/gn.py
+++ b/tools/gn.py
@@ -51,11 +51,10 @@
     return args.split()
 
 
-# TODO(38701): Remove dont_use_nnbd once the NNBD SDK is stable/performant and
-# there is no need to build a legacy version of the SDK for comparison purposes.
-def GetOutDir(mode, arch, target_os, sanitizer, dont_use_nnbd):
+# TODO(38701): Remove use_nnbd once the forked NNBD SDK is merged back in.
+def GetOutDir(mode, arch, target_os, sanitizer, use_nnbd):
     return utils.GetBuildRoot(HOST_OS, mode, arch, target_os, sanitizer,
-                              dont_use_nnbd)
+                              use_nnbd)
 
 
 def ToCommandLine(gn_args):
@@ -139,9 +138,8 @@
     return True
 
 
-# TODO(38701): Remove dont_use_nnbd once the NNBD SDK is stable/performant and
-# there is no need to build a legacy version of the SDK for comparison purposes.
-def ToGnArgs(args, mode, arch, target_os, sanitizer, dont_use_nnbd):
+# TODO(38701): Remove use_nnbd once the forked NNBD SDK is merged back in.
+def ToGnArgs(args, mode, arch, target_os, sanitizer, use_nnbd):
     gn_args = {}
 
     host_os = HostOsForGn(HOST_OS)
@@ -262,7 +260,7 @@
         gn_args['dart_debug_optimization_level'] = args.debug_opt_level
         gn_args['debug_optimization_level'] = args.debug_opt_level
 
-    gn_args['dont_use_nnbd'] = dont_use_nnbd
+    gn_args['use_nnbd'] = use_nnbd
 
     return gn_args
 
@@ -372,11 +370,9 @@
         help='Build variants (comma-separated).',
         metavar='[all,none,asan,lsan,msan,tsan,ubsan]',
         default='none')
-    # TODO(38701): Remove dont_use_nnbd once the NNBD SDK is stable/performant
-    # and there is no need to build a legacy version of the SDK for
-    # comparison purposes.
+    # TODO(38701): Remove this once the forked NNBD SDK is merged back in.
     common_group.add_argument(
-        "--no-nnbd",
+        "--nnbd",
         help='Use the NNBD fork of the SDK.',
         default=False,
         action='store_true')
@@ -513,14 +509,14 @@
             for arch in args.arch:
                 for sanitizer in args.sanitizer:
                     out_dir = GetOutDir(mode, arch, target_os, sanitizer,
-                                        args.no_nnbd)
+                                        args.nnbd)
                     # TODO(infra): Re-enable --check. Many targets fail to use
                     # public_deps to re-expose header files to their dependents.
                     # See dartbug.com/32364
                     command = [gn, 'gen', out_dir]
                     gn_args = ToCommandLine(
                         ToGnArgs(args, mode, arch, target_os, sanitizer,
-                                 args.no_nnbd))
+                                 args.nnbd))
                     gn_args += GetGNArgs(args)
                     if args.verbose:
                         print("gn gen --check in %s" % out_dir)
diff --git a/tools/utils.py b/tools/utils.py
index 5bb768f..b1084cc 100644
--- a/tools/utils.py
+++ b/tools/utils.py
@@ -316,11 +316,9 @@
     return ((GetArchFamily(host_arch) != GetArchFamily(arch)) or
             (target_os != GuessOS()))
 
-
-# TODO(38701): Remove dont_use_nnbd once the NNBD SDK is stable/performant and
-# there is no need to build a legacy version of the SDK for comparison purposes.
-def GetBuildConf(mode, arch, conf_os=None, sanitizer=None, dont_use_nnbd=False):
-    nnbd = "Legacy" if dont_use_nnbd else ""
+# TODO(38701): Remove use_nnbd once the forked NNBD SDK is merged back in.
+def GetBuildConf(mode, arch, conf_os=None, sanitizer=None, use_nnbd=False):
+    nnbd = "NNBD" if use_nnbd else ""
     if conf_os == 'android':
         return '%s%s%s%s' % (GetBuildMode(mode), conf_os.title(), arch.upper(),
                              nnbd)
@@ -338,30 +336,28 @@
     return BUILD_ROOT[host_os]
 
 
-# TODO(38701): Remove dont_use_nnbd once the NNBD SDK is stable/performant and
-# there is no need to build a legacy version of the SDK for comparison purposes.
+# TODO(38701): Remove use_nnbd once the forked NNBD SDK is merged back in.
 def GetBuildRoot(host_os,
                  mode=None,
                  arch=None,
                  target_os=None,
                  sanitizer=None,
-                 dont_use_nnbd=False):
+                 use_nnbd=False):
     build_root = GetBuildDir(host_os)
     if mode:
         build_root = os.path.join(
-            build_root,
-            GetBuildConf(mode, arch, target_os, sanitizer, dont_use_nnbd))
+            build_root, GetBuildConf(mode, arch, target_os, sanitizer,
+                                     use_nnbd))
     return build_root
 
 
-# TODO(38701): Remove dont_use_nnbd once the NNBD SDK is stable/performant and
-# there is no need to build a legacy version of the SDK for comparison purposes.
+# TODO(38701): Remove use_nnbd once the forked NNBD SDK is merged back in.
 def GetBuildSdkBin(host_os,
                    mode=None,
                    arch=None,
                    target_os=None,
-                   dont_use_nnbd=False):
-    build_root = GetBuildRoot(host_os, mode, arch, target_os, dont_use_nnbd)
+                   use_nnbd=False):
+    build_root = GetBuildRoot(host_os, mode, arch, target_os, use_nnbd)
     return os.path.join(build_root, 'dart-sdk', 'bin')
 
 
diff --git a/utils/compiler/BUILD.gn b/utils/compiler/BUILD.gn
index 0ccee9d..dda6c4e 100644
--- a/utils/compiler/BUILD.gn
+++ b/utils/compiler/BUILD.gn
@@ -46,10 +46,10 @@
   args = [ "--output_dir=$output_dir" ]
 }
 
-if (dont_use_nnbd) {
-  libraries_specification_path = "sdk/lib/libraries.json"
-} else {
+if (use_nnbd) {
   libraries_specification_path = "sdk_nnbd/lib/libraries.json"
+} else {
+  libraries_specification_path = "sdk/lib/libraries.json"
 }
 
 application_snapshot("dart2js") {
@@ -91,7 +91,7 @@
     "dart:core",
   ]
 
-  if (!dont_use_nnbd) {
+  if (use_nnbd) {
     args += [ "--enable-experiment=non-nullable" ]
   }
 }
@@ -112,7 +112,7 @@
     "dart:core",
   ]
 
-  if (!dont_use_nnbd) {
+  if (use_nnbd) {
     args += [ "--enable-experiment=non-nullable" ]
   }
 }
diff --git a/utils/dartanalyzer/BUILD.gn b/utils/dartanalyzer/BUILD.gn
index ad34236..6065802 100644
--- a/utils/dartanalyzer/BUILD.gn
+++ b/utils/dartanalyzer/BUILD.gn
@@ -44,7 +44,7 @@
   inputs = sdk_lib_files + analyzer_files
   output = "$root_gen_dir/strong.sum"
   outputs = [ output ]
-  if (!dont_use_nnbd) {
+  if (use_nnbd) {
     args = [
       "build-non-nullable",
       rebase_path(output),
diff --git a/utils/dartdevc/BUILD.gn b/utils/dartdevc/BUILD.gn
index 3f4f974..a0fa6b0 100644
--- a/utils/dartdevc/BUILD.gn
+++ b/utils/dartdevc/BUILD.gn
@@ -16,10 +16,10 @@
 sdk_outline_dill = "$root_out_dir/ddc_sdk.dill"
 sdk_full_dill = "$root_out_dir/ddc_platform.dill"
 
-if (dont_use_nnbd) {
-  libraries_specification_path = "sdk/lib/libraries.json"
-} else {
+if (use_nnbd) {
   libraries_specification_path = "sdk_nnbd/lib/libraries.json"
+} else {
+  libraries_specification_path = "sdk/lib/libraries.json"
 }
 
 application_snapshot("dartdevc") {
@@ -35,9 +35,7 @@
     "dartdevc.js",
   ]
 
-  if (dont_use_nnbd) {
-    training_args += [ rebase_path("../../pkg/dev_compiler/bin/dartdevc.dart") ]
-  } else {
+  if (use_nnbd) {
     training_args += [
       "--enable-experiment=non-nullable",
 
@@ -47,6 +45,8 @@
       # should be easier to compile while we bootstrap NNBD.
       rebase_path("../../tests/language_2/abstract/equal_test.dart"),
     ]
+  } else {
+    training_args += [ rebase_path("../../pkg/dev_compiler/bin/dartdevc.dart") ]
   }
 
   deps = [
@@ -58,12 +58,12 @@
 }
 
 # TODO(#38701) Cleanup after merging the forked SDK into mainline.
-if (dont_use_nnbd) {
-  sdk_root = "../../sdk"
-  libraries_specification_path = "sdk/lib/libraries.json"
-} else {
+if (use_nnbd) {
   sdk_root = "../../sdk_nnbd"
   libraries_specification_path = "sdk_nnbd/lib/libraries.json"
+} else {
+  sdk_root = "../../sdk"
+  libraries_specification_path = "sdk/lib/libraries.json"
 }
 
 sdk_lib_files = exec_script("../../tools/list_dart_files.py",
@@ -154,8 +154,8 @@
   ]
 
   # TODO(#38701) Cleanup after merging the forked SDK into mainline.
-  if (dont_use_nnbd) {
-    args += [ "--no-nnbd" ]
+  if (use_nnbd) {
+    args += [ "--nnbd" ]
   }
 }
 
@@ -276,7 +276,7 @@
     }
 
     # TODO(38701): Cleanup after merging the forked SDK into mainline.
-    if (!dont_use_nnbd) {
+    if (use_nnbd) {
       args += [ "--enable-experiment=non-nullable" ]
     }
   }
@@ -335,7 +335,7 @@
   ]
 
   # TODO(38701): Cleanup after merging the forked SDK into mainline.
-  if (!dont_use_nnbd) {
+  if (use_nnbd) {
     args += [ "--enable-experiment=non-nullable" ]
   }
 }
@@ -392,7 +392,7 @@
   ]
 
   # TODO(38701): Cleanup after merging the forked SDK into mainline.
-  if (!dont_use_nnbd) {
+  if (use_nnbd) {
     args += [ "--enable-experiment=non-nullable" ]
   }
 }