diff --git a/CHANGELOG.md b/CHANGELOG.md
index 8f0e3f7..5a5879c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,13 +1,5 @@
 ## 1.23.0
 
-### Language
-* Allow using URI strings in `part of` declarations to refer to the
-  importing library.
-  A library part now can declare its library either as:
-  `part of name.of.library;` or as `part of "uriReferenceOfLibrary.dart";`.
-  This allows libraries with no library declarations (and therefore no name)
-  to have parts, and it allows tools to easily find the library of a part file.
-
 #### Strong Mode
 
 * Breaking change - it is now a strong mode error if a mixin causes a name
diff --git a/runtime/vm/jit_optimizer.cc b/runtime/vm/jit_optimizer.cc
index 686adc5..e42fa50 100644
--- a/runtime/vm/jit_optimizer.cc
+++ b/runtime/vm/jit_optimizer.cc
@@ -1542,6 +1542,17 @@
   const ICData& unary_checks =
       ICData::ZoneHandle(Z, instr->ic_data()->AsUnaryClassChecks());
 
+  const bool is_dense = CheckClassInstr::IsDenseCidRange(unary_checks);
+  const intptr_t number_of_checks = unary_checks.NumberOfChecks();
+  if (op_kind == Token::kEQ &&
+      number_of_checks > FLAG_max_equality_polymorphic_checks && !is_dense &&
+      flow_graph()->InstanceCallNeedsClassCheck(
+          instr, RawFunction::kRegularFunction)) {
+    // Too many checks, it will be megamorphic which needs unary checks.
+    instr->set_ic_data(&unary_checks);
+    return;
+  }
+
   if ((op_kind == Token::kASSIGN_INDEX) && TryReplaceWithIndexedOp(instr)) {
     return;
   }
diff --git a/tools/VERSION b/tools/VERSION
index 11dbf70..79f0a52 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -28,4 +28,4 @@
 MINOR 23
 PATCH 0
 PRERELEASE 11
-PRERELEASE_PATCH 10
+PRERELEASE_PATCH 11
