Stack-Based Virtual Machines

The cluster focuses on discussions about implementing and evaluating stack-based virtual machines, bytecode interpreters, and their alternatives like JIT compilers, with references to historical efforts and projects such as JVM, LuaJIT, and MiniVM.

📉 Falling 0.5x Programming Languages
3,242
Comments
20
Years Active
5
Top Authors
#9300
Topic ID

Activity Over Time

2007
1
2008
32
2009
67
2010
99
2011
90
2012
125
2013
145
2014
155
2015
208
2016
200
2017
233
2018
193
2019
211
2020
249
2021
212
2022
258
2023
265
2024
245
2025
238
2026
16

Keywords

e.g JIT IL CPS V8 IR JVM TIMI HN MIR bytecode vm interpreter language compiler code jit jvm machine virtual machine

Sample Comments

nialo Sep 22, 2016 View on HN

mostly curiosity: why a stack vm in particular? (is it because you then need to write the compiler for it?)

sam36 Dec 11, 2019 View on HN

Oh yea, instead lets write it in an interpreted language who's VM is written in C....

andrewchambers Oct 25, 2017 View on HN

A stack based VM or direct interpretation have no real difference with regard to what you mention. Please elaborate further.

You're basically describing a virtual machine. Compile to bytecode and the runtime JITs (or AOTs) it on the host. It is an idea decades old.

bombcar Jul 11, 2022 View on HN

Would it ever make sense to build a chip/vm (something like the JVM) designed to run the intermediate code directly?

slurgfest Oct 19, 2012 View on HN

Why is it not possible to engineer a basic VM to do this job from the start, rather than retrofitting Javascript to act as a bytecode?

baybal2 Aug 5, 2017 View on HN

The parsed VM bytecode and calls to native code by the interpreter are two quite different things

fulafel Mar 14, 2018 View on HN

This has been tried many times in the history of computing (ANDF/TenDRA, JVM, NaCL, P-code, TIMI, etc). What's different this time?

mseepgood Nov 28, 2013 View on HN

Obviously the latter. Otherwise it would have to be a JIT compiling VM, not a simple interpreter.

xiphias2 Jul 12, 2021 View on HN

Wouldn’t outputting amd64 instructions and jumping to it create a shorter interpreter?