Skip to content
Opensource internals
  • Posts

V8

Scavenging the Young Generation: How V8 Copies Live Objects in Milliseconds

Oct 21, 2026 15 min read Jay Hubbert

V8’s scavenger copies live young objects between two semi-spaces with Cheney’s algorithm and promotes survivors by age.

V8InternalsGcMemory

Read more →

The Write Barrier: How V8 Knows Where a Moved Object Used to Live

Oct 21, 2026 15 min read Jay Hubbert

V8’s write barrier has four tiers and three jobs: remembering old-to-new references, preserving the tri-colour invariant during marking, and recording slots so a compacting GC can …

V8InternalsGcMemory

Read more →

Five Kinds of String: How V8 Keeps Strings Cheap

Oct 21, 2026 14 min read Jay Hubbert

V8 stores strings as sequential, cons, sliced, thin or external representations, so concatenation, slicing and interning can avoid copying characters.

V8InternalsStringsMemory

Read more →

How V8 Gives Every Object a Hidden Class

Oct 21, 2026 15 min read Jay Hubbert

V8 gives every object a Map that describes its shape, and adding a property walks a tree of Maps shared between all objects with the same history.

V8InternalsObjectsPerformance

Read more →

© 2026 Jay Hubbert · Built with Hugo 0.168.0

RSS ·