< prev index next >
src/share/vm/memory/collectorPolicy.cpp
Print this page
rev 7696 : 8071822: [TEST_BUG] Adapt collectorPolicy internal tests to support 64K pages
*** 976,998 ****
FLAG_SET_CMDLINE(uintx, OldSize, flag_value);
verify_old_min(flag_value);
set_basic_flag_values();
FLAG_SET_CMDLINE(uintx, OldSize, flag_value);
! verify_old_initial(flag_value);
// If MaxNewSize is large, the maximum OldSize will be less than
// what's requested on the command line and it should be reset
// ergonomically.
! flag_value = 30 * M;
set_basic_flag_values();
FLAG_SET_CMDLINE(uintx, OldSize, flag_value);
! FLAG_SET_CMDLINE(uintx, MaxNewSize, 170*M);
// Calculate what we expect the flag to be.
! flag_value = MaxHeapSize - MaxNewSize;
! verify_old_initial(flag_value);
!
}
static void verify_young_min(size_t expected) {
MarkSweepPolicy msp;
msp.initialize_all();
--- 976,1005 ----
FLAG_SET_CMDLINE(uintx, OldSize, flag_value);
verify_old_min(flag_value);
set_basic_flag_values();
FLAG_SET_CMDLINE(uintx, OldSize, flag_value);
! // Calculate what we expect the flag to be.
! size_t expected_old_initial =
! align_size_up(InitialHeapSize, CollectorPolicy::compute_heap_alignment()) - MaxNewSize;
! verify_old_initial(expected_old_initial);
// If MaxNewSize is large, the maximum OldSize will be less than
// what's requested on the command line and it should be reset
// ergonomically.
! // We intentionally set MaxNewSize + OldSize > MaxHeapSize.
set_basic_flag_values();
+ flag_value = 30 * M;
FLAG_SET_CMDLINE(uintx, OldSize, flag_value);
! size_t new_size_value =
! align_size_up(MaxHeapSize, CollectorPolicy::compute_heap_alignment()) - flag_value + 20*M;
! FLAG_SET_CMDLINE(uintx, MaxNewSize, new_size_value);
// Calculate what we expect the flag to be.
! expected_old_initial =
! align_size_up(MaxHeapSize, CollectorPolicy::compute_heap_alignment()) - MaxNewSize;
! verify_old_initial(expected_old_initial);
! restore_flags();
}
static void verify_young_min(size_t expected) {
MarkSweepPolicy msp;
msp.initialize_all();
*** 1009,1018 ****
--- 1016,1031 ----
static void verify_scaled_young_initial(size_t initial_heap_size) {
MarkSweepPolicy msp;
msp.initialize_all();
+ if (InitialHeapSize > initial_heap_size) {
+ // InitialHeapSize was adapted by msp.initialize_all, e.g. due to alignment
+ // caused by 64K page size.
+ initial_heap_size = InitialHeapSize;
+ }
+
size_t expected = msp.scale_by_NewRatio_aligned(initial_heap_size);
assert(msp.initial_young_size() == expected, err_msg("%zu != %zu", msp.initial_young_size(), expected));
assert(FLAG_IS_ERGO(NewSize) && NewSize == expected,
err_msg("NewSize should have been set ergonomically to %zu, but was %zu", expected, NewSize));
}
< prev index next >