SPARC context switch

Gedare Bloom gedare at
Fri Nov 6 14:54:41 UTC 2009


I have been studying the SPARC context switch code, and had a few
questions about some of the design choices.

 1) Why aren't the floating-point save/restore functions leaf-optimized?

 2) Other than %o6, which holds the stack pointer, and %o7, which
holds the return PC value, why are the %o registers saved in the
context?  Since these functions are called, shouldn't they only need
to save the registers that are preserved across function calls?

 3) Is g0 included in Context_Control only for alignment purposes (so
that double-word ldd/std can be used)?

I hope I don't come off as sounding critical, I'm really just curious. :)


More information about the users mailing list