[前][次][番号順一覧][スレッド一覧]

ruby-changes:25708

From: ko1 <ko1@a...>
Date: Tue, 20 Nov 2012 21:58:01 +0900 (JST)
Subject: [ruby-changes:25708] ko1:r37765 (trunk): * include/ruby/debug.h: introdudced.

ko1	2012-11-20 21:57:49 +0900 (Tue, 20 Nov 2012)

  New Revision: 37765

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=37765

  Log:
    * include/ruby/debug.h: introdudced.
      Debugging/profiling features will be located.
    * vm_trace.c: expose C-level TracePoint APIs.
      Note that they are experimental.
    * vm_trace.c, include/ruby/debug.h: rename `rb_hook_flag_t'
      to `rb_event_hook_flag_t'.
      Macro names `RUBY_HOOK_FLAG_*' are also renamed to
      `RUBY_EVENT_HOOK_FLAG_*'.
    * debug.h, vm_debug.h: rename debug.h to vm_debug.h.
    * common.mk: ditto.
    * debug.c, main.c, vm_core.h: ditto.

  Added files:
    trunk/include/ruby/debug.h
    trunk/vm_debug.h
  Removed files:
    trunk/debug.h
  Modified files:
    trunk/ChangeLog
    trunk/common.mk
    trunk/debug.c
    trunk/main.c
    trunk/vm_core.h
    trunk/vm_trace.c

Index: debug.h
===================================================================
--- debug.h	(revision 37764)
+++ debug.h	(revision 37765)
@@ -1,41 +0,0 @@
-/**********************************************************************
-
-  debug.h - YARV Debug function interface
-
-  $Author$
-  created at: 04/08/25 02:33:49 JST
-
-  Copyright (C) 2004-2007 Koichi Sasada
-
-**********************************************************************/
-
-#ifndef RUBY_DEBUG_H
-#define RUBY_DEBUG_H
-
-#include "ruby/ruby.h"
-#include "node.h"
-
-#if defined __GNUC__ && __GNUC__ >= 4
-#pragma GCC visibility push(default)
-#endif
-
-#define dpv(h,v) ruby_debug_print_value(-1, 0, (h), (v))
-#define dp(v)    ruby_debug_print_value(-1, 0, "", (v))
-#define dpi(i)   ruby_debug_print_id(-1, 0, "", (i))
-#define dpn(n)   ruby_debug_print_node(-1, 0, "", (n))
-
-#define bp()     ruby_debug_breakpoint()
-
-VALUE ruby_debug_print_value(int level, int debug_level, const char *header, VALUE v);
-ID    ruby_debug_print_id(int level, int debug_level, const char *header, ID id);
-NODE *ruby_debug_print_node(int level, int debug_level, const char *header, const NODE *node);
-int   ruby_debug_print_indent(int level, int debug_level, int indent_level);
-void  ruby_debug_breakpoint(void);
-void  ruby_debug_gc_check_func(void);
-void ruby_set_debug_option(const char *str);
-
-#if defined __GNUC__ && __GNUC__ >= 4
-#pragma GCC visibility pop
-#endif
-
-#endif /* RUBY_DEBUG_H */
Index: debug.c
===================================================================
--- debug.c	(revision 37764)
+++ debug.c	(revision 37765)
@@ -12,7 +12,7 @@
 #include "ruby/ruby.h"
 #include "ruby/encoding.h"
 #include "ruby/util.h"
-#include "debug.h"
+#include "vm_debug.h"
 #include "eval_intern.h"
 #include "vm_core.h"
 #include "id.h"
