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

ruby-changes:2455

From: ko1@a...
Date: 16 Nov 2007 16:29:59 +0900
Subject: [ruby-changes:2455] shugo - Ruby:r13946 (trunk): * include/ruby/ruby.h: added some declarations for event hooks.

shugo	2007-11-16 16:29:44 +0900 (Fri, 16 Nov 2007)

  New Revision: 13946

  Modified files:
    trunk/ChangeLog
    trunk/include/ruby/ruby.h
    trunk/lib/profile.rb
    trunk/vm_core.h

  Log:
    * include/ruby/ruby.h: added some declarations for event hooks.
    * lib/profile.rb: set VM::InstructionSequence.compile_option.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/include/ruby/ruby.h?r1=13946&r2=13945
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13946&r2=13945
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/lib/profile.rb?r1=13946&r2=13945
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/vm_core.h?r1=13946&r2=13945

Index: include/ruby/ruby.h
===================================================================
--- include/ruby/ruby.h	(revision 13945)
+++ include/ruby/ruby.h	(revision 13946)
@@ -940,6 +940,36 @@
 #define HAVE_NATIVETHREAD
 int is_ruby_native_thread(void);
 
+#define RUBY_EVENT_NONE     0x00
+#define RUBY_EVENT_LINE     0x01
+#define RUBY_EVENT_CLASS    0x02
+#define RUBY_EVENT_END      0x04
+#define RUBY_EVENT_CALL     0x08
+#define RUBY_EVENT_RETURN   0x10
+#define RUBY_EVENT_C_CALL   0x20
+#define RUBY_EVENT_C_RETURN 0x40
+#define RUBY_EVENT_RAISE    0x80
+#define RUBY_EVENT_ALL      0xff
+#define RUBY_EVENT_VM      0x100
+#define RUBY_EVENT_SWITCH  0x200
+
+typedef unsigned int rb_event_flag_t;
+typedef void (*rb_event_hook_func_t)(rb_event_flag_t, VALUE data, VALUE, ID, VALUE klass);
+
+typedef struct rb_event_hook_struct {
+    rb_event_flag_t flag;
+    rb_event_hook_func_t func;
+    VALUE data;
+    struct rb_event_hook_struct *next;
+} rb_event_hook_t;
+
+void rb_thread_add_event_hook(rb_thread_t *th, rb_event_hook_func_t func,
+			      rb_event_flag_t events, VALUE data);
+void rb_add_event_hook(rb_event_hook_func_t func, rb_event_flag_t events,
+		       VALUE data);
+int rb_thread_remove_event_hook(rb_thread_t *th, rb_event_hook_func_t func);
+int rb_remove_event_hook(rb_event_hook_func_t func);
+
 #if defined(__cplusplus)
 #if 0
 { /* satisfy cc-mode */
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 13945)
+++ ChangeLog	(revision 13946)
@@ -1,3 +1,9 @@
+Fri Nov 16 16:26:57 2007  Shugo Maeda  <shugo@r...>
+
+	* include/ruby/ruby.h: added some declarations for event hooks.
+
+	* lib/profile.rb: set VM::InstructionSequence.compile_option.
+
 Fri Nov 16 11:16:41 2007  Nobuyoshi Nakada  <nobu@r...>
 
 	* lib/yaml/rubytypes.rb (String#is_binary_data?): use Integer#fdiv.
Index: vm_core.h
===================================================================
--- vm_core.h	(revision 13945)
+++ vm_core.h	(revision 13946)
@@ -275,29 +275,6 @@
 
 typedef struct rb_iseq_struct rb_iseq_t;
 
-#define RUBY_EVENT_NONE     0x00
-#define RUBY_EVENT_LINE     0x01
-#define RUBY_EVENT_CLASS    0x02
-#define RUBY_EVENT_END      0x04
-#define RUBY_EVENT_CALL     0x08
-#define RUBY_EVENT_RETURN   0x10
-#define RUBY_EVENT_C_CALL   0x20
-#define RUBY_EVENT_C_RETURN 0x40
-#define RUBY_EVENT_RAISE    0x80
-#define RUBY_EVENT_ALL      0xff
-#define RUBY_EVENT_VM      0x100
-#define RUBY_EVENT_SWITCH  0x200
-
-typedef unsigned int rb_event_flag_t;
-typedef void (*rb_event_hook_func_t)(rb_event_flag_t, VALUE data, VALUE, ID, VALUE klass);
-
-typedef struct rb_event_hook_struct {
-    rb_event_flag_t flag;
-    rb_event_hook_func_t func;
-    VALUE data;
-    struct rb_event_hook_struct *next;
-} rb_event_hook_t;
-
 #define GetVMPtr(obj, ptr) \
   GetCoreDataFromValue(obj, rb_vm_t, ptr)
 
Index: lib/profile.rb
===================================================================
--- lib/profile.rb	(revision 13945)
+++ lib/profile.rb	(revision 13946)
@@ -1,5 +1,9 @@
 require 'profiler'
 
+VM::InstructionSequence.compile_option = {
+  :trace_instruction => true,
+  :specialized_instruction => false
+}
 END {
   Profiler__::print_profile(STDERR)
 }

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

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