GC visualization
While I was working through the chapter 5.3 of SICP, I created small visualization of the stop-and-copy garbage collection algorithm.
I start with the following memory structure example.
The content of the root
register is a pointer p4
to the list of registers (x y z)
. The register x
points to address 6 where improper list (1 . 2)
saved. The register y
points to address 8 where list (x x)
starts. Finally, the register z
points to address 10 where list (3 4 5)
starts. Addresses 1, 3, 5, 9, 11, 13, 15 contain garbage.
After we ran the GC algorithm, we got the following memory structure.
root
now points to address 0, x
to 1, y
to 3, and z
to 6.
Here is the visualization