[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