[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: NSSound Reimplementation
From: |
David Chisnall |
Subject: |
Re: NSSound Reimplementation |
Date: |
Thu, 16 Jul 2009 18:00:41 +0100 |
On 16 Jul 2009, at 17:26, Lars Sonchocky-Helldorf wrote:
Maybe it's not clear to everybody what benefits your patch
introduces. So maybe it would be a good idea to give a short
enumeration of all the gains to the broader public (I know you're
good at writing technical articles since I read quite a few off
them :-)).
As I wrote in my first email, it provides the same benefits as Apple's
non-fragile ABI:
You can add or re-arrange instance variables in a class without
breaking the ABI. You can also remove private instance variables.
Instance variable offsets are now stored in a global variable, rather
than being hard-coded, and are set when the class is loaded by the
runtime. This needs a small amount of compiler and runtime support.
The runtime support was in the diff I sent to this list, the compiler
support is in clang (and hopefully someone will add equivalent support
to GCC).
Unlike the Apple implementation, it does not require the superclass to
be compiled with the non-fragile ABI, so you can still compile GNUstep
with the old ABI and then create subclasses of GNUstep classes
compiled with the non-fragile ABI. If you rearrange or add ivars in a
GNUstep class, then the subclass will still work correctly, as long as
it was compiled with -fnonfragile-abi.
David
- Re: NSSound Reimplementation, (continued)
Re: NSSound Reimplementation, Richard Frith-Macdonald, 2009/07/16
Re: NSSound Reimplementation, Lars Sonchocky-Helldorf, 2009/07/16
Re: NSSound Reimplementation, Riccardo Mottola, 2009/07/16
Re: NSSound Reimplementation, Gregory Casamento, 2009/07/18