8170468: Convert ParallelCompact_test to GTest
Reviewed-by: dfazunen, iignatyev
This commit is contained in:
parent
8d6d1e4cda
commit
8bf0437430
@ -262,6 +262,13 @@ print_generic_summary_data(ParallelCompactData& summary_data,
|
||||
log_develop_trace(gc, compaction)("summary_data_bytes=" SIZE_FORMAT, total_words * HeapWordSize);
|
||||
}
|
||||
|
||||
void
|
||||
PSParallelCompact::print_generic_summary_data(ParallelCompactData& summary_data,
|
||||
HeapWord* const beg_addr,
|
||||
HeapWord* const end_addr) {
|
||||
::print_generic_summary_data(summary_data,beg_addr, end_addr);
|
||||
}
|
||||
|
||||
void
|
||||
print_generic_summary_data(ParallelCompactData& summary_data,
|
||||
SpaceInfo* space_info)
|
||||
@ -377,26 +384,6 @@ print_initial_summary_data(ParallelCompactData& summary_data,
|
||||
print_generic_summary_data(summary_data, space->bottom(), space->top());
|
||||
} while (++id < PSParallelCompact::last_space_id);
|
||||
}
|
||||
|
||||
void ParallelCompact_test() {
|
||||
if (!UseParallelOldGC) {
|
||||
return;
|
||||
}
|
||||
// Check that print_generic_summary_data() does not print the
|
||||
// end region by placing a bad value in the destination of the
|
||||
// end region. The end region should not be printed because it
|
||||
// corresponds to the space after the end of the heap.
|
||||
ParallelScavengeHeap* heap = ParallelScavengeHeap::heap();
|
||||
ParCompactionManager* const vmthread_cm =
|
||||
ParCompactionManager::manager_array(ParallelGCThreads);
|
||||
HeapWord* begin_heap =
|
||||
(HeapWord*) heap->old_gen()->virtual_space()->low_boundary();
|
||||
HeapWord* end_heap =
|
||||
(HeapWord*) heap->young_gen()->virtual_space()->high_boundary();
|
||||
|
||||
print_generic_summary_data(PSParallelCompact::summary_data(),
|
||||
begin_heap, end_heap);
|
||||
}
|
||||
#endif // #ifndef PRODUCT
|
||||
|
||||
#ifdef ASSERT
|
||||
|
@ -965,6 +965,7 @@ class PSParallelCompact : AllStatic {
|
||||
friend class AdjustPointerClosure;
|
||||
friend class AdjustKlassClosure;
|
||||
friend class RefProcTaskProxy;
|
||||
friend class PSParallelCompactTest;
|
||||
|
||||
private:
|
||||
static STWGCTimer _gc_timer;
|
||||
@ -1101,6 +1102,13 @@ class PSParallelCompact : AllStatic {
|
||||
// Reset time since last full gc
|
||||
static void reset_millis_since_last_gc();
|
||||
|
||||
#ifndef PRODUCT
|
||||
// Print generic summary data
|
||||
static void print_generic_summary_data(ParallelCompactData& summary_data,
|
||||
HeapWord* const beg_addr,
|
||||
HeapWord* const end_addr);
|
||||
#endif // #ifndef PRODUCT
|
||||
|
||||
public:
|
||||
|
||||
PSParallelCompact();
|
||||
|
@ -52,9 +52,6 @@ void InternalVMTests::run() {
|
||||
run_unit_test(DirectivesParser_test);
|
||||
#if INCLUDE_VM_STRUCTS
|
||||
run_unit_test(VMStructs_test);
|
||||
#endif
|
||||
#if INCLUDE_ALL_GCS
|
||||
run_unit_test(ParallelCompact_test);
|
||||
#endif
|
||||
tty->print_cr("All internal VM tests passed");
|
||||
}
|
||||
|
62
hotspot/test/native/gc/parallel/test_psParallelCompact.cpp
Normal file
62
hotspot/test/native/gc/parallel/test_psParallelCompact.cpp
Normal file
@ -0,0 +1,62 @@
|
||||
/*
|
||||
* Copyright (c) 2005, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
* under the terms of the GNU General Public License version 2 only, as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* This code is distributed in the hope that it will be useful, but WITHOUT
|
||||
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
||||
* version 2 for more details (a copy is included in the LICENSE file that
|
||||
* accompanied this code).
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License version
|
||||
* 2 along with this work; if not, write to the Free Software Foundation,
|
||||
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
*
|
||||
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
|
||||
* or visit www.oracle.com if you need additional information or have any
|
||||
* questions.
|
||||
*/
|
||||
|
||||
#include "precompiled.hpp"
|
||||
#include "gc/parallel/psParallelCompact.hpp"
|
||||
#include "gc/parallel/psCompactionManager.inline.hpp"
|
||||
#include "unittest.hpp"
|
||||
|
||||
#ifndef PRODUCT
|
||||
|
||||
class PSParallelCompactTest : public ::testing::Test {
|
||||
public:
|
||||
static void print_generic_summary_data(ParallelCompactData& summary_data,
|
||||
HeapWord* const beg_addr,
|
||||
HeapWord* const end_addr) {
|
||||
PSParallelCompact::print_generic_summary_data(summary_data,
|
||||
beg_addr, end_addr);
|
||||
}
|
||||
};
|
||||
|
||||
// @requires UseParallelGC
|
||||
TEST_VM(PSParallelCompact, print_generic_summary_data) {
|
||||
if (!UseParallelOldGC) {
|
||||
return;
|
||||
}
|
||||
// Check that print_generic_summary_data() does not print the
|
||||
// end region by placing a bad value in the destination of the
|
||||
// end region. The end region should not be printed because it
|
||||
// corresponds to the space after the end of the heap.
|
||||
ParallelScavengeHeap* heap = ParallelScavengeHeap::heap();
|
||||
ParCompactionManager* const vmthread_cm =
|
||||
ParCompactionManager::manager_array(ParallelGCThreads);
|
||||
HeapWord* begin_heap =
|
||||
(HeapWord*) heap->old_gen()->virtual_space()->low_boundary();
|
||||
HeapWord* end_heap =
|
||||
(HeapWord*) heap->young_gen()->virtual_space()->high_boundary();
|
||||
|
||||
PSParallelCompactTest::print_generic_summary_data(PSParallelCompact::summary_data(),
|
||||
begin_heap, end_heap);
|
||||
}
|
||||
|
||||
#endif
|
Loading…
x
Reference in New Issue
Block a user