--- a/src/hotspot/share/gc/parallel/psParallelCompact.cpp Fri Dec 21 08:18:59 2018 -0800
+++ b/src/hotspot/share/gc/parallel/psParallelCompact.cpp Fri Dec 21 08:23:55 2018 -0800
@@ -1995,7 +1995,10 @@
assert(young_gen->virtual_space()->alignment() ==
old_gen->virtual_space()->alignment(), "alignments do not match");
- if (!(UseAdaptiveSizePolicy && UseAdaptiveGCBoundary)) {
+ // We also return false when it's a heterogenous heap because old generation cannot absorb data from eden
+ // when it is allocated on different memory (example, nv-dimm) than young.
+ if (!(UseAdaptiveSizePolicy && UseAdaptiveGCBoundary) ||
+ ParallelScavengeHeap::heap()->ps_collector_policy()->is_hetero_heap()) {
return false;
}