[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Ubuntu and Debian packages / 2013-07-07
From: |
David Chisnall |
Subject: |
Re: Ubuntu and Debian packages / 2013-07-07 |
Date: |
Mon, 8 Jul 2013 11:34:04 +0100 |
On 8 Jul 2013, at 11:07, Philippe Roussel <p.o.roussel@free.fr> wrote:
>> Does this package support Obj-C 2 features like properties and blocks?
>
> Packages are compiled with gcc and gcc's libobjc so objective-c 2
> support is limited
Off the top of my head, it will lack support for:
- Blocks (requires libobjc integration for memory management)
- Blocks-as-methods (requires some per-target assembly for the trampolines.
Works on MIPS n64, AArch32, x86-32 and x86-64)
- Non-fragile instance variables (so modifying a class doesn't require
recompiling all subclasses)
- Fast proxies (-forwardingTargetForSelector: is a fast path)
- ARC (which comes along with faster retain / release / autorelease, as well as
the compiler inserting them for you)
- Fast message sends (objc_msgSend() works on the four architectures listed
above)
- Apple-compatible +initialize behaviour (+initialize is a per-class lock)
- Objective-C++ exception interoperability (various combinations of Objective-C
and C++ exceptions will cause stack corruption or crashing)
- Associated references
- Accelerated Objective-C++ properties (various helper functions are needed to
provide fast copies for C++ objects in ObjC ivars)
- Type checking on message sends (so type mismatches cause an error instead of
stack corruption)
- Small objects (on 32-bit platforms, integers, on 64-bit platforms, integers,
floats and small strings, accounting for around 5-20% of total object
allocations in common applications are stored in a pointer)
- Libdispatch support (objects autoreleased in libdispatch blocks will be
correctly deallocated)
Oh, and packages built this way won't be compatible with LanguageKit or some of
the other Étoilé frameworks.
David
-- Sent from my PDP-11
- Ubuntu and Debian packages / 2013-07-07, Philippe Roussel, 2013/07/08
- Re: Ubuntu and Debian packages / 2013-07-07, Lundberg, Johannes, 2013/07/08
- Re: Ubuntu and Debian packages / 2013-07-07, Ivan Vučica, 2013/07/08
- Re: Ubuntu and Debian packages / 2013-07-07, Philippe Roussel, 2013/07/08
- Re: Ubuntu and Debian packages / 2013-07-07, David Chisnall, 2013/07/08
- Re: Ubuntu and Debian packages / 2013-07-07, Lundberg, Johannes, 2013/07/09
- Re: Ubuntu and Debian packages / 2013-07-07, David Chisnall, 2013/07/09
- Re: Ubuntu and Debian packages / 2013-07-07, Lundberg, Johannes, 2013/07/09
- Re: Ubuntu and Debian packages / 2013-07-07, Fred Kiefer, 2013/07/08
- Re: Ubuntu and Debian packages / 2013-07-07, Richard Frith-Macdonald, 2013/07/09
- Re: Ubuntu and Debian packages / 2013-07-07, Graham Lee, 2013/07/09
- Re: Ubuntu and Debian packages / 2013-07-07, Richard Frith-Macdonald, 2013/07/09