diff options
| -rw-r--r-- | gc.c | 23 |
1 files changed, 13 insertions, 10 deletions
@@ -5536,6 +5536,19 @@ gc_sweep_start_heap(rb_objspace_t *objspace, rb_heap_t *heap) heap->free_pages = NULL; #if GC_ENABLE_INCREMENTAL_MARK heap->pooled_pages = NULL; +#endif +} + +#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ == 4 +__attribute__((noinline)) +#endif +static void +gc_sweep_start(rb_objspace_t *objspace) +{ + gc_mode_transition(objspace, gc_mode_sweeping); + gc_sweep_start_heap(objspace, heap_eden); + +#if GC_ENABLE_INCREMENTAL_MARK objspace->rincgc.pooled_slots = 0; #endif @@ -5570,16 +5583,6 @@ gc_sweep_start_heap(rb_objspace_t *objspace, rb_heap_t *heap) } } -#if defined(__GNUC__) && __GNUC__ == 4 && __GNUC_MINOR__ == 4 -__attribute__((noinline)) -#endif -static void -gc_sweep_start(rb_objspace_t *objspace) -{ - gc_mode_transition(objspace, gc_mode_sweeping); - gc_sweep_start_heap(objspace, heap_eden); -} - static void gc_sweep_finish(rb_objspace_t *objspace) { |
