In his review of the code changes for 7035117, Christian suggested that the "as_pointer_register" be used to get the register containing the thread in the additional C1 code stub code for Unsafe.get().
Looking at this routine - this seems like an excellent idea. as_pointer_register has exactly the same logic as the existing code (in 64 bit the value in the low half of the register pair is returned; in the 32 bit only a single register is specified and that is returned) and has an assert that for a register pair the low and high halves are the same machine register.
Unfortunately Christian's review comments came in just before the changes were pushed to the hotspot-gc repo.
Hence this CR.