On Tue, Nov 26, 2002 at 01:51:47PM +0100, Leopold Toetsch wrote:
> Either we fix this, or the registers have to be renumbered, so that reg 
> #0 is not used. The emit_code for registers could take care of this.

That's a crafty trick. nothing wrong with that :-)

> Currently no architecture has this problem, register #0 is used as 
> scratch register.
> 
> i386 uses register numbers 1 higher then actual, though EAX nether gets 
> mapped.
> 
> 
> > ["patches welcome"?]
> 
> 
> Always, but as currently no architecture is concerned ...

Valid point.

But I was envisaging for ARM that r12 or r14 ought to be the scratch
register. The way the ABI works, with r12 trashed on function call entry,
but r0 used to return values from functions means that r12 is available
within an op, while mapping r0 to a parrot register for the first JITted
op after an external call could save 1 register move.

Nicholas Clark

Reply via email to