Index: include/ruby/debug.h
===================================================================
--- include/ruby/debug.h	(revision 0)
+++ include/ruby/debug.h	(revision 37765)
@@ -0,0 +1,75 @@
+/**********************************************************************
+
+  ruby/debug.h -
+
+  $Author: ko1 $
+  created at: Tue Nov 20 20:35:08 2012
+
+  Copyright (C) 2012 Yukihiro Matsumoto
+
+**********************************************************************/
+
+#ifndef RB_DEBUG_H
+#define RB_DEBUG_H 1
+
+#if defined(__cplusplus)
+extern "C" {
+#if 0
+} /* satisfy cc-mode */
+#endif
+#endif
+
+#if defined __GNUC__ && __GNUC__ >= 4
+#pragma GCC visibility push(default)
+#endif
+
+/* Note: This file contains experimental APIs. */
+/* APIs can be replaced at Ruby 2.0.1 or later */
+
+typedef enum {
+    RUBY_EVENT_HOOK_FLAG_SAFE    = 0x01,
+    RUBY_EVENT_HOOK_FLAG_DELETED = 0x02,
+    RUBY_EVENT_HOOK_FLAG_RAW_ARG = 0x04
+} rb_event_hook_flag_t;
+
+/* Safe API.  Callback will be called under PUSH_TAG() */
+void rb_add_event_hook(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data);
+int rb_remove_event_hook(rb_event_hook_func_t func);
+int rb_remove_event_hook_with_data(rb_event_hook_func_t func, VALUE data);
+void rb_thread_add_event_hook(VALUE thval, rb_event_hook_func_t func, rb_event_flag_t events, VALUE data);
+int rb_thread_remove_event_hook(VALUE thval, rb_event_hook_func_t func);
+int rb_thread_remove_event_hook_with_data(VALUE thval, rb_event_hook_func_t func, VALUE data);
+
+/* advanced version */
+void rb_add_event_hook2(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data, rb_event_hook_flag_t hook_flag);
+void rb_thread_add_event_hook2(VALUE thval, rb_event_hook_func_t func, rb_event_flag_t events, VALUE data, rb_event_hook_flag_t hook_flag);
+
+/* TracePoint APIs */
+
+VALUE rb_tracepoint_new(VALUE target_thread_not_supported_yet, rb_event_flag_t events, void (*func)(VALUE, void *), void *data);
+VALUE rb_tracepoint_enable(VALUE tpval);
+VALUE rb_tracepoint_disable(VALUE tpval);
+VALUE rb_tracepoint_enabled_p(VALUE tpval);
+
+VALUE rb_tracepoint_attr_event(VALUE tpval);
+VALUE rb_tracepoint_attr_line(VALUE tpval);
+VALUE rb_tracepoint_attr_file(VALUE tpval);
+VALUE rb_tracepoint_attr_id(VALUE tpval);
+VALUE rb_tracepoint_attr_klass(VALUE tpval);
+VALUE rb_tracepoint_attr_binding(VALUE tpval);
+VALUE rb_tracepoint_attr_self(VALUE tpval);
+VALUE rb_tracepoint_attr_return_value(VALUE tpval);
+VALUE rb_tracepoint_attr_raised_exception(VALUE tpval);
+
+#if defined __GNUC__ && __GNUC__ >= 4
+#pragma GCC visibility pop
+#endif
+
+#if defined(__cplusplus)
+#if 0
+{ /* satisfy cc-mode */
+#endif
+}  /* extern "C" { */
+#endif
+
+#endif /* RUBY_DEBUG_H */
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 37764)
+++ ChangeLog	(revision 37765)
@@ -1,3 +1,22 @@
+Tue Nov 20 21:41:04 2012  Koichi Sasada  <ko1@a...>
+
+	* include/ruby/debug.h: introdudced.
+	  Debugging/profiling features will be located.
+
+	* vm_trace.c: expose C-level TracePoint APIs.
+	  Note that they are experimental.
+
+	* vm_trace.c, include/ruby/debug.h: rename `rb_hook_flag_t'
+	  to `rb_event_hook_flag_t'.
+	  Macro names `RUBY_HOOK_FLAG_*' are also renamed to
+	  `RUBY_EVENT_HOOK_FLAG_*'.
+
+	* debug.h, vm_debug.h: rename debug.h to vm_debug.h.
+
+	* common.mk: ditto.
+
+	* debug.c, main.c, vm_core.h: ditto.
+
 Tue Nov 20 21:12:37 2012  NARUSE, Yui  <naruse@r...>
 
 	* configure.in (RUBY_DTRACE_AVAILABLE): only check dtrace availability.
