final Offset sizeOffset = this.sizeOffset;
final Word size = Word.fromIntZeroExtend(getSize());
Word offset = headerSize;
while (offset.LT(size)) {
final Address ptr = start.add(offset);
final Object object = ptr.toObjectReference().toObject();
final Word flags = VmMagic.getObjectFlags(object).and(flagsMask);
if (!flags.EQ(flagsValue) || visitor.visit(object)) {
// Continue
final Word objSize = ptr.loadWord(sizeOffset);
offset = offset.add(objSize).add(headerSize);