Project

General

Profile

Actions

Feature #6199

closed

Organize gc.c a bit

Added by funny_falcon (Yura Sokolov) about 12 years ago. Updated over 11 years ago.

Status:
Closed
Target version:
[ruby-core:43592]

Description

  1. Move immutable fields from struct heaps_slot and struct sorted_heaps_slot into struct heaps_header.
    One exception is limit field, but it starts to be mutable just before freeing a heaps_header, so that it is not big issue.
  2. Embed bitmap into struct heaps_slot
  3. Change free_unused_heaps to free_unused_heap, so that it will not be called on every GC round, but only when page should be freed.
    While free_unused_heaps does not consume much time (it is invisible in profiler), but regular application has no need in calling this function every time.

https://github.com/ruby/ruby/pull/108
https://github.com/ruby/ruby/pull/108.patch

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0