4 ms·
> This suggested techniques to eliminate loads and stores (e.g. switching to a register based bytecode) would be an effective optimization. Did anybody try any
by dmoreno 8y ago
> This suggested techniques to eliminate loads and stores (e.g. switching to a register based bytecode) would be an effective optimization.
Did anybody try anything in these line of work?
- jashmatthews 8y agoThere's an experimental branch for Ruby: https://github.com/vnmakarov/ruby/tree/rtl_mjit_branch https://github.com/vnmakarov/ruby/tree/rtl_mjit_branch Dalvik also uses a register-based bytecode. The early versions of Android needed a more efficient interpreter. Dan Bornstein's talk: https://www.youtube.com/watch?v=ptjedOZEXPM https://www.youtube.com/watch?v=ptjedOZEXPM A classic paper on Register vs Stack VMs: https://www.usenix.org/legacy/events/vee05/full_papers/p153-yunhe.pdf https://www.usenix.org/legacy/events/vee05/full_papers/p153-...
- raverbashing 8y agoWell, you can (kinda) do that if you have "direct access" to positions in the stack, so for example, say `add s[0],s[3]` (I think x87 had something like that)
- tyingq 8y agoThe Perl6 VMs (Parrot, MoarVM) are register based.
- mschaef 8y agoI believe Lua is as well.