--- old/src/hotspot/share/runtime/thread.cpp 2018-02-15 10:26:19.728638562 +0100 +++ new/src/hotspot/share/runtime/thread.cpp 2018-02-15 10:26:19.571631832 +0100 @@ -2027,12 +2027,6 @@ } #if INCLUDE_ALL_GCS -// Flush G1-related queues. -void JavaThread::flush_barrier_queues() { - satb_mark_queue().flush(); - dirty_card_queue().flush(); -} - void JavaThread::initialize_queues() { assert(!SafepointSynchronize::is_at_safepoint(), "we should not be at a safepoint"); @@ -2076,11 +2070,7 @@ tlab().make_parsable(true); // retire TLAB, if any } -#if INCLUDE_ALL_GCS - if (UseG1GC) { - flush_barrier_queues(); - } -#endif // INCLUDE_ALL_GCS + BarrierSet::barrier_set()->flush_deferred_barriers(this); Threads::remove(this); this->smr_delete(); --- old/src/hotspot/share/runtime/thread.hpp 2018-02-15 10:26:20.035651722 +0100 +++ new/src/hotspot/share/runtime/thread.hpp 2018-02-15 10:26:19.874644820 +0100 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2018, 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 @@ -1075,8 +1075,6 @@ DirtyCardQueue _dirty_card_queue; // Thread-local log for dirty cards. // Set of all such queues. static DirtyCardQueueSet _dirty_card_queue_set; - - void flush_barrier_queues(); #endif // INCLUDE_ALL_GCS friend class VMThread;