Index: vm_debug.h
===================================================================
--- vm_debug.h	(revision 0)
+++ vm_debug.h	(revision 37765)
@@ -0,0 +1,41 @@
+/**********************************************************************
+
+  vm_debug.h - YARV Debug function interface
+
+  $Author$
+  created at: 04/08/25 02:33:49 JST
+
+  Copyright (C) 2004-2007 Koichi Sasada
+
+**********************************************************************/
+
+#ifndef RUBY_DEBUG_H
+#define RUBY_DEBUG_H
+
+#include "ruby/ruby.h"
+#include "node.h"
+
+#if defined __GNUC__ && __GNUC__ >= 4
+#pragma GCC visibility push(default)
+#endif
+
+#define dpv(h,v) ruby_debug_print_value(-1, 0, (h), (v))
+#define dp(v)    ruby_debug_print_value(-1, 0, "", (v))
+#define dpi(i)   ruby_debug_print_id(-1, 0, "", (i))
+#define dpn(n)   ruby_debug_print_node(-1, 0, "", (n))
+
+#define bp()     ruby_debug_breakpoint()
+
+VALUE ruby_debug_print_value(int level, int debug_level, const char *header, VALUE v);
+ID    ruby_debug_print_id(int level, int debug_level, const char *header, ID id);
+NODE *ruby_debug_print_node(int level, int debug_level, const char *header, const NODE *node);
+int   ruby_debug_print_indent(int level, int debug_level, int indent_level);
+void  ruby_debug_breakpoint(void);
+void  ruby_debug_gc_check_func(void);
+void ruby_set_debug_option(const char *str);
+
+#if defined __GNUC__ && __GNUC__ >= 4
+#pragma GCC visibility pop
+#endif
+
+#endif /* RUBY_DEBUG_H */

Property changes on: vm_debug.h
___________________________________________________________________
Added: svn:eol-style
   + LF
Added: svn:keywords
   + Author

Index: vm_core.h
===================================================================
--- vm_core.h	(revision 37764)
+++ vm_core.h	(revision 37765)
@@ -18,7 +18,7 @@
 #include "ruby/st.h"
 
 #include "node.h"
-#include "debug.h"
+#include "vm_debug.h"
 #include "vm_opts.h"
 #include "id.h"
 #include "method.h"
Index: common.mk
===================================================================
--- common.mk	(revision 37764)
+++ common.mk	(revision 37765)
@@ -612,7 +612,7 @@
 PROBES_H_INCLUDES  = {$(VPATH)}probes.h
 VM_CORE_H_INCLUDES = {$(VPATH)}vm_core.h {$(VPATH)}thread_$(THREAD_MODEL).h \
 		     {$(VPATH)}node.h {$(VPATH)}method.h {$(VPATH)}ruby_atomic.h \
-		     $(ID_H_INCLUDES)
+	             {$(VPATH)}vm_debug.h $(ID_H_INCLUDES)
 
 addr2line.$(OBJEXT): {$(VPATH)}addr2line.c {$(VPATH)}addr2line.h {$(VPATH)}config.h
 array.$(OBJEXT): {$(VPATH)}array.c $(RUBY_H_INCLUDES) {$(VPATH)}util.h \
@@ -620,8 +620,7 @@
 bignum.$(OBJEXT): {$(VPATH)}bignum.c $(RUBY_H_INCLUDES) {$(VPATH)}util.h \
   {$(VPATH)}thread.h {$(VPATH)}internal.h
 class.$(OBJEXT): {$(VPATH)}class.c $(RUBY_H_INCLUDES) \
