Klass::_secondary_super_cache can be updated as a result of calling Klass::is_subtype_of(). As a result, it's not safe to call Klass::is_subtype_of() after ArchiveBuilder has started copying objects, as that may cause ArchiveBuilder to miss the new value that's been written into _secondary_super_cache.
In Leyden development, we had added some code that may call Klass::is_subtype_of() after ArchiveBuilder has started copying objects. Therefore, ArchiveBuilder should not follow _secondary_super_cache when coping objects. _secondary_super_cache should be reset to null when the Klass is written into the CDS archive.
In Leyden development, we had added some code that may call Klass::is_subtype_of() after ArchiveBuilder has started copying objects. Therefore, ArchiveBuilder should not follow _secondary_super_cache when coping objects. _secondary_super_cache should be reset to null when the Klass is written into the CDS archive.