24 #include "precompiled.hpp"
25 #include "gc/parallel/parMarkBitMap.inline.hpp"
26 #include "gc/parallel/psParallelCompact.hpp"
27 #include "gc/parallel/psCompactionManager.inline.hpp"
28 #include "unittest.hpp"
29
30 #ifndef PRODUCT
31
32 class PSParallelCompactTest : public ::testing::Test {
33 public:
34 static void print_generic_summary_data(ParallelCompactData& summary_data,
35 HeapWord* const beg_addr,
36 HeapWord* const end_addr) {
37 PSParallelCompact::print_generic_summary_data(summary_data,
38 beg_addr, end_addr);
39 }
40 };
41
42 // @requires UseParallelGC
43 TEST_VM(PSParallelCompact, print_generic_summary_data) {
44 if (!UseParallelOldGC) {
45 return;
46 }
47 // Check that print_generic_summary_data() does not print the
48 // end region by placing a bad value in the destination of the
49 // end region. The end region should not be printed because it
50 // corresponds to the space after the end of the heap.
51 ParallelScavengeHeap* heap = ParallelScavengeHeap::heap();
52 ParCompactionManager* const vmthread_cm =
53 ParCompactionManager::manager_array(ParallelGCThreads);
54 HeapWord* begin_heap =
55 (HeapWord*) heap->old_gen()->virtual_space()->low_boundary();
56 HeapWord* end_heap =
57 (HeapWord*) heap->young_gen()->virtual_space()->high_boundary();
58
59 PSParallelCompactTest::print_generic_summary_data(PSParallelCompact::summary_data(),
60 begin_heap, end_heap);
61 }
62
63 #endif
|
24 #include "precompiled.hpp"
25 #include "gc/parallel/parMarkBitMap.inline.hpp"
26 #include "gc/parallel/psParallelCompact.hpp"
27 #include "gc/parallel/psCompactionManager.inline.hpp"
28 #include "unittest.hpp"
29
30 #ifndef PRODUCT
31
32 class PSParallelCompactTest : public ::testing::Test {
33 public:
34 static void print_generic_summary_data(ParallelCompactData& summary_data,
35 HeapWord* const beg_addr,
36 HeapWord* const end_addr) {
37 PSParallelCompact::print_generic_summary_data(summary_data,
38 beg_addr, end_addr);
39 }
40 };
41
42 // @requires UseParallelGC
43 TEST_VM(PSParallelCompact, print_generic_summary_data) {
44 if (!UseParallelGC) {
45 return;
46 }
47 // Check that print_generic_summary_data() does not print the
48 // end region by placing a bad value in the destination of the
49 // end region. The end region should not be printed because it
50 // corresponds to the space after the end of the heap.
51 ParallelScavengeHeap* heap = ParallelScavengeHeap::heap();
52 ParCompactionManager* const vmthread_cm =
53 ParCompactionManager::manager_array(ParallelGCThreads);
54 HeapWord* begin_heap =
55 (HeapWord*) heap->old_gen()->virtual_space()->low_boundary();
56 HeapWord* end_heap =
57 (HeapWord*) heap->young_gen()->virtual_space()->high_boundary();
58
59 PSParallelCompactTest::print_generic_summary_data(PSParallelCompact::summary_data(),
60 begin_heap, end_heap);
61 }
62
63 #endif
|