Chromium Code Reviews
Description[vm,aot] Improve performance of certain 'is' operations
AOT may infer the range of Cids to check in order to perform
'is' (instance-of) operation. It is possible that the range contains
the only Cid, so AOT can generate 1 comparison instead of 2.
Note that the optimization of 'x is T' where T is not extended nor
implemented does not fully cover this case, as T could be abstract with
a single subclass or implementor.
The notable real case for this optimization is 'x is double',
as double is an abstract class with single implementor _Double.
This CL also improves type propagation for InstanceOfInstr, and
enables printing of abstract types in IL printer.
R=rmacnak@google.com
Issue: https://github.com/dart-lang/sdk/issues/30480
Committed: https://github.com/dart-lang/sdk/commit/4f092b7e5fc501479c4475cfaa6a51887ab2261d
Patch Set 1 #
Total comments: 6
Messages
Total messages: 7 (2 generated)
|
|||||||||||||||||||||||||||||||||||||