dart-sdk/runtime
Alexander Markov 8ff777e61f [vm] Fix equality of uninstantiated generic closures
Equality of uninstantiated generic closures should match equality
of corresponding instantiated generic closures.

We cannot use identity for equality of instantiated generic closures
as distinct instantiations of the same generic closure should be equal.
So, identity shouldn't be used for uninstantiated generic closures
neither.

This change fixes equality for uninstantiated generic closures
and also updates closure hashCode correspondingly.

TEST=language/closure/instantiation_closure_equality_test
TEST=co19/LanguageFeatures/Constructor-tear-offs/equality_*

Fixes https://github.com/dart-lang/sdk/issues/51660

Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-nnbd-linux-release-x64-try
Change-Id: Ieafc052de4a4f5f9ffcd2d9d26cb36a209c0e127
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/287581
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2023-03-08 21:44:56 +00:00
..
bin [vm] Update to variadic FATAL. 2023-03-06 22:06:59 +00:00
docs [vm] Timeline docs. 2023-03-06 21:33:24 +00:00
include [vm] Fix Dart_CObject_Type breaking change 2023-02-20 11:59:19 +00:00
lib [vm] Fix equality of uninstantiated generic closures 2023-03-08 21:44:56 +00:00
observatory [dart2js] Update tests matrix entries 2023-03-08 08:40:57 +00:00
observatory_2 [vm] Remove malloc profiler. 2023-03-06 21:00:30 +00:00
platform [vm] Make VM strict about min required Mac OS X version. 2023-03-08 09:08:39 +00:00
tests [vm] Remove malloc profiler. 2023-03-06 21:00:30 +00:00
third_party Spelling pkg analyzer lib 2023-01-25 14:08:27 +00:00
tools [vm] Remove malloc profiler. 2023-03-06 21:00:30 +00:00
vm [vm] Fix equality of uninstantiated generic closures 2023-03-08 21:44:56 +00:00
.clang-tidy
.gitignore
BUILD.gn [vm] Remove malloc profiler. 2023-03-06 21:00:30 +00:00
codereview.settings
configs.gni [vm/ffi] FfiNative process lookup 2022-10-25 10:57:07 +00:00
CPPLINT.cfg [cpplint] Disable runtime/references lint 2023-01-23 18:21:48 +00:00
OWNERS
PRESUBMIT.py Revert "[VM] Begin supporting Perfetto file recorder" 2023-02-28 12:41:00 +00:00
runtime_args.gni [vm] Remove malloc profiler. 2023-03-06 21:00:30 +00:00