summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Valentine-House <matt@eightbitraptor.com>2026-03-31 12:57:12 +0100
committerMatt Valentine-House <matt@eightbitraptor.com>2026-04-09 13:24:09 +0100
commit772bde30e08a6f417224729eb415a45f8d68f864 (patch)
tree06072be2bf47a8b24bf4c46171e4a9dc69fb6eb5
parentce9d6c899fae67d38be44266a483530bd5846d4e (diff)
Use sizeof(VALUE) for pointer alignment checks
-rw-r--r--gc/default/default.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gc/default/default.c b/gc/default/default.c
index 295a51d5d6..3230e80dd5 100644
--- a/gc/default/default.c
+++ b/gc/default/default.c
@@ -1649,7 +1649,7 @@ heap_page_add_freeobj(rb_objspace_t *objspace, struct heap_page *page, VALUE obj
/* obj should belong to page */
!(page->start <= (uintptr_t)obj &&
(uintptr_t)obj < ((uintptr_t)page->start + (page->total_slots * page->slot_size)) &&
- obj % pool_slot_sizes[0] == 0)) {
+ obj % sizeof(VALUE) == 0)) {
rb_bug("heap_page_add_freeobj: %p is not rvalue.", (void *)obj);
}
@@ -2595,7 +2595,7 @@ is_pointer_to_heap(rb_objspace_t *objspace, const void *ptr)
if (p < heap_pages_lomem || p > heap_pages_himem) return FALSE;
RB_DEBUG_COUNTER_INC(gc_isptr_range);
- if (p % pool_slot_sizes[0] != 0) return FALSE;
+ if (p % sizeof(VALUE) != 0) return FALSE;
RB_DEBUG_COUNTER_INC(gc_isptr_align);
page = heap_page_for_ptr(objspace, (uintptr_t)ptr);
@@ -3501,7 +3501,7 @@ gc_sweep_plane(rb_objspace_t *objspace, rb_heap_t *heap, uintptr_t p, bits_t bit
do {
VALUE vp = (VALUE)p;
- GC_ASSERT(vp % pool_slot_sizes[0] == 0);
+ GC_ASSERT(vp % sizeof(VALUE) == 0);
rb_asan_unpoison_object(vp, false);
if (bitset & 1) {
@@ -5602,7 +5602,7 @@ gc_compact_plane(rb_objspace_t *objspace, rb_heap_t *heap, uintptr_t p, bits_t b
do {
VALUE vp = (VALUE)p;
- GC_ASSERT(vp % pool_slot_sizes[0] == 0);
+ GC_ASSERT(vp % sizeof(VALUE) == 0);
if (bitset & 1) {
objspace->rcompactor.considered_count_table[BUILTIN_TYPE(vp)]++;