8219613: Use NonJavaThread PtrQueues

Init and use NJT queues, remove shared SATB queue.

Co-authored-by: Aleksey Shipilev <shade@redhat.com>
Reviewed-by: shade, zgu, pliden, tschatzl
This commit is contained in:
Kim Barrett 2019-03-05 19:54:33 -05:00
parent 8b57cdf5f8
commit 725a467ad8
25 changed files with 217 additions and 229 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -194,11 +194,13 @@ void CardTableBarrierSet::flush_deferred_card_mark_barrier(JavaThread* thread) {
#endif
}
void CardTableBarrierSet::on_thread_detach(JavaThread* thread) {
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).
flush_deferred_card_mark_barrier(thread);
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 {