ObjC Runtime

Contents

Symbol Names

Apple -> GNU

  • OBJC_CLASS_$_NSObject -> _OBJC_CLASS_NSObject
  • OBJC_METACLASS_$_NSObject -> _OBJC_METACLASS_NSObject

Performance

TODO: Test performance impact of objc_msgSendSuper

TODO

  • For old runtime, load __module_info (to check for EXT) and use __symbols to get the object list
  • Attributes of all sorts?
  • +initialize and +load
  • Categories - add all methods and protocols to the ref'd classes
  • Must handle different struct sizes in old runtime
  • ObjC++ (GNUstep: runtime.c; Apple: objc-class.mm, object_cxxDestruct...)
  • Toll-free Bridging - Implementation - working for CFStrings for now

Resources