[ruby-cvs:51204] tmm1:r44059 (trunk): gc.c: promote long-lived NODE_CREF objects to oldgen

tmm1 at ruby-lang.org tmm1 at ruby-lang.org
Sun Dec 8 11:28:10 JST 2013


tmm1	2013-12-08 11:28:04 +0900 (Sun, 08 Dec 2013)

  New Revision: 44059

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=44059

  Log:
    gc.c: promote long-lived NODE_CREF objects to oldgen
    
    * include/ruby/ruby.h: add RGENGC_WB_PROTECTED_NODE_CREF setting
      In a large app, this reduces the size of
      remembered_shady_object_count by 80%. [Bug #9225] [ruby-core:58947]
    * gc.c (rb_node_newnode): add FL_WB_PROTECTED flag to NODE_CREF
    * class.c (rewrite_cref_stack): insert OBJ_WRITE for NODE_CREF
    * iseq.c (set_relation): ditto
    * iseq.c (rb_iseq_clone): ditto
    * vm_eval.c (rb_yield_refine_block): ditto
    * vm_insnhelper.c (vm_cref_push): ditto
    * vm_insnhelper.h (COPY_CREF): ditto

  Modified files:
    trunk/ChangeLog
    trunk/class.c
    trunk/gc.c
    trunk/include/ruby/ruby.h
    trunk/iseq.c
    trunk/vm_eval.c
    trunk/vm_insnhelper.c
    trunk/vm_insnhelper.h


More information about the ruby-cvs mailing list