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