* gc.c (gc_mark_roots): call rb_vm_mark directly.
* vm.c: remove mark function for RubyVM object because
  RubyVM object marked manually.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46832 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* iseq.c (rb_iseq_defined_string): use rb_gc_mark_object() instead of
  marking from vm_mark().
* vm.c (rb_vm_mark): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46833 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_core.h: remove rb_vm_t::trap_list[RUBY_NSIG], but add
  rb_vm_t::trap_list_cmds (an array) and
  rb_vm_t::trap_list_safes[RUBY_NSIG]
  (separate to two different array).
  This modification reduce root objects.
* signal.c: ditto.
* vm.c (rb_vm_mark): remove marking code for rb_vm_t::trap_list.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46834 b2dd03c8-39d4-4d8f-98ff-823fe69b080e