32396138ff
Implemented more efficient way to iterate ClassSet in class_hierarchy.dart, ClassSet becomes Iterable<Class>. This considerably improves speed of ClosedWorldClassHierarchy.getSingleTargetForInterfaceInvocation() and CHA-based devirtualization. Time of CHA-based devirtualization on Flutter Gallery reduced from ~13.4s to ~1.2s. Also, ClassHierarchy used in devirtualization is configured to ignore ambiguous supertypes to avoid crashes on Flutter Gallery. Change-Id: Iaca251ca268aad3d8bb652247650096f19c25839 Reviewed-on: https://dart-review.googlesource.com/38960 Commit-Queue: Alexander Markov <alexmarkov@google.com> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>