Re: [Vala] Can adding new virtual method break ABI?
- From: Mikkel Kamstrup Erlandsen <mikkel kamstrup gmail com>
- To: Jürg Billeter <j bitron ch>
- Cc: Vala List <vala-list gnome org>
- Subject: Re: [Vala] Can adding new virtual method break ABI?
- Date: Wed, 14 Dec 2011 11:15:06 +0100
On 12 December 2011 12:15, Jürg Billeter <j bitron ch> wrote:
On Mon, 2011-12-12 at 12:12 +0100, Luca Bruno wrote:
On Mon, Dec 12, 2011 at 12:01 PM, Jürg Billeter <j bitron ch> wrote:
On Sun, 2011-12-11 at 11:34 +0100, Luca Bruno wrote:
> 2011/12/11 Tal Hadad <tal_hd hotmail com>
>
> > This idea is based on the assumption that the size of
XClass struct
> > doesn't matter and can be changed(Am I right?).
> > Also, how does the virtual method order is currently done
by Vala? Is it
> > alphabetic or by the order of the decelerations?
> >
>
> The ordering does not matter, the padding does.
Ordering matters as well. Vala uses declaration order.
We're talking about virtual methods, aren't we? There's no ABI break
if the order of N pointers is exchanged.
When a subclass overrides a virtual method, the class_init function uses
the offset of the virtual function pointer. If that offset changes, the
subclass will need to be recompiled to work again.
Indeed.
Would it make sense to a [CCode (vfunc_padding = "8")] to class
declarations? This could then be decremented when new virtual
functions are added (to the end of the class!).
Cheers,
Mikkel
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]