< prev index next >

src/hotspot/share/gc/g1/satbMarkQueue.hpp

Print this page

        

*** 1,7 **** /* ! * Copyright (c) 2001, 2016, 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2001, 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 47,56 **** --- 47,59 ---- private: // Filter out unwanted entries from the buffer. void filter(); + template <class HeapType> + void filter_impl(); + public: SATBMarkQueue(SATBMarkQueueSet* qset, bool permanent = false); // Process queue entries and free resources. void flush();
*** 99,109 **** void initialize(Monitor* cbl_mon, Mutex* fl_lock, int process_completed_threshold, Mutex* lock); ! static void handle_zero_index_for_thread(JavaThread* t); // Apply "set_active(active)" to all SATB queues in the set. It should be // called only with the world stopped. The method will assert that the // SATB queues of all threads it visits, as well as the SATB queue // set itself, has an active value same as expected_active. --- 102,112 ---- void initialize(Monitor* cbl_mon, Mutex* fl_lock, int process_completed_threshold, Mutex* lock); ! virtual SATBMarkQueue& satb_queue_for_thread(Thread* t) = 0; // Apply "set_active(active)" to all SATB queues in the set. It should be // called only with the world stopped. The method will assert that the // SATB queues of all threads it visits, as well as the SATB queue // set itself, has an active value same as expected_active.
*** 127,132 **** --- 130,141 ---- // If a marking is being abandoned, reset any unprocessed log buffers. void abandon_partial_marking(); }; + class G1SATBMarkQueueSet : public SATBMarkQueueSet { + public: + static void handle_zero_index_for_thread(JavaThread* t); + virtual SATBMarkQueue& satb_queue_for_thread(Thread* t); + }; + #endif // SHARE_VM_GC_G1_SATBMARKQUEUE_HPP
< prev index next >