swift
c9091015 - [4.0] runtime: Move String implementation stubs that want need the auto-rel…

Commit
7 years ago
[4.0] runtime: Move String implementation stubs that want need the auto-rel… …eased return value optimization to an ARC compiled file String's hashValue function is implemented in terms of Foundation's hash function in a runtime function on darwin platforms. For non-ASCII strings we will call str.decomposedStringWithCanonicalMapping inside this runtime function which will allocate a new NSString and return the result in the current autorelease pool. We implemented this function in a file compiled without ARC. This meant that we would leak said NSString into the current active autorelease pool. This patch moves the implementation to a file compiled with ARC. ARC will insert objc_retainAutoreleasedReturnValue call and on platforms that require it an marker for the hand-off of the autoreleased return value optimization. SR-4889 rdar://32199117
Author
Committer
Parents
Loading