[ruby-cvs:66725] usa:r59547 (ruby_2_3): merge revision(s) 58262, 58263: [Backport #13369]

usa at ruby-lang.org usa at ruby-lang.org
Wed Aug 9 19:43:57 JST 2017


usa	2017-08-09 19:43:57 +0900 (Wed, 09 Aug 2017)

  New Revision: 59547

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

  Log:
    merge revision(s) 58262,58263: [Backport #13369]
    
    fix TracePoint#return_value with non-local exits
    
    * vm.c: get return_value from imemo_throw_data object (THROW_DATA_VAL()).
      imemo_throw_data (TAG_BREAK) contains returned value.
      However, imemo_throw_data (TAG_BREAK) can skip several frames so that
      we need to use it only once (at most internal frame). To record it,
      we introduced THROW_DATA_CONSUMED and check it.
    
    * internal.h: define THROW_DATA_CONSUMED flag.
    
    * test/ruby/test_settracefunc.rb: add tests for [Bug #13369]
    
    * vm_insnhelper.h: add THROW_DATA_CONSUMED_P() and
      THROW_DATA_CONSUMED_SET().
    
    internal.h: parenthesize macro argument
    
    * internal.h (THROW_DATA_P): parenthesize the argument which is
      casted.

  Modified directories:
    branches/ruby_2_3/
  Modified files:
    branches/ruby_2_3/ChangeLog
    branches/ruby_2_3/internal.h
    branches/ruby_2_3/test/ruby/test_settracefunc.rb
    branches/ruby_2_3/version.h
    branches/ruby_2_3/vm.c
    branches/ruby_2_3/vm_insnhelper.h


More information about the ruby-cvs mailing list