< 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 >