<html><body><p><tt>phausler@apple.com wrote on 01/13/2016 06:04:23 PM:</tt><br><tt>&gt; <br>&gt; Tony brought up an important point about the prep for integration <br>&gt; this morning: the blocks runtime from libblocksruntime-dev will be <br>&gt; incompatible with the layout of blocks referenced from swift since <br>&gt; the object size there is 2 uint32’s bigger to handle the RR (we <br>&gt; don’t have objc). Without modifying clang and the runtime we won’t <br>&gt; 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. &nbsp;Any chance there is a design doc laying out the object model used by the Swift implementation? &nbsp;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>&gt; <br>&gt; I am currently taking a look at this to see what we can do to add an<br>&gt; option to the clang code-gen to properly emit this structural <br>&gt; difference. This isn’t a big issue for Foundation to CF since we <br>&gt; don’t have many block APIs but dispatch is mostly blocks and that <br>&gt; might pose an issue.</tt><br><tt>&gt; <br></tt><BR>
</body></html>