Project

General

Profile

Bug #2610

c-return hooks aren't always there

Added by rogerdpack (Roger Pack) over 9 years ago. Updated over 8 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.2dev (2009-12-31 trunk 26205) [i386-mingw32]
Backport:
[ruby-core:27606]

Description

=begin
With this snippet:

[1,2,3].any? {|n| n}

If you set a (c-based) event hook before calling it, you get this output:

c-call E:/dev/ruby/ruby-prof/test/bad2.rb: 1 Enumerable#any?
c-call E:/dev/ruby/ruby-prof/test/bad2.rb: 1 Array#each
line E:/dev/ruby/ruby-prof/test/bad2.rb: 1 Object#(null)
c-return E:/dev/ruby/ruby-prof/test/bad2.rb: 1 Enumerable#any?
...

There is no call for Array#each's return.

Thanks.
-r
=end


Related issues

Related to Backport191 - Backport #2672: backport 26395ClosedActions

Associated revisions

Revision 61844557
Added by ko1 (Koichi Sasada) over 9 years ago

  • eval.c, vm.c, vm_eval.c, vm_insnhelper.c: fix issues about return and c-return trace. This issue skips (c-)return event with global jump such as break or return. This fix make vm invoke hooks at stack rewind timing. fix [ruby-core:27606] [Bug #2610].
  • test/ruby/test_settracefunc.rb: add a test for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26395 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 26395
Added by ko1 (Koichi Sasada) over 9 years ago

  • eval.c, vm.c, vm_eval.c, vm_insnhelper.c: fix issues about return and c-return trace. This issue skips (c-)return event with global jump such as break or return. This fix make vm invoke hooks at stack rewind timing. fix [ruby-core:27606] [Bug #2610].
  • test/ruby/test_settracefunc.rb: add a test for above.

Revision 26395
Added by ko1 (Koichi Sasada) over 9 years ago

  • eval.c, vm.c, vm_eval.c, vm_insnhelper.c: fix issues about return and c-return trace. This issue skips (c-)return event with global jump such as break or return. This fix make vm invoke hooks at stack rewind timing. fix [ruby-core:27606] [Bug #2610].
  • test/ruby/test_settracefunc.rb: add a test for above.

Revision 26395
Added by ko1 (Koichi Sasada) over 9 years ago

  • eval.c, vm.c, vm_eval.c, vm_insnhelper.c: fix issues about return and c-return trace. This issue skips (c-)return event with global jump such as break or return. This fix make vm invoke hooks at stack rewind timing. fix [ruby-core:27606] [Bug #2610].
  • test/ruby/test_settracefunc.rb: add a test for above.

Revision 26395
Added by ko1 (Koichi Sasada) over 9 years ago

  • eval.c, vm.c, vm_eval.c, vm_insnhelper.c: fix issues about return and c-return trace. This issue skips (c-)return event with global jump such as break or return. This fix make vm invoke hooks at stack rewind timing. fix [ruby-core:27606] [Bug #2610].
  • test/ruby/test_settracefunc.rb: add a test for above.

Revision 26395
Added by ko1 (Koichi Sasada) over 9 years ago

  • eval.c, vm.c, vm_eval.c, vm_insnhelper.c: fix issues about return and c-return trace. This issue skips (c-)return event with global jump such as break or return. This fix make vm invoke hooks at stack rewind timing. fix [ruby-core:27606] [Bug #2610].
  • test/ruby/test_settracefunc.rb: add a test for above.

Revision 26395
Added by ko1 (Koichi Sasada) over 9 years ago

  • eval.c, vm.c, vm_eval.c, vm_insnhelper.c: fix issues about return and c-return trace. This issue skips (c-)return event with global jump such as break or return. This fix make vm invoke hooks at stack rewind timing. fix [ruby-core:27606] [Bug #2610].
  • test/ruby/test_settracefunc.rb: add a test for above.

History

#1

Updated by ko1 (Koichi Sasada) over 9 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100

=begin
This issue was solved with changeset r26395.
Roger, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

=end

Also available in: Atom PDF