I agree with Leo. What good are param counts for the different return types anyway?
How can you tell the difference between a function returning (int, int, string, PMC, string, float, string, PMC) and a function returning (string, int, int, PMC, string, float, PMC, string)? Both will have the same register counts in spite of the differing function returns. Order matters, yet that information is lost in the proposed calling/return convention. The return register counts are not useful for reflection purposes for this reason. An ordered array of parameters makes far more sense. The "overflow array" of PMCs ought to be the general case, not just the exceptional case. _____________________________ From: Leopold Toetsch Subject: Re: Calling conventions. Again Date: 2003-11-12 09:48:35 PST Dan Sugalski <[EMAIL PROTECTED]> wrote: [ I,N,S counts ] > 6) Note that non-PMC counts only need to be filled in if we're marked > "prototyped" Again, this is IMHO unneeded or at least suboptimal. The caller has 3 more instructions. And what should the assembler generate for the callee? if I1 == 0 goto no_iparam # I5 is valid no_iparam: # now what When this is for some vararg stuff, it's by far simpler to check one param count, then to have 4 counts. All possible speedup is probably gone, when there are expensive runtime checks. > Dan leo __________________________________ Do you Yahoo!? Protect your identity with Yahoo! Mail AddressGuard http://antispam.yahoo.com/whatsnewfree