Lazy allocation is where we allocate, grow, and copy memory as it is needed.

  • stack: allocate / grow as used
  • heap: allocate / grow as used
  • program segments: copy as needed from disk