>>>>> "DS" == Dan Sugalski <[EMAIL PROTECTED]> writes:

DS> The problem with that is that vtables need to be constant, and the list of
DS> subs in a package isn't constant, nor is it always known at compile time.

Why? All you need is a constant location.

Given that perl has to see _all_ subroutine names each new name is assigned
an offset. (Or to save space an indirection to the offset.)

If even the actual method is a variable, then we fall back to a name
lookup to determine the offset.

DS> I'm all for wedging a pointer to the package symbol table into an object,
DS> and I'm all for pre-hashing the method name into the method call op, and
DS> I'm all for linking the @ISAs (or whatever they end up being) so that a
DS> change to a parent package propagates a weak ref into the child packages
DS> assuming there's no method of that name already. I'm not sure what else we
DS> can do, though.

We will have to wait for the code to shape up.

<chaim>
-- 
Chaim Frenkel                                        Nonlinear Knowledge, Inc.
[EMAIL PROTECTED]                                               +1-718-236-0183

Reply via email to