diff options
| author | Matt Valentine-House <matt@eightbitraptor.com> | 2026-03-31 12:57:12 +0100 |
|---|---|---|
| committer | Matt Valentine-House <matt@eightbitraptor.com> | 2026-04-09 13:24:09 +0100 |
| commit | 772bde30e08a6f417224729eb415a45f8d68f864 (patch) | |
| tree | 06072be2bf47a8b24bf4c46171e4a9dc69fb6eb5 | |
| parent | ce9d6c899fae67d38be44266a483530bd5846d4e (diff) | |
Use sizeof(VALUE) for pointer alignment checks
| -rw-r--r-- | gc/default/default.c | 8 |
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)]++; |
