< prev index next >

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

Print this page
rev 57716 : [mq]: remove_cbl_mon

*** 1,7 **** /* ! * Copyright (c) 2001, 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 * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2001, 2020, 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.
*** 43,70 **** Tickspan _total_refinement_time; size_t _total_refined_cards; uint _worker_id; ! bool _active; ! Monitor* _monitor; G1ConcurrentRefine* _cr; void wait_for_completed_buffers(); ! void set_active(bool x) { _active = x; } ! // Deactivate this thread. ! void deactivate(); ! ! bool is_primary() { return (_worker_id == 0); } - void run_service(); - void stop_service(); public: G1ConcurrentRefineThread(G1ConcurrentRefine* cg1r, uint worker_id); - bool is_active(); // Activate this thread. void activate(); Tickspan total_refinement_time() const { return _total_refinement_time; } size_t total_refined_cards() const { return _total_refined_cards; } --- 43,71 ---- Tickspan _total_refinement_time; size_t _total_refined_cards; uint _worker_id; ! // Each thread has its own semaphore. The i-th thread is responsible for ! // signaling thread i+1 if the number of buffers in the queue exceeds a ! // threshold for that thread. Semaphores are also used to wake up the ! // threads during termination. The 0th (primary) worker is notified by ! // mutator threads. ! Semaphore* _notifier; ! volatile bool _should_notify; ! bool maybe_deactivate(bool more_work); ! G1ConcurrentRefine* _cr; void wait_for_completed_buffers(); ! virtual void run_service(); ! virtual void stop_service(); public: G1ConcurrentRefineThread(G1ConcurrentRefine* cg1r, uint worker_id); // Activate this thread. void activate(); Tickspan total_refinement_time() const { return _total_refinement_time; } size_t total_refined_cards() const { return _total_refined_cards; }
< prev index next >