Три цвета. Один проход маркера.

Так собирает мусор Go: белые объекты — ещё не найдены, серые — найдены, но их указатели не прочитаны, чёрные — просканированы полностью. Пошагайте по циклу, включите мутатор, а потом выключите барьер записи — и посмотрите, как GC теряет живой объект.

white grey · в очереди black
≈3.5 шаг/с
STW · подготовкавключить барьер, сканировать корни
Конкурентная маркировкасерое → чёрное, программа работает
STW · финишкороткое завершение
Конкурентная очисткабелое освобождается
клик по двум объектам — связать / разорвать клик по стрелке — удалить указатель двойной клик по полю — новый объект перетаскивание — раскладка
ROOT SET СТЕКИ ГОРУТИН, ГЛОБАЛЫ HEAP ОБЪЕКТЫ
STW