summaryrefslogtreecommitdiff
path: root/test/ruby/test_settracefunc.rb
AgeCommit message (Collapse)Author
2012-05-24* vm.c: add RubyVM::Backtrace object (btobj).ko1
Backtrace information contains an array consists of location information for each frames by string. RubyVM::Backtrace object is lightweight backtrace information, which contains complete information to generate traditional style backtrace (an array of strings) with faster generation. If someone accesses to backtrace information via Exception#backtrace, then convert a RubyVM::Backtrace object to traditonal style backtrace. This change causes incompatibility on marshal dumpped binary of Exception. If you have any trouble on it, please tell us before Ruby 2.0 release. Note that RubyVM::Backtrace object should not expose Ruby level. * error.c, eval.c, vm_eval.c: ditto. * internal.h: ditto. * eval_error.c: fix to skip "set_backtrace" method invocation in creating an exception object if it call a normal set_backtrace method (defined by core). * test/ruby/test_settracefunc.rb: fix for above change. * vm_method.c (rb_method_defined_by): added. This function checks that the given object responds with the given method by the given cfunc. * benchmark/bm_vm2_raise1.rb, benchmark/bm_vm2_raise2.rb: add to measure exception creation speed. raise1 create exception objects from shallow stack frame. raise2 create exception objects from deep stack frame. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35769 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2012-05-01* test/ruby/test_settracefunc.rb: ignore traces from another threadsusa
because Kernel.set_trace_func affects other threads. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35506 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-12-13* parse.y (primary): point method name line. [ruby-core:40936]nobu
[Bug #5614] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-06-30* vm_insnhelper.c (vm_call_bmethod): fix to hook call/return eventko1
for methods defined by define_method(). * thread.c (call_trace_proc): Fix to skip if class is not given (0). Note that ID and Class object are passed for call/return event if the called method was defined by define_method(). If you are author of tracer/profiler/debugger, this may be an important change. You should check passed class as zero or non-zero instead of checking the event type. * test/ruby/test_settracefunc.rb: add a test for above. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32334 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2011-02-11* test/ruby/test_settracefunc.rb (TestSetTraceFunc): ensure to usenobu
method_added hook defined in Module. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@30847 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-10-09* thread.c (thread_reset_event_flags, exec_event_hooks): ignorenobu
hooks marked as removed. * thread.c (thread_exec_event_hooks): remove hooks to be removed. * thread.c (rb_threadptr_remove_event_hook, rb_remove_event_hook): defer removing hooks if running the hooks. [ruby-dev:42350] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2010-03-26* NEWS: add Thread#add_trace_func and Thread#set_trace_func.wanabe
* 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-01-24* eval.c, vm.c, vm_eval.c, vm_insnhelper.c: fix issues aboutko1
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
2009-08-18* test/ruby/test_settracefunc.rb (test_return, test_return2): add twomame
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* vm_insnhelper.c (vm_call_cfunc): ensure hook c-return.wanabe
[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-07-22* vm_core.h (struct rb_iseq_t): add a new field line_no. This fieldmame
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-05* thread.c (rb_threadptr_exec_event_hooks): new function tonobu
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
2008-09-30* test/ruby/test_settracefunc.rb (test_call, test_class): line numbermame
was changed at r19592. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19648 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-08-15* test/ruby/test_settracefunc.rb (test_call, test_class):nobu
RubyVM::FrozenCore is no longer visible. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18641 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-07-01* test/ruby/test_settracefunc.rb: fix expected traces formame
RubyVM::FrozenCore's event and r17744. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-30* test/ruby/test_settracefunc.rb (test_raise): reveal an exceptionmame
hided by rescue modifier. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17744 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-29* vm.c, vm_core.h,vm_core.h, vm_dump.c, iseq.c: rename class nameko1
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-04-23* test/ruby/test_settracefunc.rb: add a test for set_trace_func.mame
* 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-02-29* test/ruby/test_settracefunc.rb (TestSetTraceFunc#test_raise):nobu
raise is ignored in backtrace now. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-12* test/ruby/test_settracefunc.rb: fixed tests for set_trace_func.shugo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13901 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-11* insnhelper.ci (vm_call_method): pass mn->nd_clss toshugo
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-04-19* eval.c, node.h, thread.c, yarvcore.[ch], eval_intern.h:ko1
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
2005-04-07* eval.c (rb_call0): "return" event hook should be always executedshugo
if event_hooks is set. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8262 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-23* parse.y (primary): fix lineno of rescue and ensure.shugo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8184 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-22* test/ruby/test_settracefunc.rb (test_event): added tests forshugo
"class" and "end" and "raise". git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8183 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2005-03-16* test/ruby/test_settracefunc.rb: added test for c-return.shugo
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@8166 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2004-11-17Wed Nov 17 23:47:30 2004 NAKAMURA, Hiroshi <nakahiro@sarion.co.jp>nahi
* 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