[ruby-cvs:50537] ko1:r43395 (trunk): * gc.c: introduce tomb heap.

ko1 at ruby-lang.org ko1 at ruby-lang.org
Wed Oct 23 17:48:55 JST 2013


ko1	2013-10-23 17:48:54 +0900 (Wed, 23 Oct 2013)

  New Revision: 43395

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=43395

  Log:
    * gc.c: introduce tomb heap.
      Tomb heap is where zombie objects and ghost (freed slot) lived in.
      Separate from other heaps (now there is only eden heap) at sweeping
      helps freeing pages more efficiently.
      Before this patch, even if there is an empty page at former phase
      of sweeping, we can't free it.
      Algorithm:
        (1) Sweeping all pages in a heap and move empty pages from the
            heap to tomb_heap.
        (2) Check all exsisting pages and free a page
            if all slots of this page are empty and
               there is enough empty slots (checking by swept_num)
      To introduce this pach, there are several tuning of GC parameters.

  Modified files:
    trunk/ChangeLog
    trunk/gc.c


More information about the ruby-cvs mailing list