From d6fe84b6f3694211ec7b6746c02018cb04a82a86 Mon Sep 17 00:00:00 2001 From: ko1 Date: Tue, 22 Oct 2013 10:28:31 +0000 Subject: * gc.c: allow multiple heaps. Now, objects are managed by page. And a set of pages is called heap. This commit supports multiple heaps in the object space. * Functions heap_* and rb_heap_t manages heap data structure. * Functions heap_page_* and struct heap_page manage page data strcuture. * Functions heap_pagse_* and struct rb_objspace_t::heap_pages maintains all pages. For example, pagaes are allocated from the heap_pages. See https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/GC_design and https://bugs.ruby-lang.org/attachments/4015/data-heap_structure_with_multiple_heaps.png for more deitals. Now, there is only one heap called `eden', which is a space for all new generated objects. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43388 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index d7bfb27db4..c05d643087 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +Tue Oct 22 19:19:05 2013 Koichi Sasada + + * gc.c: allow multiple heaps. + Now, objects are managed by page. And a set of pages is called heap. + This commit supports multiple heaps in the object space. + + * Functions heap_* and rb_heap_t manages heap data structure. + * Functions heap_page_* and struct heap_page manage page data + strcuture. + * Functions heap_pagse_* and struct rb_objspace_t::heap_pages + maintains all pages. + For example, pagaes are allocated from the heap_pages. + + See https://bugs.ruby-lang.org/projects/ruby-trunk/wiki/GC_design + and https://bugs.ruby-lang.org/attachments/4015/data-heap_structure_with_multiple_heaps.png + for more deitals. + + Now, there is only one heap called `eden', which is a space for all + new generated objects. + Tue Oct 22 18:26:12 2013 Tanaka Akira * lib/pp.rb (object_address_group): Use Kernel#to_s to obtain the class -- cgit v1.2.3