-  $(VM_CORE_H_INCLUDES) {$(VPATH)}debug.h {$(VPATH)}internal.h \
-  {$(VPATH)}constant.h
+  $(VM_CORE_H_INCLUDES) {$(VPATH)}internal.h {$(VPATH)}constant.h
 compar.$(OBJEXT): {$(VPATH)}compar.c $(RUBY_H_INCLUDES)
 complex.$(OBJEXT): {$(VPATH)}complex.c $(RUBY_H_INCLUDES) \
   {$(VPATH)}internal.h
@@ -644,23 +643,21 @@
   {$(VPATH)}internal.h
 error.$(OBJEXT): {$(VPATH)}error.c {$(VPATH)}known_errors.inc \
   $(RUBY_H_INCLUDES) $(VM_CORE_H_INCLUDES) $(ENCODING_H_INCLUDES) \
-  {$(VPATH)}debug.h \
   {$(VPATH)}internal.h
 eval.$(OBJEXT): {$(VPATH)}eval.c {$(VPATH)}eval_intern.h {$(VPATH)}vm.h \
   $(RUBY_H_INCLUDES) $(VM_CORE_H_INCLUDES) {$(VPATH)}eval_error.c \
-  {$(VPATH)}eval_jump.c {$(VPATH)}debug.h {$(VPATH)}gc.h {$(VPATH)}iseq.h \
+  {$(VPATH)}eval_jump.c {$(VPATH)}gc.h {$(VPATH)}iseq.h \
   $(ENCODING_H_INCLUDES) {$(VPATH)}internal.h $(PROBES_H_INCLUDES)
 load.$(OBJEXT): {$(VPATH)}load.c {$(VPATH)}eval_intern.h \
   {$(VPATH)}util.h $(RUBY_H_INCLUDES) $(VM_CORE_H_INCLUDES) \
-  {$(VPATH)}dln.h {$(VPATH)}debug.h \
-  {$(VPATH)}internal.h $(PROBES_H_INCLUDES)
+  {$(VPATH)}dln.h {$(VPATH)}internal.h $(PROBES_H_INCLUDES)
 file.$(OBJEXT): {$(VPATH)}file.c $(RUBY_H_INCLUDES) {$(VPATH)}io.h \
   $(ENCODING_H_INCLUDES) {$(VPATH)}util.h {$(VPATH)}dln.h \
   {$(VPATH)}internal.h
 gc.$(OBJEXT): {$(VPATH)}gc.c $(RUBY_H_INCLUDES) {$(VPATH)}re.h \
   {$(VPATH)}regex.h $(ENCODING_H_INCLUDES) $(VM_CORE_H_INCLUDES) \
   {$(VPATH)}gc.h {$(VPATH)}io.h {$(VPATH)}eval_intern.h {$(VPATH)}util.h \
-  {$(VPATH)}debug.h {$(VPATH)}internal.h {$(VPATH)}constant.h \
+  {$(VPATH)}internal.h {$(VPATH)}constant.h \
   {$(VPATH)}thread.h $(PROBES_H_INCLUDES)
 hash.$(OBJEXT): {$(VPATH)}hash.c $(RUBY_H_INCLUDES) {$(VPATH)}util.h \
   $(ENCODING_H_INCLUDES) {$(VPATH)}internal.h $(PROBES_H_INCLUDES)
@@ -669,14 +666,13 @@
 io.$(OBJEXT): {$(VPATH)}io.c $(RUBY_H_INCLUDES) {$(VPATH)}io.h \
   {$(VPATH)}util.h $(ENCODING_H_INCLUDES) {$(VPATH)}dln.h \
   {$(VPATH)}internal.h {$(VPATH)}thread.h
