<html><body><p><tt>phausler@apple.com wrote on 01/13/2016 06:04:23 PM:</tt><br><tt>> <br>> Tony brought up an important point about the prep for integration <br>> this morning: the blocks runtime from libblocksruntime-dev will be <br>> incompatible with the layout of blocks referenced from swift since <br>> the object size there is 2 uint32’s bigger to handle the RR (we <br>> don’t have objc). Without modifying clang and the runtime we won’t <br>> have a way to properly handoff blocks back and forth w/o objc.</tt><br><br><tt>Hi,</tt><br><br><tt> I'm guessing RR expands to Retain Release?</tt><br><br><tt> I've started exploring the source in swift-corelibs-foundation/closure. Any chance there is a design doc laying out the object model used by the Swift implementation? I'm sure I could figure it out from the source code, but it would be nice to be able to cheat and start with a an overview.</tt><br><br><tt>thanks,</tt><br><br><tt>--dave</tt><br><br><tt>> <br>> I am currently taking a look at this to see what we can do to add an<br>> option to the clang code-gen to properly emit this structural <br>> difference. This isn’t a big issue for Foundation to CF since we <br>> don’t have many block APIs but dispatch is mostly blocks and that <br>> might pose an issue.</tt><br><tt>> <br></tt><BR>
</body></html>