[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Register versus stack based VMs
- From: gtkelly@...
- Date: Wed, 19 Dec 2007 13:30:22 -0800
Luiz and Taj have posted two great links. This is really great stuff. I've been looking for BSD-licensed RISC-centric solutions to compiling and JIT, and have had to face writing the stuff myself. I have some questions about the register-based VM in Lua.
1) Do you use an infinite number of virtual registers?
2) Are there volatile and non-volatile registers (across function calls)?
3) Can the VM layer be completely replaced with RISC object code?
4) Where would I look in the source code to start poking around?
I wrote a Lua-based PowerPC disassembler some months back, but got hung up trying to accomodate too many different file formats (MachO and PEF use containers within containers, XCOFF and ELF do not) so while the core is written I haven't released it. To some extent, I think Lua would make a good interpreting layer for a compiler, and if Lua itself is register-based, it might be an excellent basis for a RISC-centric programming language (I particularly like the ability to return multiple values from a function call, line'em up r3-r9).
"Anything war can do, peace can do better." -- Desmond Tutu