From a73894337a830cdd32a913964f3150bc35269975 Mon Sep 17 00:00:00 2001 From: ko1 Date: Thu, 19 Apr 2007 10:37:08 +0000 Subject: * 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 --- iseq.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'iseq.c') diff --git a/iseq.c b/iseq.c index 4a2bed7c5a..8071a57637 100644 --- a/iseq.c +++ b/iseq.c @@ -200,6 +200,7 @@ static rb_compile_option_t COMPILE_OPTION_DEFAULT = { OPT_OPERANDS_UNIFICATION, /* int operands_unification; */ OPT_INSTRUCTIONS_UNIFICATION, /* int instructions_unification; */ OPT_STACK_CACHING, /* int stack_caching; */ + OPT_TRACE_INSTRUCTION, }; static const rb_compile_option_t COMPILE_OPTION_FALSE; @@ -227,6 +228,7 @@ make_compile_option(rb_compile_option_t *option, VALUE opt) SET_COMPILE_OPTION(option, opt, operands_unification); SET_COMPILE_OPTION(option, opt, instructions_unification); SET_COMPILE_OPTION(option, opt, stack_caching); + SET_COMPILE_OPTION(option, opt, trace_instruction); #undef SET_COMPILE_OPTION } else { -- cgit v1.2.3