At 10:12 PM +0100 11/17/04, Leopold Toetsch wrote:
Dan Sugalski <[EMAIL PROTECTED]> wrote:
At 7:34 PM +0100 11/17/04, Leopold Toetsch wrote:

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:

It was about usabalitiy of registers for the allocator. So before I make a function call, these are allocatable as temps. Return values are garbage, if not set.

As long as the allocator is set to assume that after a function call that all the registers in the range 0-15 that don't have return values are garbage. So if there are no string return values, string registers 0-15 are toast.


> 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.

Not quite. S and P regs have to be NULLed. Or you gonna tell the DOD system how to mark garbage ;)

No, the invoke op. -- Dan

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

Reply via email to