3 ms·
But that's an allocator to virtual registers that don't try to correspond to (a valid number of) physical CPU registers. Sure it's easy to allocate to a large n
by tom_mellior 7y ago
But that's an allocator to virtual registers that don't try to correspond to (a valid number of) physical CPU registers. Sure it's easy to allocate to a large number of registers. It's harder to do it to a small number, like the project discussed here seems to claim to do.
- jashmatthews 7y agoI could be completely wrong but it looks like what this does is more like stack-caching. One operand, if it's the result of the last instruction, should already be in "virtual r0" which is already in a register. For the other operand of the opcode, it's an infinite set of "registers" at an offset from the stack pointer: https://github.com/wasm3/wasm3/tree/b1462d450ca367e39e4b2eb414f1520f73dfb7ab/source#the-end-result https://github.com/wasm3/wasm3/tree/b1462d450ca367e39e4b2eb4...
- tom_mellior 7y agoYou're right. This doesn't use a register machine in the usual sense of the word. It's kind of the software analog to accumulator machines.