< prev index next >
src/share/vm/gc/g1/g1SATBCardTableModRefBS.cpp
Print this page
*** 187,211 ****
}
}
}
void
- G1SATBCardTableLoggingModRefBS::write_ref_field_static(void* field,
- oop new_val) {
- uintptr_t field_uint = (uintptr_t)field;
- uintptr_t new_val_uint = cast_from_oop<uintptr_t>(new_val);
- uintptr_t comb = field_uint ^ new_val_uint;
- comb = comb >> HeapRegion::LogOfHRGrainBytes;
- if (comb == 0) return;
- if (new_val == NULL) return;
- // Otherwise, log it.
- G1SATBCardTableLoggingModRefBS* g1_bs =
- barrier_set_cast<G1SATBCardTableLoggingModRefBS>(G1CollectedHeap::heap()->barrier_set());
- g1_bs->write_ref_field_work(field, new_val, false);
- }
-
- void
G1SATBCardTableLoggingModRefBS::invalidate(MemRegion mr, bool whole_heap) {
volatile jbyte* byte = byte_for(mr.start());
jbyte* last_byte = byte_for(mr.last());
Thread* thr = Thread::current();
if (whole_heap) {
--- 187,196 ----
< prev index next >