aboutsummaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-22 10:28:31 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-22 10:28:31 +0000
commitd6fe84b6f3694211ec7b6746c02018cb04a82a86 (patch)
tree5fc94075abb4af6ceb156c36fb1e4a066ce3ecae /ChangeLog
parent4292fd7798b6fe31aec8dd2da9c8acab1f2bb518 (diff)
downloadruby-d6fe84b6f3694211ec7b6746c02018cb04a82a86.tar.gz
* 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
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog20
1 files changed, 20 insertions, 0 deletions
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 <ko1@atdot.net>
+
+ * 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 <akr@fsij.org>
* lib/pp.rb (object_address_group): Use Kernel#to_s to obtain the class