Carl A. Waldspurger, William E. Weihl: Register Relocation: Flexible Contexts for Multithreading. ISCA 1993: 120-130