Commits

Slava Pestov committed b3a7ba8ffd4
IRGen: Distinguish between 'class has fixed field count' and 'class has fixed size' Subclasses of imported Objective-C classes have an unknown size, but the start of the class's fields in the field offset vector is fixed, since the field offset vector only contains offsets of Swift stored properties. So we can always access fields with NonConstantDirect (for concrete) or ConstantIndirect (for generic types). On the other hand, generic subclasses of resilient classes must use the most general NonConstantIndirect access pattern, because we can add new fields resiliently. Also, assume NSObject won't change size or grow any new instance variables, allowing us to use the ConstantDirect access pattern.