Skip to content

Commit 772bde3

Browse files
Use sizeof(VALUE) for pointer alignment checks
1 parent ce9d6c8 commit 772bde3

1 file changed

Lines changed: 4 additions & 4 deletions

File tree

gc/default/default.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1649,7 +1649,7 @@ heap_page_add_freeobj(rb_objspace_t *objspace, struct heap_page *page, VALUE obj
16491649
/* obj should belong to page */
16501650
!(page->start <= (uintptr_t)obj &&
16511651
(uintptr_t)obj < ((uintptr_t)page->start + (page->total_slots * page->slot_size)) &&
1652-
obj % pool_slot_sizes[0] == 0)) {
1652+
obj % sizeof(VALUE) == 0)) {
16531653
rb_bug("heap_page_add_freeobj: %p is not rvalue.", (void *)obj);
16541654
}
16551655

@@ -2595,7 +2595,7 @@ is_pointer_to_heap(rb_objspace_t *objspace, const void *ptr)
25952595
if (p < heap_pages_lomem || p > heap_pages_himem) return FALSE;
25962596
RB_DEBUG_COUNTER_INC(gc_isptr_range);
25972597

2598-
if (p % pool_slot_sizes[0] != 0) return FALSE;
2598+
if (p % sizeof(VALUE) != 0) return FALSE;
25992599
RB_DEBUG_COUNTER_INC(gc_isptr_align);
26002600

26012601
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
35013501

35023502
do {
35033503
VALUE vp = (VALUE)p;
3504-
GC_ASSERT(vp % pool_slot_sizes[0] == 0);
3504+
GC_ASSERT(vp % sizeof(VALUE) == 0);
35053505

35063506
rb_asan_unpoison_object(vp, false);
35073507
if (bitset & 1) {
@@ -5602,7 +5602,7 @@ gc_compact_plane(rb_objspace_t *objspace, rb_heap_t *heap, uintptr_t p, bits_t b
56025602

56035603
do {
56045604
VALUE vp = (VALUE)p;
5605-
GC_ASSERT(vp % pool_slot_sizes[0] == 0);
5605+
GC_ASSERT(vp % sizeof(VALUE) == 0);
56065606

56075607
if (bitset & 1) {
56085608
objspace->rcompactor.considered_count_table[BUILTIN_TYPE(vp)]++;

0 commit comments

Comments
 (0)