Project

General

Profile

« Previous | Next » 

Revision 69d787ff

Added by ko1 (Koichi Sasada) about 12 years ago

  • 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.

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