dart-sdk/runtime
Martin Kustermann 922a74c96a Revert "[vm/compiler] Fix TypeTestingStub -> SubtypeTestCache fallback code if dst_type = TypeParameter"
This reverts commit 20ec71d447.

Reason for revert: Performance regressions and seemingly broken TypedData.* benchmarks.

Original change's description:
> [vm/compiler] Fix TypeTestingStub -> SubtypeTestCache fallback code if dst_type = TypeParameter
> 
> If the dst_type of an AssertAssignable is a type parameter, the AssertAssignable
> implementation will load the value of the type parameter using
> the (instantiator or function) type arguments. It will then call the
> type testing stub (TTS) of that type.
> 
> If the TTS is not exhaustive (e.g. because `T = X<..>` wher `X` is
> implemented), it can fall back to the slower SubTypeTestCache implementation.
> 
> Right now the STC fallback will get the loaded value of the type
> parameter for `dst_type` instead of the type parameter. Doing so is
> incorrect.
> 
>   => This CL ensures we preserve dst_type = TypeParameter for the STC
>   fallback.
> 
> Issue https://github.com/dart-lang/sdk/issues/39716
> 
> Change-Id: Idea2405efbdc01c031ee68dbb345820e721533eb
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/127640
> Commit-Queue: Martin Kustermann <kustermann@google.com>
> Reviewed-by: Régis Crelier <regis@google.com>

TBR=vegorov@google.com,kustermann@google.com,regis@google.com

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I79f2d7db8747743a778126088e375bb4d268c91a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128020
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2019-12-10 23:56:06 +00:00
..
bin [vm] Enable ELF loader to read snapshots from memory without any backing file. 2019-12-10 12:26:05 +00:00
docs Fix typo in snapshot_profiling.md. heapsnaphsot -> heapsnapshot 2019-11-25 15:58:15 +00:00
include Clarify the roles of isolate_data and isolate_group_data in Dart_CreateIsolateGroup 2019-12-10 19:02:25 +00:00
lib [VM/nnbd] Implement syntactic type equality. 2019-12-09 18:18:59 +00:00
llvm_codegen [llvm_codegen] Use exclusively SExpression support from VM and nothing else. 2019-10-30 16:27:04 +00:00
observatory [observatory] Display process-wide memory usage with heap snapshots. 2019-12-07 00:28:15 +00:00
platform [vm] DBC is obsolete. Remove dead code. 2019-10-27 18:18:29 +00:00
tests/vm Revert "[vm/compiler] Fix TypeTestingStub -> SubtypeTestCache fallback code if dst_type = TypeParameter" 2019-12-10 23:56:06 +00:00
third_party Mass format python with yapf 2019-08-05 20:34:31 +00:00
tools [dartfuzz] Fix infinite recursion 2019-12-09 19:29:29 +00:00
vm Revert "[vm/compiler] Fix TypeTestingStub -> SubtypeTestCache fallback code if dst_type = TypeParameter" 2019-12-10 23:56:06 +00:00
.clang-tidy [vm] Add runtime/.clang-tidy file 2019-09-05 09:51:13 +00:00
.gitignore
BUILD.gn [vm] DBC is obsolete. Remove dead code. 2019-10-27 18:18:29 +00:00
codereview.settings
configs.gni [build] Introduce gen_snapshot_host_targeting_host. 2019-09-30 18:10:37 +00:00
CPPLINT.cfg
PRESUBMIT.py Mass format python with yapf 2019-08-05 20:34:31 +00:00
runtime_args.gni [vm] DBC is obsolete. Remove dead code. 2019-10-27 18:18:29 +00:00