'Kay, here's the proposed changes: 1) Return conventions die. Chopped entirely out of the list 2) The hash for the sub/method name goes, though we may later regret that. 3) The return type info that was in I3 is gone. It's really "calling context" and I think we may need a better way for things in the system to figure out what context they're being called in. 4) The parameter list count that was in I1 is dead. If you care, ask the damn array 5) We 'fess up and admit there's no difference between call and return 6) Note that non-PMC counts only need to be filled in if we're marked "prototyped"
The call section is as follows. It's not checked in -- I want some list abuse^Wdiscussion first, since it's Yet Another Damn Call Overhaul. =head2 Calling conventions The following registers are used in calling all subs and methods =over 4 =item P0 Holds the object representing the subroutine. =item P1 Holds the return continuation for the caller. =item P2 Holds the object the sub was called on. (For method calls) =item P3 The overflow parameters. Everything that wouldn't fit in a register is in here. This PMC should act as an array, and belongs to the called sub/function/method. The caller should not assume anything about the state of the PMC passed in here after the call is made. =item S0 The fully qualified name of the method or sub being called =item I0 True if the sub is being called with prototyped parameters. =item I1 The number of params in integer registers =item I2 The number of parameters in PMC registers. =item I3 The number of string parameters =item I4 The number of numeric parameters Dan --------------------------------------"it's like this"------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk