From fd8fbe37fd49f690c82d48a25066abbf0313f005 Mon Sep 17 00:00:00 2001 From: usa Date: Wed, 9 Aug 2017 10:43:57 +0000 Subject: 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. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_3@59547 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index 539f998569..0c64d83b4d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +Wed Aug 9 19:34:17 2017 Nobuyoshi Nakada + + * internal.h (THROW_DATA_P): parenthesize the argument which is + casted. + +Wed Aug 9 19:34:17 2017 Koichi Sasada + + * 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(). + Wed Aug 9 19:32:17 2017 Nobuyoshi Nakada * random.c (get_rnd, try_get_rnd): ensure initialized to get rid -- cgit v1.2.3