-main.$(OBJEXT): {$(VPATH)}main.c $(RUBY_H_INCLUDES) {$(VPATH)}debug.h \
-  {$(VPATH)}node.h
+main.$(OBJEXT): {$(VPATH)}main.c $(RUBY_H_INCLUDES) {$(VPATH)}node.h {$(VPATH)}vm_debug.h
 marshal.$(OBJEXT): {$(VPATH)}marshal.c $(RUBY_H_INCLUDES) {$(VPATH)}io.h \
   $(ENCODING_H_INCLUDES) {$(VPATH)}util.h {$(VPATH)}internal.h
 math.$(OBJEXT): {$(VPATH)}math.c $(RUBY_H_INCLUDES) \
   {$(VPATH)}internal.h
 node.$(OBJEXT): {$(VPATH)}node.c $(RUBY_H_INCLUDES) \
-  $(VM_CORE_H_INCLUDES) {$(VPATH)}debug.h
+  $(VM_CORE_H_INCLUDES)
 numeric.$(OBJEXT): {$(VPATH)}numeric.c $(RUBY_H_INCLUDES) \
   {$(VPATH)}util.h $(ENCODING_H_INCLUDES) {$(VPATH)}internal.h
 object.$(OBJEXT): {$(VPATH)}object.c $(RUBY_H_INCLUDES) {$(VPATH)}util.h \
@@ -691,10 +687,10 @@
   {$(VPATH)}internal.h $(PROBES_H_INCLUDES)
 proc.$(OBJEXT): {$(VPATH)}proc.c {$(VPATH)}eval_intern.h \
   $(RUBY_H_INCLUDES) {$(VPATH)}gc.h $(VM_CORE_H_INCLUDES) \
-  {$(VPATH)}debug.h {$(VPATH)}internal.h {$(VPATH)}iseq.h
+  {$(VPATH)}internal.h {$(VPATH)}iseq.h
 process.$(OBJEXT): {$(VPATH)}process.c $(RUBY_H_INCLUDES) \
   {$(VPATH)}util.h {$(VPATH)}io.h $(ENCODING_H_INCLUDES) {$(VPATH)}dln.h \
-  $(VM_CORE_H_INCLUDES) {$(VPATH)}debug.h {$(VPATH)}internal.h \
+  $(VM_CORE_H_INCLUDES) {$(VPATH)}internal.h \
   {$(VPATH)}thread.h
 random.$(OBJEXT): {$(VPATH)}random.c $(RUBY_H_INCLUDES) \
   {$(VPATH)}siphash.c {$(VPATH)}siphash.h
@@ -720,11 +716,10 @@
   {$(VPATH)}regenc.h {$(VPATH)}oniguruma.h $(RUBY_H_INCLUDES)
 ruby.$(OBJEXT): {$(VPATH)}ruby.c $(RUBY_H_INCLUDES) {$(VPATH)}util.h \
   $(ENCODING_H_INCLUDES) {$(VPATH)}eval_intern.h $(VM_CORE_H_INCLUDES) \
-  {$(VPATH)}dln.h {$(VPATH)}debug.h {$(VPATH)}internal.h
-safe.$(OBJEXT): {$(VPATH)}safe.c $(RUBY_H_INCLUDES) \
-  $(VM_CORE_H_INCLUDES) {$(VPATH)}debug.h
+  {$(VPATH)}dln.h {$(VPATH)}internal.h
+safe.$(OBJEXT): {$(VPATH)}safe.c $(RUBY_H_INCLUDES) $(VM_CORE_H_INCLUDES)
 signal.$(OBJEXT): {$(VPATH)}signal.c $(RUBY_H_INCLUDES) \
-  $(VM_CORE_H_INCLUDES) {$(VPATH)}debug.h
+  $(VM_CORE_H_INCLUDES)
 sprintf.$(OBJEXT): {$(VPATH)}sprintf.c $(RUBY_H_INCLUDES) {$(VPATH)}re.h \
   {$(VPATH)}regex.h {$(VPATH)}vsnprintf.c $(ENCODING_H_INCLUDES)
 st.$(OBJEXT): {$(VPATH)}st.c $(RUBY_H_INCLUDES)
