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...@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
_______________________________________________
vala-list mailing list
vala-list@gnome.org
http://mail.gnome.org/mailman/listinfo/vala-list

Reply via email to