ruby/misc
Matt Valentine-House 8e7df4b7c6 Rename size_pool -> heap
Now that we've inlined the eden_heap into the size_pool, we should
rename the size_pool to heap. So that Ruby contains multiple heaps, with
different sized objects.

The term heap as a collection of memory pages is more in memory
management nomenclature, whereas size_pool was a name chosen out of
necessity during the development of the Variable Width Allocation
features of Ruby.

The concept of size pools was introduced in order to facilitate
different sized objects (other than the default 40 bytes). They wrapped
the eden heap and the tomb heap, and some related state, and provided a
reasonably simple way of duplicating all related concerns, to provide
multiple pools that all shared the same structure but held different
objects.

Since then various changes have happend in Ruby's memory layout:

* The concept of tomb heaps has been replaced by a global free pages list,
  with each page having it's slot size reconfigured at the point when it
  is resurrected
* the eden heap has been inlined into the size pool itself, so that now
  the size pool directly controls the free_pages list, the sweeping
  page, the compaction cursor and the other state that was previously
  being managed by the eden heap.

Now that there is no need for a heap wrapper, we should refer to the
collection of pages containing Ruby objects as a heap again rather than
a size pool
2024-10-03 21:20:09 +01:00
..
.vscode Add an example for rust-analyzer.cargo.unsetTest [ci skip] 2023-06-05 14:01:37 -07:00
lldb_rb Make interchangeable NODE types aliases 2024-06-02 09:43:33 +09:00
README Put example VSCode configs in misc/.vscode [ci skip] 2023-02-03 11:01:08 -08:00
call_fuzzer.rb YJIT: implement call fuzzer script (#9129) 2023-12-11 12:52:47 -05:00
call_fuzzer.sh YJIT: implement call fuzzer script (#9129) 2023-12-11 12:52:47 -05:00
expand_tabs.rb Promote net-smtp to the bundled gems 2021-05-27 14:42:11 +09:00
gdb.py Fix gdb.py for C frames [ci skip] 2023-08-23 10:59:23 -07:00
lldb_cruby.py Rename size_pool -> heap 2024-10-03 21:20:09 +01:00
lldb_disasm.py Get the insns_address_table from the vm_exec_core module table... 2022-07-14 08:25:37 -07:00
rb_optparse.bash [ruby/optparse] Add EditorConfig file 2021-04-28 11:56:15 +09:00
rb_optparse.zsh [ruby/optparse] Add EditorConfig file 2021-04-28 11:56:15 +09:00
ruby-style.el Add c-style for prism [ci skip] 2024-09-20 22:50:27 +09:00
test_lldb_cruby.rb Fix typo in lldb script 2019-04-02 21:13:22 +00:00
yjit_perf.py YJIT: Let yjit_perf.py support perf with Python disabled (#10246) 2024-03-14 10:08:23 -07:00

README

README             this file
rb_optparse.bash   bash completion script
rb_optparse.zsh    zsh completion script
ruby-style.el      Ruby's C/C++ mode style for emacs
lldb_cruby.py      LLDB port of debug utility
test_lldb_cruby.rb test file for LLDB port
.vscode            example VSCode config to debug Ruby