1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
Commit graph

21 commits

Author SHA1 Message Date
wanabe
c31129ffb8 * NEWS: add Thread#add_trace_func and Thread#set_trace_func.
* test/ruby/test_settracefunc.rb (test_thread_trace): add test.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-26 14:55:00 +00:00
ko1
618445576f * 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
2010-01-24 13:52:32 +00:00
mame
43d0c7263b * test/ruby/test_settracefunc.rb (test_return, test_return2): add two
tests for [ruby-dev:38701] and [ruby-core:24463].

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-18 17:55:26 +00:00
wanabe
38a22404db * vm_insnhelper.c (vm_call_cfunc): ensure hook c-return.
[Bug #1588]

* test/ruby/test_settracefunc.rb (TestSetTraceFunc#test_raise):
  follow above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24574 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-08-18 02:44:10 +00:00
mame
31c561f66a * vm_core.h (struct rb_iseq_t): add a new field line_no. This field
represents line number from which the original code of the iseq
  starts.  [ruby-dev:38698]

* iseq.c, compile.c: ditto.

* parse.y: line number hack (for Proc#source_location) is no longer
  needed.

* test/ruby/test_settracefunc.rb: line number of set_trace_func is now
  compatible with 1.8's.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-22 13:37:26 +00:00
nobu
b35d1e714c * thread.c (rb_threadptr_exec_event_hooks): new function to
execute event hooks, with preserving errinfo.  [ruby-core:24118]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23959 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-07-05 05:04:41 +00:00
mame
a75eadef3b * test/ruby/test_settracefunc.rb (test_call, test_class): line number
was changed at r19592.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-09-30 15:31:06 +00:00
nobu
fa9a533d0b * test/ruby/test_settracefunc.rb (test_call, test_class):
RubyVM::FrozenCore is no longer visible.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-15 08:01:17 +00:00
mame
9e2a51ccb6 * test/ruby/test_settracefunc.rb: fix expected traces for
RubyVM::FrozenCore's event and r17744.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-01 18:43:25 +00:00
mame
32c8d5c411 * test/ruby/test_settracefunc.rb (test_raise): reveal an exception
hided by rescue modifier.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-30 13:58:35 +00:00
ko1
9ebf6473eb * vm.c, vm_core.h,vm_core.h, vm_dump.c, iseq.c: rename class name
VM -> RubyVM, and rename rb_cVM -> rb_cRubyVM.
  "VM" is too short name for class.
* test/ruby/test_method.rb, test/ruby/test_settracefunc.rb: ditto.
* include/ruby/ruby.h: rb_cRubyVM, rb_cEnv, rb_cISeq should not be
  exposed.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17723 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-29 17:26:16 +00:00
mame
f7ef694a71 * test/ruby/test_settracefunc.rb: add a test for set_trace_func.
* test/ruby/envutil.rb: move "rubyexec" method from test_rubyoptions.rb.

* test/ruby/test_rubyoptions.rb: use rubyexec in envutil.rb.

* test/ruby/test_thread.rb: add tests to achieve over 90% test coverage
  of thread.c.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16175 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-04-23 15:22:13 +00:00
nobu
b4be9b0bb1 * test/ruby/test_settracefunc.rb (TestSetTraceFunc#test_raise):
raise is ignored in backtrace now.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-02-29 05:16:39 +00:00
shugo
862cd3cd3c * test/ruby/test_settracefunc.rb: fixed tests for set_trace_func.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-12 15:38:10 +00:00
shugo
577eaa60a7 * insnhelper.ci (vm_call_method): pass mn->nd_clss to
vm_call_cfunc() instead of klass.
* vm.c (rb_thread_method_id_and_klass): traverse parent_iseq.
* thread.c (call_trace_proc): use rb_thread_method_id_and_klass().


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13877 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-11 08:42:13 +00:00
ko1
a73894337a * eval.c, node.h, thread.c, yarvcore.[ch], eval_intern.h:
support set_trace_func (incomplete.  id and klass
  don't be passed).  And support Thread#set_trace_func
  which hook only specified thread and Thread#add_trace_func
  which add new trace func instead of replace old one.
  C level API was modified.  See thread.c (logic) and
  yarvcore.h (data structures).
* vm.c, vm_macro.def: add hook points.
* compile.c, insns.def: fix "trace" instruction.
* iseq.c, vm_macro.h: add compile option "trace_instruction".
* test/ruby/test_settracefunc.rb: hook "c-return" of set_trace_func.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-04-19 10:37:08 +00:00
shugo
9961c29c25 * eval.c (rb_call0): "return" event hook should be always executed
if event_hooks is set.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-04-07 08:38:05 +00:00
shugo
1429223686 * parse.y (primary): fix lineno of rescue and ensure.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-23 07:15:49 +00:00
shugo
93c746f828 * test/ruby/test_settracefunc.rb (test_event): added tests for
"class" and "end" and "raise".


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-22 15:43:27 +00:00
shugo
6697b0a728 * test/ruby/test_settracefunc.rb: added test for c-return.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-16 14:47:30 +00:00
nahi
e766a04a57 Wed Nov 17 23:47:30 2004 NAKAMURA, Hiroshi <nakahiro@sarion.co.jp>
* test/ruby/test_settracefunc.rb: added.  [ruby-dev:24884]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7301 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-17 14:48:35 +00:00