Page MenuHomePhabricator

js (Jonathan Schleifer)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 21 2018, 5:27 PM (100 w, 13 h)

Recent Activity

Dec 20 2018

js added a comment to D55869: Convert some ObjC retain/release msgSends to runtime calls.
In D55869#1337706, @js wrote:

The ObjFW runtime itself does not contain anything about release, retain or autorelease - these are all part of ObjFW (as in the framework). As ObjFW also supports the Apple runtime, as well as mixing with Foundation code, it so far only provides objc_retain and objc_release when they are missing, to make ARC work. They just call into the corresponding methods on the object and do nothing else.

How will this change work from the Apple runtime? Will objc_retain/objc_release call the retain/release on the object if it implements its own? Should I drop my own retain/release implementation from my root object if I am compiling against the Apple runtime?

Yes, the idea is that the specialized runtime functions are fast paths for the common case, but they still fall back if the object has overridden them.

Dec 20 2018, 9:21 AM
js added a comment to D55869: Convert some ObjC retain/release msgSends to runtime calls.

Okay. That's also presumably true for open-source runtimes that support ARC; tagging David Chisnall and Jonathan Schleifer to get their input.

shouldUseARCFunctionsForRetainRelease() returns false for the other runtimes. This seems like the right thing to do until/unless they add support.

Would make sense for the driver to additionally imply -fno-objc-convert-messages-to-runtime-calls for other runtimes as a bigger hammer?

Dec 20 2018, 9:16 AM
js added a comment to D55869: Convert some ObjC retain/release msgSends to runtime calls.

Thanks for tagging me!

Dec 20 2018, 9:06 AM

Nov 21 2018

js requested changes to D53696: [Haiku] Support __float128 for Haiku x86 and x86_64.
Nov 21 2018, 5:30 PM · Restricted Project
js added inline comments to D53696: [Haiku] Support __float128 for Haiku x86 and x86_64.
Nov 21 2018, 5:29 PM · Restricted Project