Port-sparc64 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Stack bias



> 'save' is a subtract instruction that reads from the old window and
> writes to the new.

Well, it also changes the CWP, and possibly takes a window spill trap,
but yes.

> It is always(?) used to subtract from %sp and thus writes to the new
> %o6.

Not quite always.  There's kernel code that uses %g0 as the registers.
Given what Eduardo has been saying, I suspect using anything but
%sp/%sp in user-mode code runs basically the same risks as trashing %o6
- the kernel may spill register windows to "wrong" places - but in
kernel code like window {over,under}flow handlers things are different.

/~\ The ASCII                             Mouse
\ / Ribbon Campaign
 X  Against HTML                mouse%rodents-montreal.org@localhost
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


Home | Main Index | Thread Index | Old Index