Support drreg use outside of insertion phase combined with use in insertion phase
drreg claims to support bare-bones use outside of the insertion phase, and it does, except it does not do the right thing if there are also drreg users in the insertion phase: it will not keep the reservations in the two phases distinct. The same problem happens with multiple users in the same app2app or instru2instru phase.
If we do want to support use in other phases (the one being hit now is #2985 (closed) ), my proposal would be to add disjoint slot spaces or "arenas". This may have to be done w/ global state to avoid breaking existing interfaces by adding an arena parameter:
drreg_set_arena();
drreg_reserve_xxx();
drreg_clear_arena();
and drreg_init w/ some DRREG_ flag creating a separate arena of the asked-for-number of slots.
We would need to work through interactions w/ regular insertion drreg and make sure it's going to work in other respects -- reg spilled in app2app will be spilled again (nested) but restored to 1st spill on app barrier. Other client will not be able to get app's native value: ok to live w/?