< prev index next >

src/share/vm/gc/shenandoah/shenandoahConcurrentMark.inline.hpp

Print this page
rev 14452 : [mq]: onebitmap.patch

*** 39,49 **** assert(oopDesc::unsafe_equals(obj, ShenandoahBarrierSet::resolve_oop_static_not_null(obj)), "expect forwarded obj in queue"); assert(_heap->cancelled_concgc() || oopDesc::bs()->is_safe(obj), "we don't want to mark objects in from-space"); assert(_heap->is_in(obj), "referenced objects must be in the heap. No?"); ! assert(_heap->is_marked_next(obj), "only marked objects on task queue"); if (task->is_not_chunked()) { if (COUNT_LIVENESS) count_liveness(live_data, obj); if (obj->is_instance()) { // Case 1: Normal oop, process as usual. --- 39,49 ---- assert(oopDesc::unsafe_equals(obj, ShenandoahBarrierSet::resolve_oop_static_not_null(obj)), "expect forwarded obj in queue"); assert(_heap->cancelled_concgc() || oopDesc::bs()->is_safe(obj), "we don't want to mark objects in from-space"); assert(_heap->is_in(obj), "referenced objects must be in the heap. No?"); ! assert(_heap->is_marked(obj), "only marked objects on task queue"); if (task->is_not_chunked()) { if (COUNT_LIVENESS) count_liveness(live_data, obj); if (obj->is_instance()) { // Case 1: Normal oop, process as usual.
*** 238,255 **** if (UPDATE_REFS != CONCURRENT || !oopDesc::is_null(obj)) { assert(!oopDesc::is_null(obj), "Must not be null here"); assert(heap->is_in(obj), "We shouldn't be calling this on objects not in the heap: " PTR_FORMAT, p2i(obj)); assert(oopDesc::bs()->is_safe(obj), "Only mark objects in from-space"); ! if (heap->mark_next(obj)) { log_develop_trace(gc, marking)("Marked obj: " PTR_FORMAT, p2i((HeapWord*) obj)); bool pushed = q->push(ShenandoahMarkTask(obj)); assert(pushed, "overflow queue should always succeed pushing"); } else { log_develop_trace(gc, marking)("Failed to mark obj (already marked): " PTR_FORMAT, p2i((HeapWord*) obj)); ! assert(heap->is_marked_next(obj), "Consistency: should be marked."); } } } } --- 238,255 ---- if (UPDATE_REFS != CONCURRENT || !oopDesc::is_null(obj)) { assert(!oopDesc::is_null(obj), "Must not be null here"); assert(heap->is_in(obj), "We shouldn't be calling this on objects not in the heap: " PTR_FORMAT, p2i(obj)); assert(oopDesc::bs()->is_safe(obj), "Only mark objects in from-space"); ! if (heap->mark(obj)) { log_develop_trace(gc, marking)("Marked obj: " PTR_FORMAT, p2i((HeapWord*) obj)); bool pushed = q->push(ShenandoahMarkTask(obj)); assert(pushed, "overflow queue should always succeed pushing"); } else { log_develop_trace(gc, marking)("Failed to mark obj (already marked): " PTR_FORMAT, p2i((HeapWord*) obj)); ! assert(heap->is_marked(obj), "Consistency: should be marked."); } } } }
< prev index next >