[ruby-cvs:72554] ko1:r65454 (trunk): support theap for T_HASH. [Feature #14989]
ko1 at ruby-lang.org
ko1 at ruby-lang.org
Wed Oct 31 07:11:51 JST 2018
ko1 2018-10-31 07:11:51 +0900 (Wed, 31 Oct 2018)
New Revision: 65454
https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=65454
Log:
support theap for T_HASH. [Feature #14989]
* hash.c, internal.h: support theap for small Hash.
Introduce RHASH_ARRAY (li_table) besides st_table and small Hash
(<=8 entries) are managed by an array data structure.
This array data can be managed by theap.
If st_table is needed, then converting array data to st_table data.
For st_table using code, we prepare "stlike" APIs which accepts hash value
and are very similar to st_ APIs.
This work is based on the GSoC achievement
by tacinight <tacingiht at gmail.com> and refined by ko1.
Modified files:
trunk/.gdbinit
trunk/array.c
trunk/class.c
trunk/compile.c
trunk/debug_counter.h
trunk/ext/objspace/objspace.c
trunk/gc.c
trunk/hash.c
trunk/include/ruby/intern.h
trunk/include/ruby/ruby.h
trunk/include/ruby/st.h
trunk/internal.h
trunk/marshal.c
trunk/mjit_worker.c
trunk/process.c
trunk/st.c
trunk/test/ruby/test_time.rb
trunk/thread.c
trunk/transient_heap.c
trunk/transient_heap.h
trunk/vm_eval.c
trunk/vm_insnhelper.c
More information about the ruby-cvs
mailing list