/learn-vm

Learn how to build vm

Primary LanguageC++

Building a Virtual Machine

This is a repository for learn Building a Virtual Machine and its internals. My main goal is to have a deeper understanding of programming languages internals, especially the Javascript engine.

----- What I already did -----

----- What's next -----

  1. (async fetch (key) ...)
  2. Arrays: (class Array ...) or an array literal: (array 1 2 3)
  3. Optimizing compiler: pre-evaluate expressions, const propagation, etc.
  4. Value representation
    • Tagged union (current)
    • Tagged Pointer
    • NaN-boxing or NaN-tagging
  5. Static vs Dynamic (current) classes vs Prototypes
  6. JIT compilation - translate to native code at runtime
  7. Etc