@@ -735,13 +730,13 @@
 struct.$(OBJEXT): {$(VPATH)}struct.c $(RUBY_H_INCLUDES) {$(VPATH)}internal.h
 thread.$(OBJEXT): {$(VPATH)}thread.c {$(VPATH)}eval_intern.h \
   $(RUBY_H_INCLUDES) {$(VPATH)}gc.h $(VM_CORE_H_INCLUDES) \
-  {$(VPATH)}debug.h {$(VPATH)}thread_$(THREAD_MODEL).c $(ENCODING_H_INCLUDES) \
+  {$(VPATH)}thread_$(THREAD_MODEL).c $(ENCODING_H_INCLUDES) \
   {$(VPATH)}internal.h {$(VPATH)}io.h {$(VPATH)}thread.h
 transcode.$(OBJEXT): {$(VPATH)}transcode.c $(RUBY_H_INCLUDES) \
   $(ENCODING_H_INCLUDES) {$(VPATH)}transcode_data.h {$(VPATH)}internal.h
 cont.$(OBJEXT): {$(VPATH)}cont.c $(RUBY_H_INCLUDES) \
   $(VM_CORE_H_INCLUDES) {$(VPATH)}gc.h {$(VPATH)}eval_intern.h \
-  {$(VPATH)}debug.h {$(VPATH)}internal.h
+  {$(VPATH)}internal.h
 time.$(OBJEXT): {$(VPATH)}time.c $(RUBY_H_INCLUDES) \
   $(ENCODING_H_INCLUDES) {$(VPATH)}timev.h {$(VPATH)}internal.h
 util.$(OBJEXT): {$(VPATH)}util.c $(RUBY_H_INCLUDES) {$(VPATH)}util.h \
@@ -756,41 +751,41 @@
 
 compile.$(OBJEXT): {$(VPATH)}compile.c {$(VPATH)}iseq.h \
   $(RUBY_H_INCLUDES) $(VM_CORE_H_INCLUDES) {$(VPATH)}insns.inc \
-  {$(VPATH)}insns_info.inc {$(VPATH)}optinsn.inc {$(VPATH)}debug.h \
+  {$(VPATH)}insns_info.inc {$(VPATH)}optinsn.inc \
   {$(VPATH)}optunifs.inc {$(VPATH)}opt_sc.inc {$(VPATH)}insns.inc \
   {$(VPATH)}internal.h
 iseq.$(OBJEXT): {$(VPATH)}iseq.c {$(VPATH)}gc.h {$(VPATH)}iseq.h \
   $(RUBY_H_INCLUDES) $(VM_CORE_H_INCLUDES) {$(VPATH)}insns.inc \
-  {$(VPATH)}insns_info.inc {$(VPATH)}node_name.inc {$(VPATH)}debug.h {$(VPATH)}internal.h
+  {$(VPATH)}insns_info.inc {$(VPATH)}node_name.inc {$(VPATH)}internal.h
 vm.$(OBJEXT): {$(VPATH)}vm.c {$(VPATH)}gc.h {$(VPATH)}iseq.h \
   {$(VPATH)}eval_intern.h $(RUBY_H_INCLUDES) $(ENCODING_H_INCLUDES) \
   $(VM_CORE_H_INCLUDES) {$(VPATH)}vm_method.c {$(VPATH)}vm_eval.c \
   {$(VPATH)}vm_insnhelper.c {$(VPATH)}vm_insnhelper.h {$(VPATH)}vm_exec.c \
   {$(VPATH)}vm_exec.h {$(VPATH)}insns.def {$(VPATH)}vmtc.inc \
-  {$(VPATH)}vm.inc {$(VPATH)}insns.inc {$(VPATH)}debug.h \
+  {$(VPATH)}vm.inc {$(VPATH)}insns.inc \
   {$(VPATH)}internal.h {$(VPATH)}vm.h {$(VPATH)}constant.h \
   $(PROBES_H_INCLUDES) {$(VPATH)}probes_helper.h
 vm_dump.$(OBJEXT): {$(VPATH)}vm_dump.c $(RUBY_H_INCLUDES) \
