summaryrefslogtreecommitdiff
path: root/include/ruby
diff options
context:
space:
mode:
authortmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-12-05 04:26:04 +0000
committertmm1 <tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-12-05 04:26:04 +0000
commit393b9e65e91036743609e0d5ed899072b0f2d0a8 (patch)
tree0d8d8c358b852e73e3f9dcd9eeefb057c4cd36bc /include/ruby
parentfb29aefc7abe3fe1b2c7794035a73f9ba50e8364 (diff)
gc.c: split GC_END event into GC_END_MARK and GC_END_SWEEP
* include/ruby/ruby.h: remove INTERNAL_EVENT_GC_END and replace with two new events: GC_END_MARK and GC_END_SWEEP * gc.c (gc_after_sweep): emit GC_END_SWEEP after lazy sweep is done * gc.c (gc_marks_body): emit GC_END_MARK at end of minor/major mark * ext/-test-/tracepoint/tracepoint.c (struct tracepoint_track): tests for new events. * test/-ext-/tracepoint/test_tracepoint.rb (class TestTracepointObj): ditto. * NEWS: remove ObjectSpace.after_gc_*_hook. These are only a sample, and will be removed before ruby 2.1. * ext/objspace/gc_hook.c: remove ObjectSpace.after_gc_end_hook= git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43997 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'include/ruby')
-rw-r--r--include/ruby/ruby.h19
1 files changed, 10 insertions, 9 deletions
diff --git a/include/ruby/ruby.h b/include/ruby/ruby.h
index b2ec3d61ff..05c53fb838 100644
--- a/include/ruby/ruby.h
+++ b/include/ruby/ruby.h
@@ -1712,15 +1712,16 @@ int ruby_native_thread_p(void);
#define RUBY_EVENT_COVERAGE 0x020000
/* internal events */
-#define RUBY_INTERNAL_EVENT_SWITCH 0x040000
-#define RUBY_EVENT_SWITCH 0x040000 /* obsolete name. this macro is for compatibility */
- /* 0x080000 */
-#define RUBY_INTERNAL_EVENT_NEWOBJ 0x100000
-#define RUBY_INTERNAL_EVENT_FREEOBJ 0x200000
-#define RUBY_INTERNAL_EVENT_GC_START 0x400000
-#define RUBY_INTERNAL_EVENT_GC_END 0x800000
-#define RUBY_INTERNAL_EVENT_OBJSPACE_MASK 0xf00000
-#define RUBY_INTERNAL_EVENT_MASK 0xfffe0000
+#define RUBY_INTERNAL_EVENT_SWITCH 0x040000
+#define RUBY_EVENT_SWITCH 0x040000 /* obsolete name. this macro is for compatibility */
+ /* 0x080000 */
+#define RUBY_INTERNAL_EVENT_NEWOBJ 0x100000
+#define RUBY_INTERNAL_EVENT_FREEOBJ 0x200000
+#define RUBY_INTERNAL_EVENT_GC_START 0x400000
+#define RUBY_INTERNAL_EVENT_GC_END_MARK 0x800000
+#define RUBY_INTERNAL_EVENT_GC_END_SWEEP 0x1000000
+#define RUBY_INTERNAL_EVENT_OBJSPACE_MASK 0x1f00000
+#define RUBY_INTERNAL_EVENT_MASK 0xfffe0000
typedef unsigned long rb_event_flag_t;
typedef void (*rb_event_hook_func_t)(rb_event_flag_t evflag, VALUE data, VALUE self, ID mid, VALUE klass);