mirror of
https://github.com/ruby/ruby.git
synced 2025-09-16 17:14:01 +02:00
merge revision(s) 41300: [Backport #8489]
* compile.c (rb_iseq_compile_node): fix location of a `trace' instruction (b_return event). [ruby-core:55305] [ruby-trunk - Bug #8489] (need a backport to 2.0.0?) * test/ruby/test_settracefunc.rb: add a test. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@41319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e5633967ea
commit
113d3599ca
4 changed files with 24 additions and 2 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
Sun Jun 16 01:11:10 2013 Koichi Sasada <ko1@atdot.net>
|
||||||
|
|
||||||
|
* compile.c (rb_iseq_compile_node): fix location of a `trace'
|
||||||
|
instruction (b_return event).
|
||||||
|
[ruby-core:55305] [ruby-trunk - Bug #8489]
|
||||||
|
(need a backport to 2.0.0?)
|
||||||
|
|
||||||
|
* test/ruby/test_settracefunc.rb: add a test.
|
||||||
|
|
||||||
Sun Jun 16 00:30:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Sun Jun 16 00:30:56 2013 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* vm_eval.c (eval_string_with_cref): propagate absolute path from the
|
* vm_eval.c (eval_string_with_cref): propagate absolute path from the
|
||||||
|
|
|
@ -483,8 +483,8 @@ rb_iseq_compile_node(VALUE self, NODE *node)
|
||||||
ADD_LABEL(ret, start);
|
ADD_LABEL(ret, start);
|
||||||
ADD_TRACE(ret, FIX2INT(iseq->location.first_lineno), RUBY_EVENT_B_CALL);
|
ADD_TRACE(ret, FIX2INT(iseq->location.first_lineno), RUBY_EVENT_B_CALL);
|
||||||
COMPILE(ret, "block body", node->nd_body);
|
COMPILE(ret, "block body", node->nd_body);
|
||||||
ADD_TRACE(ret, nd_line(node), RUBY_EVENT_B_RETURN);
|
|
||||||
ADD_LABEL(ret, end);
|
ADD_LABEL(ret, end);
|
||||||
|
ADD_TRACE(ret, nd_line(node), RUBY_EVENT_B_RETURN);
|
||||||
|
|
||||||
/* wide range catch handler must put at last */
|
/* wide range catch handler must put at last */
|
||||||
ADD_CATCH_ENTRY(CATCH_TYPE_REDO, start, end, 0, start);
|
ADD_CATCH_ENTRY(CATCH_TYPE_REDO, start, end, 0, start);
|
||||||
|
|
|
@ -1007,4 +1007,17 @@ class TestSetTraceFunc < Test::Unit::TestCase
|
||||||
set_trace_func(nil)
|
set_trace_func(nil)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_tracepoint_b_return_with_next
|
||||||
|
n = 0
|
||||||
|
TracePoint.new(:b_return){
|
||||||
|
n += 1
|
||||||
|
}.enable{
|
||||||
|
3.times{
|
||||||
|
next
|
||||||
|
} # 3 times b_retun
|
||||||
|
} # 1 time b_return
|
||||||
|
|
||||||
|
assert_equal 4, n
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#define RUBY_VERSION "2.0.0"
|
#define RUBY_VERSION "2.0.0"
|
||||||
#define RUBY_RELEASE_DATE "2013-06-16"
|
#define RUBY_RELEASE_DATE "2013-06-16"
|
||||||
#define RUBY_PATCHLEVEL 218
|
#define RUBY_PATCHLEVEL 219
|
||||||
|
|
||||||
#define RUBY_RELEASE_YEAR 2013
|
#define RUBY_RELEASE_YEAR 2013
|
||||||
#define RUBY_RELEASE_MONTH 6
|
#define RUBY_RELEASE_MONTH 6
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue