1. A computer implemented method for register allocation in a multi-threading data processing environment, the computer implemented method comprising: determining that a thread of an application in the data processing environment needs a higher number of physical registers than a second number of physical registers in a set of physical registers that is available to allocate to the thread; configuring the thread to utilize a logical register that is mapped to a memory register; and executing the thread.