CIL is stack based, but has local variable slots
Created on 2023-09-23T18:09:50-05:00
A stack is used for holding values, yet local variable slots exist.
Values can be moved to numbered local slots--like registers--and the stack freely.
Instructions move elements between stack and local slots, or move values around slots.
Not sure this gets you out of register allocation issues though. You still have to deal with register contention eventually.