changeset 7453:17700eb91e42

Don't attempt to evacuate anything if evacuation has been cancelled.
author Roman Kennke <rkennke@redhat.com>
date Wed, 21 Jan 2015 01:06:55 +0100
parents 1ef0e3bb0a21
children 0086e1d4fe0c
files src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp
diffstat 1 files changed, 5 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp	Mon Jan 19 17:31:19 2015 +0100
+++ b/src/share/vm/gc_implementation/shenandoah/shenandoahHeap.cpp	Wed Jan 21 01:06:55 2015 +0100
@@ -2324,6 +2324,11 @@
 
   assert(! heap_region_containing(p)->is_humonguous(), "never evacuate humonguous objects");
 
+  // Don't even attempt to evacuate anything if evacuation has been cancelled.
+  if (_cancelled_evacuation) {
+    return ShenandoahBarrierSet::resolve_oop_static(p);
+  }
+
   bool alloc_from_gclab = true;
   HeapWord* filler = allocate_from_gclab(thread, required);
   if (filler == NULL) {