< prev index next >

src/share/vm/gc/shenandoah/shenandoahBarrierSet.cpp

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


 394 
 395 oop ShenandoahBarrierSet::storeval_barrier(oop obj) {
 396   if (ShenandoahStoreValBarrier) {
 397     return resolve_oop_static(obj);
 398   }
 399   return obj;
 400 }
 401 
 402 void ShenandoahBarrierSet::keep_alive_barrier(oop obj) {
 403   if (ShenandoahKeepAliveBarrier) {
 404     G1SATBCardTableModRefBS::enqueue(obj);
 405   }
 406 }
 407 
 408 #ifdef ASSERT
 409 void ShenandoahBarrierSet::verify_safe_oop(oop p) {
 410   ShenandoahHeap* heap = ShenandoahHeap::heap();
 411   if (p == NULL) return;
 412   if (heap->in_collection_set(p) &&
 413       ! heap->cancelled_concgc()) {
 414     tty->print_cr("oop = "PTR_FORMAT", resolved: "PTR_FORMAT", marked-next %s, marked-complete: %s",
 415                   p2i(p),
 416                   p2i(read_barrier(p)),
 417                   BOOL_TO_STR(heap->is_marked_next(p)),
 418                   BOOL_TO_STR(heap->is_marked_complete(p)));
 419     tty->print_cr("in_cset: %s", BOOL_TO_STR(heap->in_collection_set(p)));
 420     heap->heap_region_containing((HeapWord*) p)->print();
 421     tty->print_cr("top-at-mark-start: %p", heap->next_top_at_mark_start((HeapWord*) p));
 422     tty->print_cr("top-at-prev-mark-start: %p", heap->complete_top_at_mark_start((HeapWord*) p));
 423     tty->print_cr("marking: %s, evacuating: %s", BOOL_TO_STR(heap->concurrent_mark_in_progress()), BOOL_TO_STR(heap->is_evacuation_in_progress()));
 424     assert(false, "We should have fixed this earlier");
 425   }
 426 }
 427 #endif


 394 
 395 oop ShenandoahBarrierSet::storeval_barrier(oop obj) {
 396   if (ShenandoahStoreValBarrier) {
 397     return resolve_oop_static(obj);
 398   }
 399   return obj;
 400 }
 401 
 402 void ShenandoahBarrierSet::keep_alive_barrier(oop obj) {
 403   if (ShenandoahKeepAliveBarrier) {
 404     G1SATBCardTableModRefBS::enqueue(obj);
 405   }
 406 }
 407 
 408 #ifdef ASSERT
 409 void ShenandoahBarrierSet::verify_safe_oop(oop p) {
 410   ShenandoahHeap* heap = ShenandoahHeap::heap();
 411   if (p == NULL) return;
 412   if (heap->in_collection_set(p) &&
 413       ! heap->cancelled_concgc()) {
 414     tty->print_cr("oop = "PTR_FORMAT", resolved: "PTR_FORMAT", marked %s",
 415                   p2i(p),
 416                   p2i(read_barrier(p)),
 417                   BOOL_TO_STR(heap->is_marked(p)));

 418     tty->print_cr("in_cset: %s", BOOL_TO_STR(heap->in_collection_set(p)));
 419     heap->heap_region_containing((HeapWord*) p)->print();
 420     tty->print_cr("top-at-mark-start: %p", heap->top_at_mark_start((HeapWord*) p));

 421     tty->print_cr("marking: %s, evacuating: %s", BOOL_TO_STR(heap->concurrent_mark_in_progress()), BOOL_TO_STR(heap->is_evacuation_in_progress()));
 422     assert(false, "We should have fixed this earlier");
 423   }
 424 }
 425 #endif
< prev index next >