On 01/03/2012 02:18 AM, Anthony Liguori wrote:

2) Why do you need a list for the interface objects at all? You can make
obj->interfaces point to a single blob, and initialize the objects in
place. You
only need to store the number of interfaces into the TypeImpl or in
the object
header, or add a dummy Interface at the end whose contents are all-zero.

Interfaces aren't really handled in a special way.  You could easily
make it so that the infrastructure could be modified to allow true
multiple inheritance.

I'm not sure I see an obvious benefit to making interfaces handled more
as a special case.  Right now, the only place that really even knows
about interfaces is dynamic_cast and initialization.  That seems like a
good thing to me.

That wouldn't really be a special case, not any more than initializing a device's child in-place within the parent struct.

Anyhow, nothing that can't be done as a followup.  Will review v2 now.

Paolo

Reply via email to