[swift-corelibs-dev] libdispatch prep for integration to the rest of swift-corelibs

David P Grove groved at us.ibm.com
Thu Jan 14 16:49:27 CST 2016


phausler at apple.com wrote on 01/13/2016 06:04:23 PM:
>
> Tony brought up an important point about the prep for integration
> this morning: the blocks runtime from libblocksruntime-dev will be
> incompatible with the layout of blocks referenced from swift since
> the object size there is 2 uint32’s bigger to handle the RR (we
> don’t have objc). Without modifying clang and the runtime we won’t
> have a way to properly handoff blocks back and forth w/o objc.

Hi,

	I'm guessing RR expands to Retain Release?

	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.

thanks,

--dave

>
> I am currently taking a look at this to see what we can do to add an
> option to the clang code-gen to properly emit this structural
> difference. This isn’t a big issue for Foundation to CF since we
> don’t have many block APIs but dispatch is mostly blocks and that
> might pose an issue.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-corelibs-dev/attachments/20160114/c8352b08/attachment.html>


More information about the swift-corelibs-dev mailing list