--- old/src/share/vm/gc/shared/space.cpp 2017-04-25 16:45:12.791173876 +0200 +++ new/src/share/vm/gc/shared/space.cpp 2017-04-25 16:45:12.643173882 +0200 @@ -48,7 +48,7 @@ HeapWord* top_obj) { if (top_obj != NULL) { if (_sp->block_is_obj(top_obj)) { - if (_precision == CardTableModRefBS::ObjHeadPreciseArray) { + if (_precision == CardTable::ObjHeadPreciseArray) { if (oop(top_obj)->is_objArray() || oop(top_obj)->is_typeArray()) { // An arrayOop is starting on the dirty card - since we do exact // store checks for objArrays we are done. @@ -124,11 +124,11 @@ HeapWord* bottom_obj; HeapWord* top_obj; - assert(_precision == CardTableModRefBS::ObjHeadPreciseArray || - _precision == CardTableModRefBS::Precise, + assert(_precision == CardTable::ObjHeadPreciseArray || + _precision == CardTable::Precise, "Only ones we deal with for now."); - assert(_precision != CardTableModRefBS::ObjHeadPreciseArray || + assert(_precision != CardTable::ObjHeadPreciseArray || _cl->idempotent() || _last_bottom == NULL || top <= _last_bottom, "Not decreasing"); @@ -146,7 +146,7 @@ top = get_actual_top(top, top_obj); // If the previous call did some part of this region, don't redo. - if (_precision == CardTableModRefBS::ObjHeadPreciseArray && + if (_precision == CardTable::ObjHeadPreciseArray && _min_done != NULL && _min_done < top) { top = _min_done; @@ -158,7 +158,7 @@ bottom = MIN2(bottom, top); MemRegion extended_mr = MemRegion(bottom, top); assert(bottom <= top && - (_precision != CardTableModRefBS::ObjHeadPreciseArray || + (_precision != CardTable::ObjHeadPreciseArray || _min_done == NULL || top <= _min_done), "overlap!"); @@ -179,7 +179,7 @@ } DirtyCardToOopClosure* Space::new_dcto_cl(ExtendedOopClosure* cl, - CardTableModRefBS::PrecisionStyle precision, + CardTable::PrecisionStyle precision, HeapWord* boundary, bool parallel) { return new DirtyCardToOopClosure(this, cl, precision, boundary); @@ -188,7 +188,7 @@ HeapWord* ContiguousSpaceDCTOC::get_actual_top(HeapWord* top, HeapWord* top_obj) { if (top_obj != NULL && top_obj < (_sp->toContiguousSpace())->top()) { - if (_precision == CardTableModRefBS::ObjHeadPreciseArray) { + if (_precision == CardTable::ObjHeadPreciseArray) { if (oop(top_obj)->is_objArray() || oop(top_obj)->is_typeArray()) { // An arrayOop is starting on the dirty card - since we do exact // store checks for objArrays we are done. @@ -259,7 +259,7 @@ DirtyCardToOopClosure* ContiguousSpace::new_dcto_cl(ExtendedOopClosure* cl, - CardTableModRefBS::PrecisionStyle precision, + CardTable::PrecisionStyle precision, HeapWord* boundary, bool parallel) { return new ContiguousSpaceDCTOC(this, cl, precision, boundary);