-  $(VM_CORE_H_INCLUDES) {$(VPATH)}debug.h {$(VPATH)}addr2line.h \
+  $(VM_CORE_H_INCLUDES) {$(VPATH)}addr2line.h \
   {$(VPATH)}internal.h
 debug.$(OBJEXT): {$(VPATH)}debug.c $(RUBY_H_INCLUDES) \
   $(ENCODING_H_INCLUDES) $(VM_CORE_H_INCLUDES) {$(VPATH)}eval_intern.h \
-  {$(VPATH)}util.h {$(VPATH)}debug.h
+  {$(VPATH)}util.h
 id.$(OBJEXT): {$(VPATH)}id.c $(RUBY_H_INCLUDES) $(ID_H_INCLUDES) {$(VPATH)}vm_opts.h
 vm_backtrace.$(OBJEXT): {$(VPATH)}vm_backtrace.c \
   $(VM_CORE_H_INCLUDES) $(RUBY_H_INCLUDES) $(ENCODING_H_INCLUDES) \
   {$(VPATH)}internal.h {$(VPATH)}iseq.h
 vm_trace.$(OBJEXT): {$(VPATH)}vm_trace.c $(ENCODING_H_INCLUDES) \
-  $(VM_CORE_H_INCLUDES) $(RUBY_H_INCLUDES) \
+  $(VM_CORE_H_INCLUDES) $(RUBY_H_INCLUDES) {$(VPATH)}debug.h \
   {$(VPATH)}internal.h
 miniprelude.$(OBJEXT): {$(VPATH)}miniprelude.c $(RUBY_H_INCLUDES) \
-  $(VM_CORE_H_INCLUDES) {$(VPATH)}debug.h {$(VPATH)}internal.h
+  $(VM_CORE_H_INCLUDES) {$(VPATH)}internal.h
 prelude.$(OBJEXT): {$(VPATH)}prelude.c $(RUBY_H_INCLUDES) \
-  $(VM_CORE_H_INCLUDES) {$(VPATH)}debug.h {$(VPATH)}internal.h
+  $(VM_CORE_H_INCLUDES) {$(VPATH)}internal.h
 golf_prelude.$(OBJEXT): {$(VPATH)}golf_prelude.c $(RUBY_H_INCLUDES) \
-  $(VM_CORE_H_INCLUDES) {$(VPATH)}debug.h {$(VPATH)}internal.h
+  $(VM_CORE_H_INCLUDES) {$(VPATH)}internal.h
 goruby.$(OBJEXT): {$(VPATH)}goruby.c {$(VPATH)}main.c $(RUBY_H_INCLUDES) \
-  {$(VPATH)}debug.h {$(VPATH)}node.h
+  {$(VPATH)}vm_debug.h {$(VPATH)}node.h
 
 ascii.$(OBJEXT): {$(VPATH)}ascii.c {$(VPATH)}regenc.h {$(VPATH)}config.h \
   {$(VPATH)}oniguruma.h {$(VPATH)}missing.h $(RUBY_H_INCLUDES)
Index: main.c
===================================================================
--- main.c	(revision 37764)
+++ main.c	(revision 37765)
@@ -11,7 +11,7 @@
 
 #undef RUBY_EXPORT
 #include "ruby.h"
-#include "debug.h"
+#include "vm_debug.h"
 #ifdef HAVE_LOCALE_H
 #include <locale.h>
 #endif
Index: vm_trace.c
===================================================================
--- vm_trace.c	(revision 37764)
+++ vm_trace.c	(revision 37765)
@@ -22,6 +22,7 @@
  */
 
 #include "ruby/ruby.h"
+#include "ruby/debug.h"
 #include "ruby/encoding.h"
 
 #include "internal.h"
@@ -30,14 +31,8 @@
 
 /* (1) trace mechanisms */
 
