mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
Don't emit placeholders for field offsets and vtable entries, since they were always null. Instead, calculate the final size of class metadata at runtime using the size of the superclass metadata and the number of immediate members, and only copy this prefix from the template to the instantiated metadata, zero-filling the rest. For this to work with non-generic resilient classes and non-generic subclasses of generic classes, we need a new runtime entry point to relocate non-generic class metadata, calculating its size at runtime using the same strategy.