changeset 7430:3f43402ff54d

Fix assert in barrier for cancelled evacuation.
author Roman Kennke <rkennke@redhat.com>
date Fri, 05 Dec 2014 11:48:51 +0100
parents c7e95b9e0104
children 8f8b7b789c9e
files src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.cpp
diffstat 1 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.cpp	Thu Dec 04 23:03:22 2014 +0100
+++ b/src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.cpp	Fri Dec 05 11:48:51 2014 +0100
@@ -158,7 +158,8 @@
 #ifdef ASSERT
     ShenandoahHeap *sh = (ShenandoahHeap*) Universe::heap();
     if (sh->is_in(dst) && 
-	sh->heap_region_containing((HeapWord*) dst)->is_in_collection_set()){
+	sh->heap_region_containing((HeapWord*) dst)->is_in_collection_set() &&
+        ! sh->cancelled_evacuation()) {
       tty->print("dst = %p\n", dst);
       sh->heap_region_containing((HeapWord*) dst)->print();
       assert(false, "We should have fixed this earlier");   
@@ -196,7 +197,8 @@
 #ifdef ASSERT
     ShenandoahHeap *sh = (ShenandoahHeap*) Universe::heap();
     if (sh->is_in(field) && 
-	sh->heap_region_containing((HeapWord*)field)->is_in_collection_set()){
+	sh->heap_region_containing((HeapWord*)field)->is_in_collection_set() &&
+        ! sh->cancelled_evacuation()) {
       tty->print("field = %p\n", field);
       sh->heap_region_containing((HeapWord*)field)->print();
       assert(false, "We should have fixed this earlier");