summaryrefslogtreecommitdiff
path: root/checksums.c
diff options
context:
space:
mode:
Diffstat (limited to 'checksums.c')
-rw-r--r--checksums.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/checksums.c b/checksums.c
index f5ad843a..f0f902a3 100644
--- a/checksums.c
+++ b/checksums.c
@@ -41,10 +41,8 @@ STATIC size_t GC_n_faulted = 0;
void GC_record_fault(struct hblk * h)
{
- word page = (word)h;
+ word page = ROUNDUP_PAGESIZE((word)h);
- page += GC_page_size - 1;
- page &= ~(GC_page_size - 1);
if (GC_n_faulted >= NSUMS) ABORT("write fault log overflowed");
GC_faulted[GC_n_faulted++] = page;
}
@@ -52,10 +50,8 @@ void GC_record_fault(struct hblk * h)
STATIC GC_bool GC_was_faulted(struct hblk *h)
{
size_t i;
- word page = (word)h;
+ word page = ROUNDUP_PAGESIZE((word)h);
- page += GC_page_size - 1;
- page &= ~(GC_page_size - 1);
for (i = 0; i < GC_n_faulted; ++i) {
if (GC_faulted[i] == page) return TRUE;
}