 +	reg_cfp->sp += num + 1;
 +	EXEC_EVENT_HOOK(th, RUBY_EVENT_C_RETURN, recv, me->called_id, me->klass);
 +	reg_cfp->sp -= num + 1;
-+    }
++    } else if (th->tracing < 0)
++	th->tracing++;
 +
      vm_pop_frame(th);
  

-#endif
+/* Rocky: added breakpoint testing. */
+#define PREFETCH(pc)							\
+  if (GET_CFP()->iseq &&						\
+      GET_CFP()->iseq->breakpoints &&					\
+      GET_CFP()->iseq->breakpoints[pc - GET_CFP()->iseq->iseq_encoded])	\
+    EXEC_EVENT_HOOK(th, RUBY_EVENT_BRKPT, GET_SELF(),			\
+		    0, 0)
 
 #if VMDEBUG > 0
 #define debugs printf
Index: vm_insnhelper.c
===================================================================
--- vm_insnhelper.c	(revision 26781)
+++ vm_insnhelper.c	(working copy)
@@ -367,11 +367,19 @@
     const rb_method_definition_t *def = me->def;

 
Index: tool/instruction.rb
===================================================================
--- tool/instruction.rb	(revision 26821)
+++ tool/instruction.rb	(working copy)
@@ -854,6 +854,17 @@
       commit "INSN_ENTRY(#{insn.name}){"
