Series

The V8 object model

How V8 decides what an object is and how to store it: hidden classes, the transition tree, inline caches, and the deoptimizations that follow from getting any of it wrong.

Parts
3
Latest
  1. №01
    Runtime and performance

    How V8 Decides to Optimize Your Function

    Two functions that look identical can run at very different speeds. The difference is usually shapes, inline caches, and a deoptimization you never saw.

  2. №02
    Runtime and performance

    Object Shapes Are a Tree, and the Tree Is Shared

    A hidden class is a node in a transition tree V8 keeps for the whole isolate — which is why an unrelated function can decide how your object is stored.

  3. №03
    Runtime and performance

    Four Maps Is Polymorphic. Five Is Not.

    Monomorphic, polymorphic and megamorphic are counted states with a threshold of four. Here is the transition log, the V8 line that decides it, and the cost.

Arrow keys to move, Enter to open.