~/talk

Implementing Software Machines in Go and C

slides:none on file

Shows how to implement a tiny VM in C and Go: constructs a contiguous heap using unsafe+reflection heap trick, implements two stack styles (array stack and a cactus stack), builds a chained hashmap and simple GC stub, and compares dispatch strategies—switch interpreter, function-pointer threading and computed-goto dispatch—with working example programs that add and print values. C examples compile and run, Go ports are shorter and leverage the garbage collector; channels are reused as a clock/tick mechanism for synchronized execution.

AI-written summary · about

  1. 0:00Intro
  2. 1:30Virtual Machines
  3. 2:00Hardware emulation
  4. 3:25Abstract virtual machines
  5. 4:15Stateful
  6. 5:10Performance
  7. 8:30Memory Models
  8. 14:50Stacks
  9. 16:00Stack Pointer
  10. 20:40Cactus Stacking
  11. 22:10Boring Maps
  12. 23:35Associative Arrays
  13. 25:50Map Algorithm
  14. 28:20Switch Interpreter
  15. 31:30Direct Course Reading
  16. 33:25Indirect Threading
  17. 35:55Compiler
  18. 37:00Timing
  19. 38:20Transport Triggering
  20. 40:00Books
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.