summaryrefslogtreecommitdiff
path: root/test/-ext-/tracepoint
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 /test/-ext-/tracepoint
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 'test/-ext-/tracepoint')
-rw-r--r--test/-ext-/tracepoint/test_tracepoint.rb12
1 files changed, 7 insertions, 5 deletions
diff --git a/test/-ext-/tracepoint/test_tracepoint.rb b/test/-ext-/tracepoint/test_tracepoint.rb
index 27fcceceb5..9743a15510 100644
--- a/test/-ext-/tracepoint/test_tracepoint.rb
+++ b/test/-ext-/tracepoint/test_tracepoint.rb
@@ -17,13 +17,14 @@ class TestTracepointObj < Test::Unit::TestCase
nil
}
- newobj_count, free_count, gc_start_count, gc_end_count, *newobjs = *result
+ newobj_count, free_count, gc_start_count, gc_end_mark_count, gc_end_sweep_count, *newobjs = *result
assert_equal 2, newobj_count
assert_equal 2, newobjs.size
assert_equal 'foobar', newobjs[0]
assert_equal Object, newobjs[1].class
assert_operator free_count, :>=, 0
- assert_operator gc_start_count, :>=, gc_end_count
+ assert_operator gc_start_count, :==, gc_end_mark_count
+ assert_operator gc_start_count, :>=, gc_end_sweep_count
end
def test_tracks_objspace_count
@@ -39,7 +40,7 @@ class TestTracepointObj < Test::Unit::TestCase
GC.stat(stat2)
GC.enable
- newobj_count, free_count, gc_start_count, gc_end_count, *_newobjs = *result
+ newobj_count, free_count, gc_start_count, gc_end_mark_count, gc_end_sweep_count, *newobjs = *result
assert_operator stat2[:total_allocated_object] - stat1[:total_allocated_object], :>=, newobj_count
assert_operator 1_000_000, :<=, newobj_count
@@ -47,8 +48,9 @@ class TestTracepointObj < Test::Unit::TestCase
assert_operator stat2[:total_freed_object] + stat2[:heap_final_slot] - stat1[:total_freed_object], :>=, free_count
assert_operator stat2[:count] - stat1[:count], :==, gc_start_count
- assert_operator gc_start_count, :>=, gc_end_count
- assert_operator stat2[:count] - stat1[:count] - 1, :<=, gc_end_count
+ assert_operator gc_start_count, :==, gc_end_mark_count
+ assert_operator gc_start_count, :>=, gc_end_sweep_count
+ assert_operator stat2[:count] - stat1[:count] - 1, :<=, gc_end_sweep_count
end
def test_tracepoint_specify_normal_and_internal_events