[vm/compiler] Fix recent regressions due to inaccurate type merging
[vm/compiler] Fix recent regressions due to inaccurate type merging

This is the follow-up fix for
https://github.com/dart-lang/sdk/commit/f81709c3e34438201682237e4faf6cb886094129

As part of that change, merging of known cid and abstract type in
LoadFieldInstr::ComputeType() was done less precisely, loosing a chance
to calculate a more accurate abstract type if cid is known.

This change fixes the problem by resetting abstract type if cid is known.
Similar change is also applied to LoadStaticFieldInstr::ComputeType().

Change-Id: I2b7dfa961e26c0ea98e66aaf9b9afb235dfa5684
Reviewed-on: https://dart-review.googlesource.com/76723
Reviewed-by: Ryan Macnak <d738b7f001baf9789095d7dc549cff6de60b011d@google.com>
Commit-Queue: Alexander Markov <239e774fd29abc1267878f57afe1a8a03e0ca887@google.com>

dart-archive/dart-sdk,dart-lang/sdk,dartino/dart-sdk,dart-archive/dart-sdk,dart-lang/sdk,dart-lang/sdk,dartino/dart-sdk,dart-lang/sdk,dartino/dart-sdk,dart-archive/dart-sdk,dart-archive/dart-sdk,dart-lang/sdk,dart-archive/dart-sdk,dart-lang/sdk,dartino/dart-sdk,dart-archive/dart-sdk,dartino/dart-sdk,dartino/dart-sdk,dartino/dart-sdk,dartino/dart-sdk,dart-archive/dart-sdk,dartino/dart-sdk,dart-archive/dart-sdk,dart-lang/sdk,dart-lang/sdk,dart-archive/dart-sdk