While answering this question I noted that modern Objective-C runtime uses tagged pointers. The article by Mike Ash and its comments note that they are used for some NSNumber
and NSDate
instances.
Which got me thinking about the complete table of scenarios for different platforms:
Where does OSX/iOS 32/64-bit Objective-C runtime use tagged pointers?