Skip to content

Commit

Permalink
Fix mark bit clearing in PrepareChunkMap (mmtk#1148)
Browse files Browse the repository at this point in the history
Each PrepareChunkMap work packet (used by native MS) should only clear
the side mark bits of the single chunk it is responsible for.

Fixes: mmtk#1144
wks authored and k-sareen committed Jan 3, 2025

Verified

This commit was signed with the committer’s verified signature.
brrttwrks Eric Barrett
1 parent f6116e5 commit 5581d30
Showing 1 changed file with 1 addition and 3 deletions.
4 changes: 1 addition & 3 deletions src/policy/marksweepspace/native_ms/global.rs
Original file line number Diff line number Diff line change
@@ -536,9 +536,7 @@ impl<VM: VMBinding> GCWork<VM> for PrepareChunkMap<VM> {
} else {
// Otherwise this chunk is occupied, and we reset the mark bit if it is on the side.
if let MetadataSpec::OnSide(side) = *VM::VMObjectModel::LOCAL_MARK_BIT_SPEC {
for chunk in self.space.chunk_map.all_chunks() {
side.bzero_metadata(chunk.start(), Chunk::BYTES);
}
side.bzero_metadata(self.chunk.start(), Chunk::BYTES);
}
}
}

0 comments on commit 5581d30

Please sign in to comment.