--- old/src/share/vm/gc/shenandoah/shenandoahVerifier.cpp 2017-10-05 21:08:07.419158449 +0200 +++ new/src/share/vm/gc/shenandoah/shenandoahVerifier.cpp 2017-10-05 21:08:07.309158182 +0200 @@ -59,10 +59,8 @@ r->print_on(&ss); msg.append(" " PTR_FORMAT " - klass " PTR_FORMAT " %s\n", p2i(obj), p2i(obj->klass()), obj->klass()->external_name()); - msg.append(" %3s allocated after complete mark start\n", _heap->allocated_after_complete_mark_start((HeapWord *) obj) ? "" : "not"); - msg.append(" %3s allocated after next mark start\n", _heap->allocated_after_next_mark_start((HeapWord *) obj) ? "" : "not"); - msg.append(" %3s marked complete\n", _heap->is_marked_complete(obj) ? "" : "not"); - msg.append(" %3s marked next\n", _heap->is_marked_next(obj) ? "" : "not"); + msg.append(" %3s allocated after mark start\n", _heap->allocated_after_mark_start((HeapWord *) obj) ? "" : "not"); + msg.append(" %3s marked \n", _heap->is_marked(obj) ? "" : "not"); msg.append(" %3s in collection set\n", _heap->in_collection_set(obj) ? "" : "not"); msg.append(" region: %s", ss.as_string()); } @@ -306,12 +304,8 @@ case ShenandoahVerifier::_verify_marked_disable: // skip break; - case ShenandoahVerifier::_verify_marked_next: - verify(_safe_all, obj, _heap->is_marked_next(obj), - "Must be marked in next bitmap"); - break; - case ShenandoahVerifier::_verify_marked_complete: - verify(_safe_all, obj, _heap->is_marked_complete(obj), + case ShenandoahVerifier::_verify_marked: + verify(_safe_all, obj, _heap->is_marked(obj), "Must be marked in complete bitmap"); break; default: @@ -488,11 +482,11 @@ verify(r, r->capacity() == ShenandoahHeapRegion::region_size_bytes(), "Capacity should match region size"); - verify(r, r->bottom() <= _heap->complete_top_at_mark_start(r->bottom()), + verify(r, r->bottom() <= _heap->top_at_mark_start(r->bottom()), "Region top should not be less than bottom"); - verify(r, _heap->complete_top_at_mark_start(r->bottom()) <= r->top(), - "Complete TAMS should not be larger than top"); + verify(r, _heap->top_at_mark_start(r->bottom()) <= r->top(), + "TAMS should not be larger than top"); verify(r, r->get_live_data_bytes() <= r->capacity(), "Live data cannot be larger than capacity"); @@ -639,7 +633,7 @@ virtual void work_humongous(ShenandoahHeapRegion *r, ShenandoahVerifierStack& stack, ShenandoahVerifyOopClosure& cl) { size_t processed = 0; HeapWord* obj = r->bottom() + BrooksPointer::word_size(); - if (_heap->is_marked_complete((oop)obj)) { + if (_heap->is_marked((oop)obj)) { verify_and_follow(obj, stack, cl, &processed); } Atomic::add(processed, &_processed); @@ -647,8 +641,8 @@ virtual void work_regular(ShenandoahHeapRegion *r, ShenandoahVerifierStack &stack, ShenandoahVerifyOopClosure &cl) { size_t processed = 0; - MarkBitMap* mark_bit_map = _heap->complete_mark_bit_map(); - HeapWord* tams = _heap->complete_top_at_mark_start(r->bottom()); + MarkBitMap* mark_bit_map = _heap->mark_bit_map(); + HeapWord* tams = _heap->top_at_mark_start(r->bottom()); // Bitmaps, before TAMS if (tams > r->bottom()) { @@ -768,18 +762,18 @@ // version size_t count_marked = 0; - if (ShenandoahVerifyLevel >= 4 && marked == _verify_marked_complete) { + if (ShenandoahVerifyLevel >= 4 && marked == _verify_marked) { ShenandoahVerifierMarkedRegionTask task(_heap->regions(), _verification_bit_map, ld, label, options); _heap->workers()->run_task(&task); count_marked = task.processed(); } else { - guarantee(ShenandoahVerifyLevel < 4 || marked == _verify_marked_next || marked == _verify_marked_disable, "Should be"); + guarantee(ShenandoahVerifyLevel < 4 || marked == _verify_marked_disable, "Should be"); } // Step 4. Verify accumulated liveness data, if needed. Only reliable if verification level includes // marked objects. - if (ShenandoahVerifyLevel >= 4 && marked == _verify_marked_complete && liveness == _verify_liveness_complete) { + if (ShenandoahVerifyLevel >= 4 && marked == _verify_marked && liveness == _verify_liveness_complete) { ShenandoahHeapRegionSet* set = _heap->regions(); for (size_t i = 0; i < _heap->num_regions(); i++) { ShenandoahHeapRegion* r = set->get(i); @@ -853,7 +847,7 @@ verify_at_safepoint( "After Mark", _verify_forwarded_none, // no forwarded references - _verify_marked_complete, // bitmaps as precise as we can get + _verify_marked, // bitmaps as precise as we can get _verify_matrix_disable, // matrix might be foobared _verify_cset_none, // no references to cset anymore _verify_liveness_complete, // liveness data must be complete here @@ -867,7 +861,7 @@ verify_at_safepoint( "Before Evacuation", _verify_forwarded_none, // no forwarded references - _verify_marked_complete, // walk over marked objects too + _verify_marked, // walk over marked objects too _verify_matrix_disable, // skip, verified after mark _verify_cset_disable, // skip, verified after mark _verify_liveness_disable, // skip, verified after mark @@ -879,7 +873,7 @@ verify_at_safepoint( "After Evacuation", _verify_forwarded_allow, // objects are still forwarded - _verify_marked_complete, // bitmaps might be stale, but alloc-after-mark should be well + _verify_marked, // bitmaps might be stale, but alloc-after-mark should be well _verify_matrix_disable, // matrix is inconsistent here _verify_cset_forwarded, // all cset refs are fully forwarded _verify_liveness_disable, // no reliable liveness data anymore @@ -891,7 +885,7 @@ verify_at_safepoint( "Before Updating References", _verify_forwarded_allow, // forwarded references allowed - _verify_marked_complete, // bitmaps might be stale, but alloc-after-mark should be well + _verify_marked, // bitmaps might be stale, but alloc-after-mark should be well _verify_matrix_disable, // matrix is inconsistent here _verify_cset_forwarded, // all cset refs are fully forwarded _verify_liveness_disable, // no reliable liveness data anymore @@ -903,7 +897,7 @@ verify_at_safepoint( "After Updating References", _verify_forwarded_none, // no forwarded references - _verify_marked_complete, // bitmaps might be stale, but alloc-after-mark should be well + _verify_marked, // bitmaps might be stale, but alloc-after-mark should be well _verify_matrix_conservative, // matrix is conservatively consistent _verify_cset_none, // no cset references, all updated _verify_liveness_disable, // no reliable liveness data anymore @@ -915,7 +909,7 @@ verify_at_safepoint( "Before Partial GC", _verify_forwarded_none, // cannot have forwarded objects - _verify_marked_complete, // bitmaps might be stale, but alloc-after-mark should be well + _verify_marked, // bitmaps might be stale, but alloc-after-mark should be well _verify_matrix_conservative, // matrix is conservatively consistent _verify_cset_none, // no cset references before partial _verify_liveness_disable, // no reliable liveness data anymore @@ -927,7 +921,7 @@ verify_at_safepoint( "After Partial GC", _verify_forwarded_none, // cannot have forwarded objects - _verify_marked_complete, // bitmaps might be stale, but alloc-after-mark should be well + _verify_marked, // bitmaps might be stale, but alloc-after-mark should be well _verify_matrix_conservative, // matrix is conservatively consistent _verify_cset_none, // no cset references left after partial _verify_liveness_disable, // no reliable liveness data anymore @@ -951,7 +945,7 @@ verify_at_safepoint( "After Full GC", _verify_forwarded_none, // all objects are non-forwarded - _verify_marked_complete, // all objects are marked in complete bitmap + _verify_marked, // all objects are marked in complete bitmap _verify_matrix_conservative, // matrix is conservatively consistent _verify_cset_none, // no cset references _verify_liveness_disable, // no reliable liveness data anymore