[ruby-cvs:66474] nagachika:r59296 (ruby_2_4): merge revision(s) 58262, 5826: [Backport #13369]

nagachika at ruby-lang.org nagachika at ruby-lang.org
Mon Jul 10 04:47:28 JST 2017


nagachika	2017-07-10 04:47:28 +0900 (Mon, 10 Jul 2017)

  New Revision: 59296

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

  Log:
    merge revision(s) 58262,5826: [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().
      unless File::FNM_DOTMATCH is set. (like '*/') [ruby-dev:23014]

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


More information about the ruby-cvs mailing list