At 7:34 PM +0100 11/17/04, Leopold Toetsch wrote:
Bill Coffman <[EMAIL PROTECTED]> wrote:
On Wed, 17 Nov 2004 14:14:18 +0100, Leopold Toetsch <[EMAIL PROTECTED]> wrote:
 I've now (locally here) extended Bill Coffman's register allocator by
 one subroutine that actually decides to use non-volatiles or volatiles
 according to pdd03. All variables that are live around a subroutine call
 >> are e.g. allocated from R16..R31.
 > Regarding pdd03, I am still not clear how it should be interpreted.

All registers are preserved, but some of these registers are used,
either by implict opcodes or as return values.

Erm, no. Unused registers in the 0-15 range are explicitly garbage:

    Note that registers 16-31 of each of the four types are, for
    security reasons, I<never> passed into the invoked subroutine,
    method, or continuation. They are guaranteed to be garbage.

 > * Registers P4, S1-S4, N0-N4 are free for allocation, regardless.

I've included P3 (see below). If it's used it interfers.

Nope. It'll either be set if a call returns overflow parameters, or unused and thus garbage.
--
Dan


--------------------------------------it's like this-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                      teddy bears get drunk

Reply via email to