[js_runtime] Not worth inlining TypeImpl.==

Change-Id: I7d04aa903abb653f6cec12631b4153cd493bd66c
Reviewed-on: https://dart-review.googlesource.com/c/90581
Commit-Queue: Stephen Adams <sra@google.com>
Reviewed-by: Stephen Adams <sra@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
diff --git a/sdk/lib/_internal/js_runtime/lib/js_rti.dart b/sdk/lib/_internal/js_runtime/lib/js_rti.dart
index 9a6ef99..bdef059 100644
--- a/sdk/lib/_internal/js_runtime/lib/js_rti.dart
+++ b/sdk/lib/_internal/js_runtime/lib/js_rti.dart
@@ -60,6 +60,7 @@
   // TODO(ahe): This is a poor hashCode as it collides with its name.
   int get hashCode => _hashCode ??= _typeName.hashCode;
 
+  @pragma('dart2js:noInline')
   bool operator ==(other) {
     return (other is TypeImpl) && _typeName == other._typeName;
   }
diff --git a/tests/compiler/dart2js/rti/emission/dynamic_type_literal.dart b/tests/compiler/dart2js/rti/emission/dynamic_type_literal.dart
index 8f7ce92..66d91cf 100644
--- a/tests/compiler/dart2js/rti/emission/dynamic_type_literal.dart
+++ b/tests/compiler/dart2js/rti/emission/dynamic_type_literal.dart
@@ -6,7 +6,7 @@
 
 import "package:expect/expect.dart";
 
-void main() {
+void main(bool b) {
   Expect.isTrue(dynamic is Type);
-  Expect.isFalse(dynamic == Type);
+  Expect.isFalse(dynamic == (b ? Type : dynamic)); // ?: avoids constant folding
 }