nanboxing and nunboxing in #JS #virtual-machine implementation techniques
on 02025-03-28"Idel" is Darius Bacon’s secure #Forth #virtual-machine from 1997–2003; “a RISC approach to memory protection”. No native-code JIT (yet!).
on 02020-06-20Jeremiah Orians’s "Knight" #virtual-machine (really a forgotten minicomputer design from the 01970s) is a couple of orders more complex than simple virtual machines like Chifir, the Cult of the Bound Variable, or Wirth’s RISC. #bootstrapping
on 02020-06-20"CARDIAC" is a simple decimal von Neumann #virtual-machine, designed in 1969 for teaching about computers, with 100 memory locations. Unfortunately, indexing requires self-modifying code.
on 02020-06-20Chip-8 was a simple hexadecimal programming language or #virtual-machine for 1970s home computers, with 36 instructions, with sprites and beeps. #retrocomputing
on 02020-06-20“a simple stack-based virtual game console, designed to be as simple as possible to implement. Maker is a compiler for a Forth-like language that targets the Mako VM.” The #virtual-machine provides “a pixel-scrollable 31x41 grid of 8x8 background tiles, a set of 256 variable-size sprites” and stuff, and the provided VM implementation is a few hundred lines of Java. Looks like a much better alternative to the PICO-8, since it’s licensed under the Do What The Fuck You Want To Public License.
on 02017-03-22The #Lua #virtual-machine compiled to #JS (or maybe asm.js?) with Emscripten runs at 64% of native speed in Firefox. Maybe useful for #explorable-explanations. Suffers from memory leaks at the FFI between Emscripten and JS.
on 02016-11-23Idel is Darius’s secure Forth #virtual-machine from 1997–2003; “a RISC approach to memory protection”. No native-code JIT (yet!).
on 02016-07-24This is the spec for Glulx, a three-operand 32-bit #virtual-machine designed by #Andrew-Plotkin aka Zarf, one of the leading #interactive-fiction authors as a simpler and less limited replacement for the #Z-machine, with Huffman string compression, integer and floating-point math, a standardized savegame format, no built-in object tree, and a dynamically-allocated heap. #toread
on 02016-04-29#runes are baked into the #Z-machine #virtual-machine spec as part of “font 3”
on 02016-04-27Seems like the #Z-machine #virtual-machine requires savegames to be in a different format from story files (programs), because the story files can’t include a suspended call stack, and savegames must.
on 02016-04-26Interesting, Infocom tried to use the #Z-machine #virtual-machine as a database engine called Cornerstone. #history
on 02016-04-26part of the latest version of the Zork #Z-machine #virtual-machine spec. Interesting to note that they’re scaling string and routine addresses by 4 or 8 (thus imposing alignment constraints!) in order to make the best of their 16-bit addresses.
on 02016-04-26the Zork #Z-machine #virtual-machine #ISA architecture had JSish property lists (albeit with 5-bit property IDs) for the objects (“Things”) in the game, which were organized into a rigid but mutable containment tree; they were mutable and not pageable, but program code was immutable and consequently pageable.
on 02016-04-26Unicorn is a #virtual-machine using CPU #emulation, based on #QEMU, focused on instrumentation.
on 02015-11-16The Olive Executable Archive is an #archival project that tries to save whole #virtual-machine images. “For legal reasons, the VMs are currently accessible only to our research collaborators.” They’re using qemu and KVM so far, so basically they aren’t trying to solve any of the hard problems.
on 02015-09-29oh interesting, Vint Cerf is interested in #archival with the archival #virtual-machine approach, and therefore #bootstrapping, under the name #digital-vellum.
on 02015-09-29“Growing a Compiler”, on a language and #virtual-machine called GEM, with the first version of the compiler written in Matlab. #compilers
on 02015-08-14The spec for the UM-32 #virtual-machine from the #ICFP 2006 programming contest.
on 02015-08-10The 2006 #ICFP programming contest task involved implementing a new #virtual-machine (called the Universal Machine) and solving puzzles inside of it
on 02015-08-07