< prev index next >

src/hotspot/share/gc/shared/gcTimer.cpp

Print this page
rev 52044 : 8157728: Covert GCTimer_test to GTest
Reviewed-by: duke

@@ -182,214 +182,5 @@
   assert(has_next(), "Must have phases left");
   return _time_partitions->phase_at(_next++);
 }
 
 
-/////////////// Unit tests ///////////////
-
-#ifndef PRODUCT
-
-class TimePartitionPhasesIteratorTest {
- public:
-  static void all() {
-    one_pause();
-    two_pauses();
-    one_sub_pause_phase();
-    many_sub_pause_phases();
-    many_sub_pause_phases2();
-    max_nested_pause_phases();
-    one_concurrent();
-  }
-
-  static void validate_gc_phase(GCPhase* phase, int level, const char* name, const Ticks& start, const Ticks& end) {
-    assert(phase->level() == level, "Incorrect level");
-    assert(strcmp(phase->name(), name) == 0, "Incorrect name");
-    assert(phase->start() == start, "Incorrect start");
-    assert(phase->end() == end, "Incorrect end");
-  }
-
-  static void one_pause() {
-    TimePartitions time_partitions;
-    time_partitions.report_gc_phase_start("PausePhase", 2);
-    time_partitions.report_gc_phase_end(8);
-
-    TimePartitionPhasesIterator iter(&time_partitions);
-
-    validate_gc_phase(iter.next(), 0, "PausePhase", 2, 8);
-    assert(time_partitions.sum_of_pauses() == Ticks(8) - Ticks(2), "Incorrect");
-    assert(time_partitions.longest_pause() == Ticks(8) - Ticks(2), "Incorrect");
-
-    assert(!iter.has_next(), "Too many elements");
-  }
-
-  static void two_pauses() {
-    TimePartitions time_partitions;
-    time_partitions.report_gc_phase_start("PausePhase1", 2);
-    time_partitions.report_gc_phase_end(3);
-    time_partitions.report_gc_phase_start("PausePhase2", 4);
-    time_partitions.report_gc_phase_end(6);
-
-    TimePartitionPhasesIterator iter(&time_partitions);
-
-    validate_gc_phase(iter.next(), 0, "PausePhase1", 2, 3);
-    validate_gc_phase(iter.next(), 0, "PausePhase2", 4, 6);
-
-    assert(time_partitions.sum_of_pauses() == Ticks(3) - Ticks(0), "Incorrect");
-    assert(time_partitions.longest_pause() == Ticks(2) - Ticks(0), "Incorrect");
-
-    assert(!iter.has_next(), "Too many elements");
-  }
-
-  static void one_sub_pause_phase() {
-    TimePartitions time_partitions;
-    time_partitions.report_gc_phase_start("PausePhase", 2);
-    time_partitions.report_gc_phase_start("SubPhase", 3);
-    time_partitions.report_gc_phase_end(4);
-    time_partitions.report_gc_phase_end(5);
-
-    TimePartitionPhasesIterator iter(&time_partitions);
-
-    validate_gc_phase(iter.next(), 0, "PausePhase", 2, 5);
-    validate_gc_phase(iter.next(), 1, "SubPhase", 3, 4);
-
-    assert(time_partitions.sum_of_pauses() == Ticks(3) - Ticks(0), "Incorrect");
-    assert(time_partitions.longest_pause() == Ticks(3) - Ticks(0), "Incorrect");
-
-    assert(!iter.has_next(), "Too many elements");
-  }
-
-  static void max_nested_pause_phases() {
-    TimePartitions time_partitions;
-    time_partitions.report_gc_phase_start("PausePhase", 2);
-    time_partitions.report_gc_phase_start("SubPhase1", 3);
-    time_partitions.report_gc_phase_start("SubPhase2", 4);
-    time_partitions.report_gc_phase_start("SubPhase3", 5);
-    time_partitions.report_gc_phase_end(6);
-    time_partitions.report_gc_phase_end(7);
-    time_partitions.report_gc_phase_end(8);
-    time_partitions.report_gc_phase_end(9);
-
-    TimePartitionPhasesIterator iter(&time_partitions);
-
-    validate_gc_phase(iter.next(), 0, "PausePhase", 2, 9);
-    validate_gc_phase(iter.next(), 1, "SubPhase1", 3, 8);
-    validate_gc_phase(iter.next(), 2, "SubPhase2", 4, 7);
-    validate_gc_phase(iter.next(), 3, "SubPhase3", 5, 6);
-
-    assert(time_partitions.sum_of_pauses() == Ticks(7) - Ticks(0), "Incorrect");
-    assert(time_partitions.longest_pause() == Ticks(7) - Ticks(0), "Incorrect");
-
-    assert(!iter.has_next(), "Too many elements");
-  }
-
-  static void many_sub_pause_phases() {
-    TimePartitions time_partitions;
-    time_partitions.report_gc_phase_start("PausePhase", 2);
-
-    time_partitions.report_gc_phase_start("SubPhase1", 3);
-    time_partitions.report_gc_phase_end(4);
-    time_partitions.report_gc_phase_start("SubPhase2", 5);
-    time_partitions.report_gc_phase_end(6);
-    time_partitions.report_gc_phase_start("SubPhase3", 7);
-    time_partitions.report_gc_phase_end(8);
-    time_partitions.report_gc_phase_start("SubPhase4", 9);
-    time_partitions.report_gc_phase_end(10);
-
-    time_partitions.report_gc_phase_end(11);
-
-    TimePartitionPhasesIterator iter(&time_partitions);
-
-    validate_gc_phase(iter.next(), 0, "PausePhase", 2, 11);
-    validate_gc_phase(iter.next(), 1, "SubPhase1", 3, 4);
-    validate_gc_phase(iter.next(), 1, "SubPhase2", 5, 6);
-    validate_gc_phase(iter.next(), 1, "SubPhase3", 7, 8);
-    validate_gc_phase(iter.next(), 1, "SubPhase4", 9, 10);
-
-    assert(time_partitions.sum_of_pauses() == Ticks(9) - Ticks(0), "Incorrect");
-    assert(time_partitions.longest_pause() == Ticks(9) - Ticks(0), "Incorrect");
-
-    assert(!iter.has_next(), "Too many elements");
-  }
-
-  static void many_sub_pause_phases2() {
-    TimePartitions time_partitions;
-    time_partitions.report_gc_phase_start("PausePhase", 2);
-
-    time_partitions.report_gc_phase_start("SubPhase1", 3);
-    time_partitions.report_gc_phase_start("SubPhase11", 4);
-    time_partitions.report_gc_phase_end(5);
-    time_partitions.report_gc_phase_start("SubPhase12", 6);
-    time_partitions.report_gc_phase_end(7);
-    time_partitions.report_gc_phase_end(8);
-    time_partitions.report_gc_phase_start("SubPhase2", 9);
-    time_partitions.report_gc_phase_start("SubPhase21", 10);
-    time_partitions.report_gc_phase_end(11);
-    time_partitions.report_gc_phase_start("SubPhase22", 12);
-    time_partitions.report_gc_phase_end(13);
-    time_partitions.report_gc_phase_end(14);
-    time_partitions.report_gc_phase_start("SubPhase3", 15);
-    time_partitions.report_gc_phase_end(16);
-
-    time_partitions.report_gc_phase_end(17);
-
-    TimePartitionPhasesIterator iter(&time_partitions);
-
-    validate_gc_phase(iter.next(), 0, "PausePhase", 2, 17);
-    validate_gc_phase(iter.next(), 1, "SubPhase1", 3, 8);
-    validate_gc_phase(iter.next(), 2, "SubPhase11", 4, 5);
-    validate_gc_phase(iter.next(), 2, "SubPhase12", 6, 7);
-    validate_gc_phase(iter.next(), 1, "SubPhase2", 9, 14);
-    validate_gc_phase(iter.next(), 2, "SubPhase21", 10, 11);
-    validate_gc_phase(iter.next(), 2, "SubPhase22", 12, 13);
-    validate_gc_phase(iter.next(), 1, "SubPhase3", 15, 16);
-
-    assert(time_partitions.sum_of_pauses() == Ticks(15) - Ticks(0), "Incorrect");
-    assert(time_partitions.longest_pause() == Ticks(15) - Ticks(0), "Incorrect");
-
-    assert(!iter.has_next(), "Too many elements");
-  }
-
-  static void one_concurrent() {
-    TimePartitions time_partitions;
-    time_partitions.report_gc_phase_start("ConcurrentPhase", 2, GCPhase::ConcurrentPhaseType);
-    time_partitions.report_gc_phase_end(8, GCPhase::ConcurrentPhaseType);
-
-    TimePartitionPhasesIterator iter(&time_partitions);
-
-    validate_gc_phase(iter.next(), 0, "ConcurrentPhase", 2, 8);
-    // ConcurrentPhaseType should not affect to both 'sum_of_pauses()' and 'longest_pause()'.
-    assert(time_partitions.sum_of_pauses() == Tickspan(), "Incorrect");
-    assert(time_partitions.longest_pause() == Tickspan(), "Incorrect");
-
-    assert(!iter.has_next(), "Too many elements");
-  }
-};
-
-class GCTimerTest {
-public:
-  static void all() {
-    gc_start();
-    gc_end();
-  }
-
-  static void gc_start() {
-    GCTimer gc_timer;
-    gc_timer.register_gc_start(1);
-
-    assert(gc_timer.gc_start() == Ticks(1), "Incorrect");
-  }
-
-  static void gc_end() {
-    GCTimer gc_timer;
-    gc_timer.register_gc_start(1);
-    gc_timer.register_gc_end(2);
-
-    assert(gc_timer.gc_end() == Ticks(2), "Incorrect");
-  }
-};
-
-void GCTimer_test() {
-  GCTimerTest::all();
-  TimePartitionPhasesIteratorTest::all();
-}
-
-#endif
< prev index next >