< prev index next >
src/hotspot/share/gc/shared/cardTableBarrierSet.cpp
Print this page
rev 53862 : [mq]: java_attach_protocol
rev 53869 : [mq]: merge_attach
*** 192,206 ****
assert(!_defer_initial_card_mark, "Should be false");
assert(thread->deferred_card_mark().is_empty(), "Should be empty");
#endif
}
! void CardTableBarrierSet::on_thread_detach(JavaThread* thread) {
// The deferred store barriers must all have been flushed to the
// card-table (or other remembered set structure) before GC starts
// processing the card-table (or other remembered set).
! flush_deferred_card_mark_barrier(thread);
}
bool CardTableBarrierSet::card_mark_must_follow_store() const {
return _card_table->scanned_concurrently();
}
--- 192,208 ----
assert(!_defer_initial_card_mark, "Should be false");
assert(thread->deferred_card_mark().is_empty(), "Should be empty");
#endif
}
! void CardTableBarrierSet::on_thread_detach(Thread* thread) {
// The deferred store barriers must all have been flushed to the
// card-table (or other remembered set structure) before GC starts
// processing the card-table (or other remembered set).
! if (thread->is_Java_thread()) { // Only relevant for Java threads.
! flush_deferred_card_mark_barrier((JavaThread*)thread);
! }
}
bool CardTableBarrierSet::card_mark_must_follow_store() const {
return _card_table->scanned_concurrently();
}
< prev index next >