116116#define GC_HEAP_INIT_BYTES (2560 * 1024)
117117#endif
118118
119- /*#define PSWEEP_DEBUG -6*/
120119#if defined(PSWEEP_DEBUG )
121120#define psweep_debug (lvl , ...) if (lvl <= PSWEEP_DEBUG) fprintf(stderr, __VA_ARGS__)
122121#else
@@ -3431,7 +3430,7 @@ gc_abort(void *objspace_ptr)
34313430 objspace -> flags .during_incremental_marking = FALSE;
34323431 }
34333432
3434- #if VM_CHECK_MODE > 0
3433+ #if RUBY_DEBUG
34353434 sweep_lock_lock (& objspace -> sweep_lock );
34363435 GC_ASSERT (!objspace -> sweep_rest );
34373436 sweep_lock_unlock (& objspace -> sweep_lock );
@@ -4095,7 +4094,7 @@ deferred_free(rb_objspace_t *objspace, VALUE obj)
40954094{
40964095 ASSERT_vm_locking_with_barrier ();
40974096 bool result ;
4098- #if VM_CHECK_MODE > 0
4097+ #ifdef PSWEEP_DEBUG
40994098 MAYBE_UNUSED (const char * obj_info ) = rb_obj_info (obj );
41004099#endif
41014100 bool freed_weakrefs = rb_gc_obj_free_vm_weak_references (obj );
@@ -4387,6 +4386,7 @@ gc_pre_sweep_plane(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *p
43874386
43884387 rb_asan_unpoison_object (vp , false);
43894388 if (bitset & 1 ) {
4389+ GC_ASSERT (!RVALUE_MARKED (objspace , vp ));
43904390 switch (BUILTIN_TYPE (vp )) {
43914391 case T_MOVED : {
43924392 empties ++ ;
@@ -4395,7 +4395,6 @@ gc_pre_sweep_plane(rb_objspace_t *objspace, rb_heap_t *heap, struct heap_page *p
43954395 break ;
43964396 }
43974397 case T_NONE :
4398- /*psweep_debug("[sweep] empty: page(%p), obj(%p)\n", (void*)page, (void*)vp);*/
43994398 empties ++ ; // already in freelist
44004399 break ;
44014400 case T_ZOMBIE :
@@ -5014,7 +5013,7 @@ gc_sweep_finish(rb_objspace_t *objspace)
50145013 for (int i = 0 ; i < HEAP_COUNT ; i ++ ) {
50155014 rb_heap_t * heap = & heaps [i ];
50165015
5017- #if VM_CHECK_MODE > 0
5016+ #if RUBY_DEBUG
50185017 {
50195018 struct heap_page * page ;
50205019 ccan_list_for_each (& heap -> pages , page , page_node ) {
@@ -5153,7 +5152,7 @@ gc_sweep_step(rb_objspace_t *objspace, rb_heap_t *heap)
51535152 size_t swept_slots = 0 ;
51545153 size_t pooled_slots = 0 ;
51555154
5156- #if VM_CHECK_MODE > 0
5155+ #if RUBY_DEBUG
51575156 sweep_lock_lock (& objspace -> sweep_lock );
51585157 GC_ASSERT (!objspace -> background_sweep_mode );
51595158 sweep_lock_unlock (& objspace -> sweep_lock );
@@ -5412,7 +5411,6 @@ gc_sweep_rest(rb_objspace_t *objspace)
54125411 }
54135412 sweep_lock_unlock (& objspace -> sweep_lock );
54145413
5415- // We go backwards because the sweep thread goes forwards, and we want to avoid lock contention
54165414 for (int i = 0 ; i < HEAP_COUNT ; i ++ ) {
54175415 rb_heap_t * heap = & heaps [i ];
54185416
@@ -5424,16 +5422,6 @@ gc_sweep_rest(rb_objspace_t *objspace)
54245422 heap -> background_sweep_steps = heap -> foreground_sweep_steps ;
54255423 }
54265424
5427- /*for (int i = 0; i < HEAP_COUNT; i++) {*/
5428- /*rb_heap_t *heap = &heaps[i];*/
5429-
5430- /*while (!heap_is_sweep_done(objspace, heap)) {*/
5431- /*psweep_debug(0, "[gc] gc_sweep_rest: gc_sweep_step heap:%p (heap %ld)\n", heap, heap - heaps);*/
5432- /*gc_sweep_step(objspace, heap, false);*/
5433- /*}*/
5434- /*GC_ASSERT(heap->is_finished_sweeping);*/
5435- /*heap->background_sweep_steps = heap->foreground_sweep_steps;*/
5436- /*}*/
54375425 GC_ASSERT (!has_sweeping_pages (objspace ));
54385426 GC_ASSERT (gc_mode (objspace ) == gc_mode_none );
54395427}
@@ -5623,7 +5611,7 @@ gc_compact_start(rb_objspace_t *objspace)
56235611 struct heap_page * page = NULL ;
56245612 gc_mode_transition (objspace , gc_mode_compacting );
56255613
5626- #if VM_CHECK_MODE > 0
5614+ #if RUBY_DEBUG
56275615 sweep_lock_lock (& objspace -> sweep_lock );
56285616 GC_ASSERT (!objspace -> sweep_thread_sweeping && !objspace -> sweep_thread_sweep_requested );
56295617 sweep_lock_unlock (& objspace -> sweep_lock );
@@ -8454,7 +8442,7 @@ rb_gc_impl_start(void *objspace_ptr, bool full_mark, bool immediate_mark, bool i
84548442 }
84558443
84568444 garbage_collect (objspace , reason );
8457- #if VM_CHECK_MODE > 0
8445+ #if RUBY_DEBUG
84588446 if (immediate_sweep ) {
84598447 sweep_lock_lock (& objspace -> sweep_lock );
84608448 {
0 commit comments