diff --git a/DEPS b/DEPS
index e8e0461..bb4a58c 100644
--- a/DEPS
+++ b/DEPS
@@ -44,7 +44,7 @@
   # co19 is a cipd package. Use update.sh in tests/co19[_2] to update these
   # hashes. It requires access to the dart-build-access group, which EngProd
   # has.
-  "co19_rev": "dfab47fd11fb47a8475e77765fdb183a8002fe4e",
+  "co19_rev": "aff1a334d7875e465c2f43e1b38774512fbb4ba4",
   "co19_2_rev": "d6e96f6d922b17fcf2e021e0f2b28835c861eb17",
 
   # The internal benchmarks to use. See go/dart-benchmarks-internal
diff --git a/runtime/vm/compiler/backend/il_test_helper.cc b/runtime/vm/compiler/backend/il_test_helper.cc
index 63c1e36..5d332bc 100644
--- a/runtime/vm/compiler/backend/il_test_helper.cc
+++ b/runtime/vm/compiler/backend/il_test_helper.cc
@@ -36,6 +36,7 @@
   return lib.ptr();
 }
 
+#if !defined(PRODUCT)
 LibraryPtr ReloadTestScript(const char* script) {
   Dart_Handle api_lib;
   {
@@ -48,6 +49,7 @@
   EXPECT(!lib.IsNull());
   return lib.ptr();
 }
+#endif
 
 FunctionPtr GetFunction(const Library& lib, const char* name) {
   Thread* thread = Thread::Current();
diff --git a/runtime/vm/compiler/backend/il_test_helper.h b/runtime/vm/compiler/backend/il_test_helper.h
index 3b2f6ba..73f32bf 100644
--- a/runtime/vm/compiler/backend/il_test_helper.h
+++ b/runtime/vm/compiler/backend/il_test_helper.h
@@ -56,7 +56,7 @@
                           Dart_NativeEntryResolver resolver = nullptr,
                           const char* lib_uri = RESOLVED_USER_TEST_URI);
 
-LibraryPtr ReloadTestScript(const char* script);
+NOT_IN_PRODUCT(LibraryPtr ReloadTestScript(const char* script));
 
 FunctionPtr GetFunction(const Library& lib, const char* name);
 ClassPtr GetClass(const Library& lib, const char* name);
diff --git a/runtime/vm/type_testing_stubs_test.cc b/runtime/vm/type_testing_stubs_test.cc
index e036dfa..9e807ad 100644
--- a/runtime/vm/type_testing_stubs_test.cc
+++ b/runtime/vm/type_testing_stubs_test.cc
@@ -221,7 +221,7 @@
     // Respecialization can only happen for test cases that would specialize
     // and which won't end up cached in the TTS.
     ASSERT(!should_respecialize ||
-           should_specialize && !should_be_false_negative);
+           (should_specialize && !should_be_false_negative));
   }
 
   bool HasSameSTCEntry(const TTSTestCase& other) const {
@@ -552,7 +552,7 @@
         !is_lazy_specialization && test_case.should_be_false_negative;
     if (should_update_stc && !had_stc_entry) {
       // We should have changed the STC to include the new entry.
-      EXPECT(previous_stc_.IsNull() && !last_stc_.IsNull() ||
+      EXPECT((previous_stc_.IsNull() && !last_stc_.IsNull()) ||
              previous_stc_.cache() != last_stc_.cache());
       // We only should have added one check.
       EXPECT_EQ(previous_stc_.IsNull() ? 1 : previous_stc_.NumberOfChecks() + 1,
@@ -591,7 +591,7 @@
       }
     } else {
       // Whatever STC existed before, if any, should be unchanged.
-      EXPECT(previous_stc_.IsNull() && last_stc_.IsNull() ||
+      EXPECT((previous_stc_.IsNull() && last_stc_.IsNull()) ||
              previous_stc_.cache() == last_stc_.cache());
     }
 
@@ -1338,7 +1338,7 @@
   EXPECT(state.last_stc().ptr() == state.current_stc());
   // Loading the new library should not reset the STCs, as no respecialization
   // should happen yet.
-  EXPECT(state.last_stc().IsNull() && stc_cache.IsNull() ||
+  EXPECT((state.last_stc().IsNull() && stc_cache.IsNull()) ||
          stc_cache.ptr() == state.last_stc().cache());
 
   const auto& obj_b2 = Object::Handle(Invoke(second_library, "createB2"));
@@ -1390,7 +1390,7 @@
   EXPECT(state.last_stc().ptr() == state.current_stc());
   // Loading the new library should not reset the STCs, as no respecialization
   // should happen yet.
-  EXPECT(state.last_stc().IsNull() && stc_cache.IsNull() ||
+  EXPECT((state.last_stc().IsNull() && stc_cache.IsNull()) ||
          stc_cache.ptr() == state.last_stc().cache());
 
   const auto& obj_b3 = Object::Handle(Invoke(third_library, "createB3"));
diff --git a/tests/co19/co19-co19.status b/tests/co19/co19-co19.status
index 0d67353..60c3a7a 100644
--- a/tests/co19/co19-co19.status
+++ b/tests/co19/co19-co19.status
@@ -2,8 +2,18 @@
 # for details. All rights reserved. Use of this source code is governed by a
 # BSD-style license that can be found in the LICENSE file.
 
+Language/Libraries_and_Scripts/Scripts/top_level_main_t01: Skip # https://github.com/dart-lang/co19/issues/1137
+Language/Libraries_and_Scripts/Scripts/top_level_main_t06: Skip # https://github.com/dart-lang/co19/issues/1137
+LibTest/io/HttpClient/findProxy_A01_t01: Skip # https://github.com/dart-lang/co19/issues/1129
+LibTest/io/HttpClient/findProxy_A01_t02: Skip # https://github.com/dart-lang/co19/issues/1129
+LibTest/io/HttpClient/findProxy_A02_t01: Skip # https://github.com/dart-lang/co19/issues/1129
+LibTest/io/HttpClient/findProxy_A02_t02: Skip # https://github.com/dart-lang/co19/issues/1129
 LibTest/io/RawDatagramSocket/*: Skip # https://github.com/dart-lang/co19/issues/195
 
 [ $compiler == dart2analyzer ]
 LanguageFeatures/nnbd/static/strong/*: SkipByDesign # Strong mode tests should not be run with analyzer
 LanguageFeatures/nnbd/static/weak/*: SkipByDesign # Weak mode tests should not be run with analyzer
+
+[ $compiler == dart2js || $compiler == dartdevk ]
+Language/Libraries_and_Scripts/Scripts/top_level_main_t01: SkipByDesign # Uses dart:io.
+Language/Libraries_and_Scripts/Scripts/top_level_main_t06: SkipByDesign # Uses dart:io.
diff --git a/tests/language/generic_methods/explicit_instantiated_tearoff_test.dart b/tests/language/generic_methods/explicit_instantiated_tearoff_test.dart
index 5813d60..8028216 100644
--- a/tests/language/generic_methods/explicit_instantiated_tearoff_test.dart
+++ b/tests/language/generic_methods/explicit_instantiated_tearoff_test.dart
@@ -65,12 +65,8 @@
       .expectStaticType<Exactly<int Function(String, [String?])>>();
     this.extInstanceMethod<int, String>
       .expectStaticType<Exactly<int Function(String, [String?])>>();
-
     Expect.identical(staticMethod<int, String>, staticTearOff);
-
-    // Extension instance methods are not equal unless identical.
-    Expect.notEquals(
-        extInstanceMethod<int, String>, this.extInstanceMethod<int, String>);
+    // Extension instance methods do not specify equality.
   }
 }
 
@@ -134,9 +130,7 @@
   Expect.equals(
       o.mixinInstanceMethod<int, String>, o.mixinInstanceMethod<int, String>);
 
-  // Instantiated extension methods are not equal unless they are identical.
-  Expect.notEquals(
-      o.extInstanceMethod<int, String>, o.extInstanceMethod<int, String>);
+  // Instantiated extension methods do not specify equality.
 
   // And not canonicalized where they shouldn't (different types).
   Expect.notEquals(toplevel<int, String>, toplevel<num, String>);
@@ -155,12 +149,10 @@
     Expect.equals(C.staticMethod<T, String>, C.staticMethod<T, String>);
     Expect.equals(M.staticMethod<T, String>, M.staticMethod<T, String>);
     Expect.equals(E.staticMethod<T, String>, E.staticMethod<T, String>);
-    Expect.notEquals(local<T, String>, local<T, String>);
     Expect.equals(toplevel<int, T>, toplevel<int, T>);
     Expect.equals(C.staticMethod<int, T>, C.staticMethod<int, T>);
     Expect.equals(M.staticMethod<int, T>, M.staticMethod<int, T>);
     Expect.equals(E.staticMethod<int, T>, E.staticMethod<int, T>);
-    Expect.notEquals(local<int, T>, local<int, T>);
   }<int>());
 
   o.tearOffsOnThis();
diff --git a/tools/VERSION b/tools/VERSION
index 2200454..0bd35b8 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 15
 PATCH 0
-PRERELEASE 4
+PRERELEASE 5
 PRERELEASE_PATCH 0
\ No newline at end of file
diff --git a/tools/generate_package_config.dart b/tools/generate_package_config.dart
index f8afaa8..1664201 100644
--- a/tools/generate_package_config.dart
+++ b/tools/generate_package_config.dart
@@ -63,7 +63,7 @@
     packageDirectory('tools/package_deps'),
   ];
   // TODO(sigmund): remove this when dart2js_info's new location is used.
-  packageDirs.remove(packageDirectory('pkg/dart2js_info'));
+  packageDirs.remove(packageDirectory(p.join('pkg', 'dart2js_info')));
 
   var cfePackageDirs = [
     packageDirectory('pkg/front_end/testcases/'),
