[ruby-cvs:62930] ko1:r55766 (trunk): * vm_core.h: revisit the structure of frame, block and env.

ko1 at ruby-lang.org ko1 at ruby-lang.org
Thu Jul 28 20:02:30 JST 2016


ko1	2016-07-28 20:02:30 +0900 (Thu, 28 Jul 2016)

  New Revision: 55766

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=55766

  Log:
    * vm_core.h: revisit the structure of frame, block and env.
      [Bug #12628]
    
      This patch introduce many changes.
    
      * Introduce concept of "Block Handler (BH)" to represent
        passed blocks.
    
      * move rb_control_frame_t::flag to ep[0] (as a special local
        variable). This flags represents not only frame type, but also
        env flags such as escaped.
    
      * rename `rb_block_t` to `struct rb_block`.
    
      * Make Proc, Binding and RubyVM::Env objects wb-protected.
    
      Check [Bug #12628] for more details.

  Modified files:
    trunk/ChangeLog
    trunk/compile.c
    trunk/cont.c
    trunk/eval.c
    trunk/eval_intern.h
    trunk/gc.c
    trunk/insns.def
    trunk/internal.h
    trunk/iseq.c
    trunk/load.c
    trunk/parse.y
    trunk/proc.c
    trunk/process.c
    trunk/ruby.c
    trunk/string.c
    trunk/thread.c
    trunk/tool/mk_call_iseq_optimized.rb
    trunk/vm.c
    trunk/vm_args.c
    trunk/vm_core.h
    trunk/vm_dump.c
    trunk/vm_eval.c
    trunk/vm_insnhelper.c
    trunk/vm_insnhelper.h
    trunk/vm_method.c


More information about the ruby-cvs mailing list