# HG changeset patch # User Roman Kennke # Date 1417776531 -3600 # Node ID 3f43402ff54d7ddc3e6db9e3a641ed97ed43ad9c # Parent c7e95b9e010433166fb5b11407b2b23c6508bc41 Fix assert in barrier for cancelled evacuation. diff -r c7e95b9e0104 -r 3f43402ff54d src/share/vm/gc_implementation/shenandoah/shenandoahBarrierSet.cpp --- 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");