< 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,15 +192,17 @@
   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) {
+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 {
  return _card_table->scanned_concurrently();
 }
< prev index next >