Hasty Briefsbeta

Bilingual

Bytecode VMs in surprising places (2024)

3 days ago
  • #System Software
  • #Bytecode VM
  • #Debugging
  • SQLite uses a bytecode VM for executing SQL statements, highlighting bytecode VMs in unexpected applications beyond general-purpose languages.
  • eBPF in Linux started as a packet filtering VM with a register-based design and expanded into a universal in-kernel VM with ten registers, JIT compilation, and diverse use cases.
  • DWARF expressions in debugging information use a stack-based bytecode to compute variable values or locations, interpreted by debuggers like GDB and LLDB.
  • GDB employs agent expressions, translating source expressions into bytecode for remote targets to evaluate efficiently with simple opcodes and machine-level operations.
  • WinRAR's RAR format includes a bytecode VM for preprocessors to transform data and enhance compression, featuring an x86-like architecture with eight registers.
  • GPU rendering leverages bytecode interpreters for flexible shaders, such as in implicit surface rendering and ubershaders, to avoid runtime compilation and enable adaptability.