7ff975c2e5
`IsTrivial` is supposed to return true iff `ToCompileType` would produce a trivial (dynamic) type. However `IsTrivial` was taking some of the irrevant parts of the `InferredTypeMetadata` into account - meaning that it returned `false` where it should have returned `true`. This lead us to assign useless `dynamic` result type to various `StaticCall`, some of these calls can later be lowered to `LoadIndexed` instructions, which will then also get the `dynamic` result type. This useless type will then take priority over more precise element type which could be inferred by `LoadIndexedInstr::ComputeType` TEST=vm/dart/load_indexed_trivial_type_il_test Cq-Include-Trybots: luci.dart.try:vm-aot-linux-release-x64-try,vm-aot-linux-debug-simarm_x64-try,vm-aot-linux-debug-x64-try,vm-aot-android-release-arm64c-try Change-Id: I69ee965ba0d0ac85ede3989680371f0dda19d8a9 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/325302 Reviewed-by: Alexander Markov <alexmarkov@google.com> Commit-Queue: Slava Egorov <vegorov@google.com>