# HG changeset patch
# User apetushkov <andrey@azul.com>
# Date 1479388005 -10800
# Thu Nov 17 16:06:45 2016 +0300
# Node ID e81797ad613bfb64b506f5a42889ea813f3ffdd2
# Parent ad0ce4e6fc1b1dc3d52863839483b222549dbb81
8169872: incremental CMS always crashes VM
diff --git a/src/cpu/aarch32/vm/macroAssembler_aarch32.cpp b/src/cpu/aarch32/vm/macroAssembler_aarch32.cpp
--- openjdk/hotspot/src/cpu/aarch32/vm/macroAssembler_aarch32.cpp
+++ openjdk/hotspot/src/cpu/aarch32/vm/macroAssembler_aarch32.cpp
@@ -2119,7 +2119,7 @@
assert_different_registers(top, rthread, t1, t2, /* preserve: */ r6, r3);
Label do_refill, discard_tlab;
- if (!Universe::heap()->supports_inline_contig_alloc()) {
+ if (CMSIncrementalMode || !Universe::heap()->supports_inline_contig_alloc()) {
// No allocation in the shared eden.
b(slow_case);
}
@@ -2229,7 +2229,7 @@
Register t1,
Label& slow_case) {
assert_different_registers(obj, var_size_in_bytes, t1);
- if (!Universe::heap()->supports_inline_contig_alloc()) {
+ if (CMSIncrementalMode || !Universe::heap()->supports_inline_contig_alloc()) {
b(slow_case);
} else {
Register end = t1;
diff --git a/src/cpu/aarch32/vm/templateTable_aarch32.cpp b/src/cpu/aarch32/vm/templateTable_aarch32.cpp
--- openjdk/hotspot/src/cpu/aarch32/vm/templateTable_aarch32.cpp
+++ openjdk/hotspot/src/cpu/aarch32/vm/templateTable_aarch32.cpp
@@ -3829,7 +3829,7 @@
// (creates a new TLAB, etc.)
const bool allow_shared_alloc =
- Universe::heap()->supports_inline_contig_alloc();
+ !CMSIncrementalMode && Universe::heap()->supports_inline_contig_alloc();
if (UseTLAB) {
__ tlab_allocate(r0, r3, 0, noreg, r1,