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