Kompaktowanie działa od dna sterty (niskie adresy) w górę (wysokie adresy). Gdy napotykane są żywe (czyli z oznaczeniem) obiekty, są przenoszone do pierwszego dostępnego niskiego adresu, a rekord jest dołączany do tablicy przerw dotyczącej informacji o relokacji. Dla każdego żywego obiektu rekord w tabeli przerw składa się z oryginalnego adresu obiektu przed zagęszczaniem i różnicą między oryginalnym adresu i nowy adres po zagęszczeniu. Tabela przerw jest przechowywany na stercie, który jest kompaktowany, ale w miejscu, które jest oznaczone jako niewykorzystane. Aby zapewnić, że zagęszczenie zawsze się uda, minimalny rozmiar obiektu na stercie musi być większy lub taka sam jak rekordu tabeli przerwy.
Wraz z postępem zagęszczania przeniesione obiekty są kopiowane w kierunku dna. Ostatecznie obiekt będzie musiał być kopiowany do przestrzeni zajmowanej przez tablicę przerw, która teraz musi być przeniesiona gdzie indziej. Te ruchy tabeli przerw, (zwane przez autorów. toczeniem się tabeli) powodują, że rekordy relokacji stają się nieuporządkowane, wymagające aby tabela przerw została posortowana gdy zakończy się zagęszczanie.