language: en

Register Windows and User-Space Threads on the SPARC

David Keppel
Technical Report #91-08-01
Department of Computer Science and Engineering University of Washington
Seattle, Washington 98195
1 August 1991

Abstract Multiple lightweight processes or threads have multiple stacks, and a thread context switch moves execution from one stack to another. On the SPARC 1 architecture, parts of a thread's stack can be cached in register windows while the thread is running. The cached data must be flushed to memory when the thread is suspended. Doing the flushing both efficiently and correctly can be tricky. This document discusses the implementation of a non-preemptive user-space threads package under SunOS 2 .

1 Introduction