394 |
394 |
395 #ifndef PRODUCT |
395 #ifndef PRODUCT |
396 void FromCardCache::print(outputStream* out) { |
396 void FromCardCache::print(outputStream* out) { |
397 for (uint i = 0; i < HeapRegionRemSet::num_par_rem_sets(); i++) { |
397 for (uint i = 0; i < HeapRegionRemSet::num_par_rem_sets(); i++) { |
398 for (uint j = 0; j < _max_regions; j++) { |
398 for (uint j = 0; j < _max_regions; j++) { |
399 out->print_cr("_from_card_cache["UINT32_FORMAT"]["UINT32_FORMAT"] = "INT32_FORMAT".", |
399 out->print_cr("_from_card_cache[" UINT32_FORMAT "][" UINT32_FORMAT "] = " INT32_FORMAT ".", |
400 i, j, at(i, j)); |
400 i, j, at(i, j)); |
401 } |
401 } |
402 } |
402 } |
403 } |
403 } |
404 #endif |
404 #endif |
434 } |
434 } |
435 |
435 |
436 int from_card = (int)(uintptr_t(from) >> CardTableModRefBS::card_shift); |
436 int from_card = (int)(uintptr_t(from) >> CardTableModRefBS::card_shift); |
437 |
437 |
438 if (G1TraceHeapRegionRememberedSet) { |
438 if (G1TraceHeapRegionRememberedSet) { |
439 gclog_or_tty->print_cr("Table for [" PTR_FORMAT "...): card %d (cache = "INT32_FORMAT")", |
439 gclog_or_tty->print_cr("Table for [" PTR_FORMAT "...): card %d (cache = " INT32_FORMAT ")", |
440 hr()->bottom(), from_card, |
440 hr()->bottom(), from_card, |
441 FromCardCache::at((uint)tid, cur_hrm_ind)); |
441 FromCardCache::at((uint)tid, cur_hrm_ind)); |
442 } |
442 } |
443 |
443 |
444 if (FromCardCache::contains_or_replace((uint)tid, cur_hrm_ind, from_card)) { |
444 if (FromCardCache::contains_or_replace((uint)tid, cur_hrm_ind, from_card)) { |