I get consistantly much better timings when arguments of prototyped functions (regardless of type, number of arguments, or whether it is a vararg function) are simply all passed in a single PMC array unconditionally.
Please consider it.
Considered, but also discarded. I'm reasonably happy with how things are behaving now, other than the issues of inefficiencies in the array classes. Parameter registers make prototyped calling much faster, and I'm not convinced they slow down the non-prototyped case enough to make the change. IMCC has some issues of excessive saving that need addressing at some point, and the code generated to access @_ in perl 5 can be optimized a lot better than what most folks have been doing when emulating it by hand.
Also, as has been pointed out, a good bit of the cost for the IMCC style calls has nothing to do with registers at all, rather with the cost to set up the continuation for the return, something that we also may need to address.
--
Dan
--------------------------------------"it's like this"------------------- Dan Sugalski even samurai [EMAIL PROTECTED] have teddy bears and even teddy bears get drunk