Project

General

Profile

« Previous | Next » 

Revision 79d9c8ac

Added by ko1 (Koichi Sasada) over 12 years ago

  • gc.c: re-design the heap structure.
    (1) The heap is consists of a set of slots.
    (2) Each "slot" has a "slot_body".
    slot::start and slot::limit specify RVALUE beginning address
    and number of RVALUE in a "slot_body".
    (3) "slot_body" contains a pointer to slot (slot_body::header::slot)
    and an array of RVALUE.
    (4) heap::sorted is an array of "slots", sorted by an address of
    slot::body.
    See https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/GC_design
    for more details (figure).
  • gc.c: Avoid "heaps" terminology. It is ambiguous.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42021 b2dd03c8-39d4-4d8f-98ff-823fe69b080e