[ruby-cvs:50597] charliesome:r43455 (trunk): * insns.def, vm.c, vm_insnhelper.c, vm_insnhelper.h, vm_method.c: split

charliesome at ruby-lang.org charliesome at ruby-lang.org
Tue Oct 29 09:52:40 JST 2013


charliesome	2013-10-29 09:52:38 +0900 (Tue, 29 Oct 2013)

  New Revision: 43455

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

  Log:
    * insns.def, vm.c, vm_insnhelper.c, vm_insnhelper.h, vm_method.c: split
      ruby_vm_global_state_version into two separate counters - one for the
      global method state and one for the global constant state. This means
      changes to constants do not affect method caches, and changes to
      methods do not affect constant caches. In particular, this means
      inclusions of modules containing constants no longer globally
      invalidate the method cache.
    
    * class.c, eval.c, include/ruby/intern.h, insns.def, vm.c, vm_method.c:
      rename rb_clear_cache_by_class to rb_clear_method_cache_by_class
    
    * class.c, include/ruby/intern.h, variable.c, vm_method.c: add
      rb_clear_constant_cache
    
    * compile.c, vm_core.h, vm_insnhelper.c: rename vmstat field in
      rb_call_info_struct to method_state
    
    * vm_method.c: rename vmstat field in struct cache_entry to method_state

  Modified files:
    trunk/ChangeLog
    trunk/class.c
    trunk/compile.c
    trunk/eval.c
    trunk/include/ruby/intern.h
    trunk/insns.def
    trunk/variable.c
    trunk/vm.c
    trunk/vm_core.h
    trunk/vm_insnhelper.c
    trunk/vm_insnhelper.h
    trunk/vm_method.c


More information about the ruby-cvs mailing list