-typedef enum {
-    RUBY_HOOK_FLAG_SAFE    = 0x01,
-    RUBY_HOOK_FLAG_DELETED = 0x02,
-    RUBY_HOOK_FLAG_RAW_ARG = 0x04
-} rb_hook_flag_t;
-
 typedef struct rb_event_hook_struct {
-    rb_hook_flag_t hook_flags;
+    rb_event_hook_flag_t hook_flags;
     rb_event_flag_t events;
     rb_event_hook_func_t func;
     VALUE data;
@@ -50,18 +45,6 @@
 
 static int ruby_event_flag_count[MAX_EVENT_NUM] = {0};
 
-/* Safe API.  Callback will be called under PUSH_TAG() */
-void rb_add_event_hook(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data);
-int rb_remove_event_hook(rb_event_hook_func_t func);
-int rb_remove_event_hook_with_data(rb_event_hook_func_t func, VALUE data);
-void rb_thread_add_event_hook(VALUE thval, rb_event_hook_func_t func, rb_event_flag_t events, VALUE data);
-int rb_thread_remove_event_hook(VALUE thval, rb_event_hook_func_t func);
-int rb_thread_remove_event_hook_with_data(VALUE thval, rb_event_hook_func_t func, VALUE data);
-
-/* advanced version */
-void rb_add_event_hook2(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data, rb_hook_flag_t hook_flag);
-void rb_thread_add_event_hook2(VALUE thval, rb_event_hook_func_t func, rb_event_flag_t events, VALUE data, rb_hook_flag_t hook_flag);
-
 /* called from vm.c */
 
 void
@@ -116,7 +99,7 @@
 }
 
 static rb_event_hook_t *
-alloc_event_hook(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data, rb_hook_flag_t hook_flags)
+alloc_event_hook(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data, rb_event_hook_flag_t hook_flags)
 {
     rb_event_hook_t *hook = ALLOC(rb_event_hook_t);
     hook->hook_flags = hook_flags;
@@ -136,7 +119,7 @@
 }
 
 static void
-rb_threadptr_add_event_hook(rb_thread_t *th, rb_event_hook_func_t func, rb_event_flag_t events, VALUE data, rb_hook_flag_t hook_flags)
+rb_threadptr_add_event_hook(rb_thread_t *th, rb_event_hook_func_t func, rb_event_flag_t events, VALUE data, rb_event_hook_flag_t hook_flags)
 {
     rb_event_hook_t *hook = alloc_event_hook(func, events, data, hook_flags);
     connect_event_hook(&th->event_hooks, hook);
@@ -145,24 +128,24 @@
 void
 rb_thread_add_event_hook(VALUE thval, rb_event_hook_func_t func, rb_event_flag_t events, VALUE data)
 {
-    rb_threadptr_add_event_hook(thval2thread_t(thval), func, events, data, RUBY_HOOK_FLAG_SAFE);
+    rb_threadptr_add_event_hook(thval2thread_t(thval), func, events, data, RUBY_EVENT_HOOK_FLAG_SAFE);
 }
 
 void
 rb_add_event_hook(rb_event_hook_func_t func, rb_event_flag_t events, VALUE data)
 {
-    rb_event_hook_t *hook = alloc_event_hook(func, events, data, RUBY_HOOK_FLAG_SAFE);
+    rb_event_hook_t *hook = alloc_event_hook(func, events, data, RUBY_EVENT_HOOK_FLAG_SAFE);
     connect_event_hook(&GET_VM()->event_hooks, hook);
 }
 
 void
-rb_thread_add_event_hook2(VALUE thval, rb_event_hook_func_t func, rb_event_flag_t events, VALUE data, rb_hook_flag_t hook_flags)
+rb_thread_add_event_hook2(VALUE thval, rb_event_hook_func_t func, rb_event_flag_t events, VALUE data, rb_event_hook_flag_t hook_flags)
 {
     rb_threadptr_add_event_hook(thval2thread_t(thval), func, events, data, hook_flags);
 }
 
 void
-rb_add_event_h (... truncated)

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]