[VM] Only add direct implementor when reading script snapshots if the implemented class is from the full snapshot

Change-Id: Id6ad0d266a3e0b6ed3d1d50c8c2671fe13e0e9ff
Reviewed-on: https://dart-review.googlesource.com/67320
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
This commit is contained in:
Martin Kustermann 2018-07-29 17:52:54 +00:00 committed by commit-bot@chromium.org
parent 6e81d74fcc
commit 8e287dc037

View file

@ -925,8 +925,11 @@ void SnapshotReader::FixSubclassesAndImplementors() {
interface_cls.set_is_implemented();
interface_cls.DisableCHAOptimizedCode(cls);
interface_cls.AddDirectImplementor(cls);
interface_cls.DisableCHAImplementorUsers();
if (!interface_cls.IsObjectClass() &&
interface_cls.IsInFullSnapshot()) {
interface_cls.AddDirectImplementor(cls);
interface_cls.DisableCHAImplementorUsers();
}
}
}
}