A garbage collection system that needs to meet real-time requirements
utilizes a read barrier that is implemented in an optimizing compiler.
The read barrier is implemented with a forwarding pointer positioned in a
header of each object. The forwarding pointer points to the object unless
the object has been moved. The barrier is optimized by breaking the
barrier and applying barrier sinking to sink the read barrier to its
point of use and by using sub-expression elimination. A null-check for
the read barrier is combined with a null-check required by the real-time
application. All objects are located and moved with the collector to
minimize variations in mutator utilization.