ruby-changes:25894
From: tenderlove <ko1@a...>
Date: Thu, 29 Nov 2012 05:21:10 +0900 (JST)
Subject: [ruby-changes:25894] tenderlove:r37951 (trunk): * probes.d: Change function-entry probe to method-entry.
tenderlove 2012-11-29 05:20:50 +0900 (Thu, 29 Nov 2012) New Revision: 37951 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=37951 Log: * probes.d: Change function-entry probe to method-entry. * insns.def: ditto * probes_helper.h: ditto * test/dtrace/test_function_entry.rb: ditto * test/dtrace/test_singleton_function.rb: ditto * vm.c: ditto * vm_eval.c: ditto * vm_insnhelper.c: ditto Modified files: trunk/ChangeLog trunk/insns.def trunk/probes.d trunk/probes_helper.h trunk/test/dtrace/test_function_entry.rb trunk/test/dtrace/test_singleton_function.rb trunk/vm.c trunk/vm_eval.c trunk/vm_insnhelper.c Index: ChangeLog =================================================================== --- ChangeLog (revision 37950) +++ ChangeLog (revision 37951) @@ -1,3 +1,14 @@ +Thu Nov 29 05:19:25 2012 Aaron Patterson <aaron@t...> + + * probes.d: Change function-entry probe to method-entry. + * insns.def: ditto + * probes_helper.h: ditto + * test/dtrace/test_function_entry.rb: ditto + * test/dtrace/test_singleton_function.rb: ditto + * vm.c: ditto + * vm_eval.c: ditto + * vm_insnhelper.c: ditto + Thu Nov 29 04:45:17 2012 Koichi Sasada <ko1@a...> * vm_backtrace.c: rename Class name from Index: insns.def =================================================================== --- insns.def (revision 37950) +++ insns.def (revision 37951) @@ -843,28 +843,28 @@ { rb_event_flag_t flag = (rb_event_flag_t)nf; - if (RUBY_DTRACE_FUNCTION_ENTRY_ENABLED()) { + if (RUBY_DTRACE_METHOD_ENTRY_ENABLED()) { if (flag == RUBY_EVENT_CALL || flag == RUBY_EVENT_C_CALL) { VALUE klass; ID called_id; rb_thread_method_id_and_class(th, &called_id, &klass); - RUBY_DTRACE_FUNCTION_ENTRY( + RUBY_DTRACE_METHOD_ENTRY( RSTRING_PTR(rb_inspect(klass)), rb_id2name(called_id), rb_sourcefile(), rb_sourceline()); } } - if (RUBY_DTRACE_FUNCTION_RETURN_ENABLED()) { + if (RUBY_DTRACE_METHOD_RETURN_ENABLED()) { if (flag == RUBY_EVENT_RETURN || flag == RUBY_EVENT_C_RETURN) { VALUE klass; ID called_id; rb_thread_method_id_and_class(th, &called_id, &klass); - RUBY_DTRACE_FUNCTION_RETURN( + RUBY_DTRACE_METHOD_RETURN( RSTRING_PTR(rb_inspect(klass)), rb_id2name(called_id), rb_sourcefile(), Index: vm_eval.c =================================================================== --- vm_eval.c (revision 37950) +++ vm_eval.c (revision 37951) @@ -55,7 +55,7 @@ { VALUE val; - RUBY_DTRACE_FUNC_ENTRY_HOOK(ci->defined_class, ci->mid); + RUBY_DTRACE_METHOD_ENTRY_HOOK(ci->defined_class, ci->mid); EXEC_EVENT_HOOK(th, RUBY_EVENT_C_CALL, ci->recv, ci->mid, ci->defined_class, Qnil); { rb_control_frame_t *reg_cfp = th->cfp; @@ -85,7 +85,7 @@ } } EXEC_EVENT_HOOK(th, RUBY_EVENT_C_RETURN, ci->recv, ci->mid, ci->defined_class, val); - RUBY_DTRACE_FUNC_RETURN_HOOK(ci->defined_class, ci->mid); + RUBY_DTRACE_METHOD_RETURN_HOOK(ci->defined_class, ci->mid); return val; } @@ -103,7 +103,7 @@ ID mid = ci->mid; rb_block_t *blockptr = ci->blockptr; - RUBY_DTRACE_FUNC_ENTRY_HOOK(defined_class, mid); + RUBY_DTRACE_METHOD_ENTRY_HOOK(defined_class, mid); EXEC_EVENT_HOOK(th, RUBY_EVENT_C_CALL, recv, mid, defined_class, Qnil); { rb_control_frame_t *reg_cfp = th->cfp; @@ -123,7 +123,7 @@ vm_pop_frame(th); } EXEC_EVENT_HOOK(th, RUBY_EVENT_C_RETURN, recv, mid, defined_class, val); - RUBY_DTRACE_FUNC_RETURN_HOOK(defined_class, mid); + RUBY_DTRACE_METHOD_RETURN_HOOK(defined_class, mid); return val; } @@ -1015,7 +1015,7 @@ if (UNLIKELY(VM_FRAME_TYPE(th->cfp) == VM_FRAME_MAGIC_CFUNC)) { const rb_method_entry_t *me = th->cfp->me; EXEC_EVENT_HOOK(th, RUBY_EVENT_C_RETURN, th->cfp->self, me->called_id, me->klass, Qnil); - RUBY_DTRACE_FUNC_RETURN_HOOK(me->klass, me->called_id); + RUBY_DTRACE_METHOD_RETURN_HOOK(me->klass, me->called_id); } th->cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(th->cfp); Index: probes.d =================================================================== --- probes.d (revision 37950) +++ probes.d (revision 37951) @@ -1,8 +1,8 @@ #include "vm_opts.h" provider ruby { - probe function__entry(const char *, const char *, const char *, int); - probe function__return(const char *, const char *, const char *, int); + probe method__entry(const char *, const char *, const char *, int); + probe method__return(const char *, const char *, const char *, int); probe require__entry(const char *, const char *, int); probe require__return(const char *); Index: probes_helper.h =================================================================== --- probes_helper.h (revision 37950) +++ probes_helper.h (revision 37951) @@ -4,13 +4,13 @@ #include "ruby/ruby.h" #include "probes.h" -#define RUBY_DTRACE_FUNC_ENTRY_HOOK(klass, id) \ - if (RUBY_DTRACE_FUNCTION_ENTRY_ENABLED()) { \ +#define RUBY_DTRACE_METHOD_ENTRY_HOOK(klass, id) \ + if (RUBY_DTRACE_METHOD_ENTRY_ENABLED()) { \ const char * classname = rb_class2name((klass)); \ const char * methodname = rb_id2name((id)); \ const char * filename = rb_sourcefile(); \ if (classname && methodname && filename) { \ - RUBY_DTRACE_FUNCTION_ENTRY( \ + RUBY_DTRACE_METHOD_ENTRY( \ classname, \ methodname, \ filename, \ @@ -18,13 +18,13 @@ } \ } \ -#define RUBY_DTRACE_FUNC_RETURN_HOOK(klass, id) \ - if (RUBY_DTRACE_FUNCTION_RETURN_ENABLED()) { \ +#define RUBY_DTRACE_METHOD_RETURN_HOOK(klass, id) \ + if (RUBY_DTRACE_METHOD_RETURN_ENABLED()) { \ const char * classname = rb_class2name((klass)); \ const char * methodname = rb_id2name((id)); \ const char * filename = rb_sourcefile(); \ if (classname && methodname && filename) { \ - RUBY_DTRACE_FUNCTION_RETURN( \ + RUBY_DTRACE_METHOD_RETURN( \ classname, \ methodname, \ filename, \ Index: vm.c =================================================================== --- vm.c (revision 37950) +++ vm.c (revision 37951) @@ -1177,7 +1177,7 @@ if (UNLIKELY(VM_FRAME_TYPE(th->cfp) == VM_FRAME_MAGIC_CFUNC)) { const rb_method_entry_t *me = th->cfp->me; EXEC_EVENT_HOOK(th, RUBY_EVENT_C_RETURN, th->cfp->self, me->called_id, me->klass, Qnil); - RUBY_DTRACE_FUNC_RETURN_HOOK(me->klass, me->called_id); + RUBY_DTRACE_METHOD_RETURN_HOOK(me->klass, me->called_id); } th->cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(th->cfp); } Index: vm_insnhelper.c =================================================================== --- vm_insnhelper.c (revision 37950) +++ vm_insnhelper.c (revision 37951) @@ -1449,7 +1449,7 @@ rb_block_t *blockptr = ci->blockptr; int argc = ci->argc; - RUBY_DTRACE_FUNC_ENTRY_HOOK(me->klass, me->called_id); + RUBY_DTRACE_METHOD_ENTRY_HOOK(me->klass, me->called_id); EXEC_EVENT_HOOK(th, RUBY_EVENT_C_CALL, recv, me->called_id, me->klass, Qundef); vm_push_frame(th, 0, VM_FRAME_MAGIC_CFUNC, recv, defined_class, @@ -1468,7 +1468,7 @@ vm_pop_frame(th); EXEC_EVENT_HOOK(th, RUBY_EVENT_C_RETURN, recv, me->called_id, me->klass, val); - RUBY_DTRACE_FUNC_RETURN_HOOK(me->klass, me->called_id); + RUBY_DTRACE_METHOD_RETURN_HOOK(me->klass, me->called_id); return val; } @@ -1516,7 +1516,7 @@ if (len >= 0) rb_check_arity(ci->argc, len, len); - RUBY_DTRACE_FUNC_ENTRY_HOOK(me->klass, me->called_id); + RUBY_DTRACE_METHOD_ENTRY_HOOK(me->klass, me->called_id); EXEC_EVENT_HOOK(th, RUBY_EVENT_C_CALL, recv, me->called_id, me->klass, Qnil); if (!(ci->me->flag & NOEX_PROTECTED) && @@ -1526,7 +1526,7 @@ val = vm_call_cfunc_latter(th, reg_cfp, ci); EXEC_EVENT_HOOK(th, RUBY_EVENT_C_RETURN, recv, me->called_id, me->klass, val); - RUBY_DTRACE_FUNC_RETURN_HOOK(me->klass, me->called_id); + RUBY_DTRACE_METHOD_RETURN_HOOK(me->klass, me->called_id); return val; } @@ -1575,7 +1575,7 @@ rb_proc_t *proc; VALUE val; - RUBY_DTRACE_FUNC_ENTRY_HOOK(ci->me->klass, ci->me->called_id); + RUBY_DTRACE_METHOD_ENTRY_HOOK(ci->me->klass, ci->me->called_id); EXEC_EVENT_HOOK(th, RUBY_EVENT_CALL, ci->recv, ci->me->called_id, ci->me->klass, Qnil); /* control block frame */ @@ -1584,7 +1584,7 @@ val = vm_invoke_proc(th, proc, ci->recv, ci->defined_class, ci->argc, argv, ci->blockptr); EXEC_EVENT_HOOK(th, RUBY_EVENT_RETURN, ci->recv, ci->me->called_id, ci->me->klass, val); - RUBY_DTRACE_FUNC_RETURN_HOOK(ci->me->klass, ci->me->called_id); + RUBY_DTRACE_METHOD_RETURN_HOOK(ci->me->klass, ci->me->called_id); return val; } Index: test/dtrace/test_function_entry.rb =================================================================== --- test/dtrace/test_function_entry.rb (revision 37950) +++ test/dtrace/test_function_entry.rb (revision 37951) @@ -4,7 +4,7 @@ class TestFunctionEntry < TestCase def test_function_entry probe = <<-eoprobe -ruby$target:::function-entry +ruby$target:::method-entry /arg0 && arg1 && arg2/ { printf("%s %s %s %d\\n", copyinstr(arg0), copyinstr(arg1), copyinstr(arg2), arg3); @@ -25,7 +25,7 @@ def test_function_return probe = <<-eoprobe -ruby$target:::function-return +ruby$target:::method-return /arg0 && arg1 && arg2/ { printf("%s %s %s %d\\n", copyinstr(arg0), copyinstr(arg1), copyinstr(arg2), arg3); Index: test/dtrace/test_singleton_function.rb =================================================================== --- test/dtrace/test_singleton_function.rb (revision 37950) +++ test/dtrace/test_singleton_function.rb (revision 37951) @@ -4,7 +4,7 @@ class TestSingletonFunctionEntry < TestCase def test_entry probe = <<-eoprobe -ruby$target:::function-entry +ruby$target:::method-entry /strstr(copyinstr(arg0), "Foo") != NULL/ { printf("%s %s %s %d\\n", copyinstr(arg0), copyinstr(arg1), copyinstr(arg2), arg3); @@ -25,7 +25,7 @@ def test_exit probe = <<-eoprobe -ruby$target:::function-return +ruby$target:::method-return { printf("%s %s %s %d\\n", copyinstr(arg0), copyinstr(arg1), copyinstr(arg2), arg3); } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/