A garbage collection system that needs to meet real-time requirements uses
an eager read barrier that performs a forwarding operation as soon as a
quantity is loaded. The barrier maintains a to-space invariant by
including a forwarding pointer in the header of objects to be moved or
accessed that normally points to the object itself. However, if the
object has been moved, the forwarding pointer points to the new object
location. The eager read barrier maintains the registers and stack cells
such that the registers and stack cells always point into to-space.
Barrier-sinking and common sub-expression elimination are used to
minimize the overhead associated with the read barrier.