I'd have to agree with Andrew.  With only 32 registers of each type in 
Parrot (the last time I checked) using most of them for function arguments 
would cause much needless register copying within each function.  
Surely 8 registers of each type would be more than sufficient for 
function parameters, and the rest could be local scratch registers 
for each function to use as it pleased without saving.

It might be beneficial to look at the code in register rich CPU 
architectures in GCC to see what calling conventions are used for
such chips.

This Google thread discusses this topic:

http://groups.google.com/groups?hl=en&selm=85hhsi%24lkj%241%40nnrp1.deja.com

On Mon, 29 Apr 2002 09:50:12 +1000 Andrew J Bromage wrote:
>On Sun, Apr 28, 2002 at 11:44:04AM -0400, Dan Sugalski wrote:
>
>> We're going caller-save. I think I made this declaration before,  but 
>> now it's backed up with pure PDD goodness. :)
>
>The first thing to realise is that this violates the principle of
>"callee does everything important to it". :-)
>
>More seriously, this is the opposite extreme, and IMO it's also not
>a good idea.



__________________________________________________
Do You Yahoo!?
Yahoo! Health - your guide to health and wellness
http://health.yahoo.com

Reply via email to