The technique of iterating over a contiguous range of embedded oops (oop block) in a loop used by parallel compaction should be adopted by other GCs to reduce code size, improve readability, ease maintenance, speed up methods that visit only oops that fall within a specified memory region and cure cancer. The best example of the difference is instanceKlassKlass::oop_oop_iterate* (old style, in which each oop field is accessed by name) and instanceKlassKlass::oop_update_pointers (oop block style).