Location RegisterState::pickLocal() { // pick a local Location r = ::pickRegister(allocated, LocalMask); if (r == UnAllocated) r = pickStackTemp(); allocate(r); return r; }
Location RegisterState::pickPermanent() { // pick a permanent local RegisterString s = allocated; Location r = ::pickRegister(s, LocalMask); if (r == UnAllocated) { r = pickStackTemp(); } allocatePermanent(r); return r; }
Location RegisterState::pickLocal() { // do not currently use registers, just go to stack Location r = pickStackTemp(); allocate(r); return r; }