- 01 Trace
- 02 Compact
- 03 Mend
Close the gaps
Choose survivors in their original address order. Each one moves to the next free address; its size stays the same.
Mend the moving thread
A LITTLE ROOM, RESTORED
A LITTLE SPACE TO THINK
Follow a thread. Find what matters.
Make a little room for something new.
memories restored
Choose survivors in their original address order. Each one moves to the next free address; its size stays the same.
A LITTLE ROOM, RESTORED
Roots are the objects the program holds directly. An arrow A → B means A holds a reference to B. Follow arrows outward, marking every object you can reach. Cycles without a path from a root are garbage. Incoming arrows do not make an object live.
Sweep only the unreachable objects. Then compact survivors in old-address order into one continuous block. Our toy uses numbered cells; real heaps have headers, alignment and many more details.
When an object moves, references must point to its new address. Choose the new address of the named target. Objects keep their identity and contents.
This is a simplified puzzle, not a real JVM or browser heap monitor. Pure seals mean no mistakes or hints; guided seals count equally toward your collection. Undo, reset and free study selection are always available. Progress stays on this device.
Keyboard: Tab and Enter/Space activate every control. On the graph, arrows move focus and Space marks an object. Ctrl/⌘ Z undoes. H gives a hint. R resets the current study.
Based on Ken Fox’s MIT-licensed gc-viz algorithms. Original puzzles and interface. License · Source notes