From 393b9e65e91036743609e0d5ed899072b0f2d0a8 Mon Sep 17 00:00:00 2001 From: tmm1 Date: Thu, 5 Dec 2013 04:26:04 +0000 Subject: 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 --- test/-ext-/tracepoint/test_tracepoint.rb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'test') 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 -- cgit v1.2.3