In order to prevent concurrent garbage collection using a
space-incremental algorithm from corrupting objects, objects are
evacuated by copying them to relocated destinations and a forwarding data
structure is associated with each region created by the space-incremental
algorithm. The forwarding data structure is used to map object locations
in that region to their relocated destinations. When an attempt is made
to access the object, the forwarding data structure is accessed and, if
the object is found in the data structure, the corresponding forwarding
address is used to access the object. The forwarding data structure can
be a hash table, a direct mapped table or other structure.