Skip to content

Commit 1cf2805

Browse files
authored
Fix mark bit clearing in PrepareChunkMap (#1148)
Each PrepareChunkMap work packet (used by native MS) should only clear the side mark bits of the single chunk it is responsible for. Fixes: #1144
1 parent 401803c commit 1cf2805

File tree

1 file changed

+1
-3
lines changed

1 file changed

+1
-3
lines changed

src/policy/marksweepspace/native_ms/global.rs

+1-3
Original file line numberDiff line numberDiff line change
@@ -432,9 +432,7 @@ impl<VM: VMBinding> GCWork<VM> for PrepareChunkMap<VM> {
432432
} else {
433433
// Otherwise this chunk is occupied, and we reset the mark bit if it is on the side.
434434
if let MetadataSpec::OnSide(side) = *VM::VMObjectModel::LOCAL_MARK_BIT_SPEC {
435-
for chunk in self.space.chunk_map.all_chunks() {
436-
side.bzero_metadata(chunk.start(), Chunk::BYTES);
437-
}
435+
side.bzero_metadata(self.chunk.start(), Chunk::BYTES);
438436
}
439437
}
440438
}

0 commit comments

Comments
 (0)