mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 17:44:40 +02:00
8188919: Generalize GC thread suspend/resume at safepoints
Reviewed-by: pliden, rkennke
This commit is contained in:
parent
e8fe842a41
commit
9adfa12663
6 changed files with 26 additions and 21 deletions
|
@ -63,10 +63,6 @@
|
|||
#include "trace/traceMacros.hpp"
|
||||
#include "utilities/events.hpp"
|
||||
#include "utilities/macros.hpp"
|
||||
#if INCLUDE_ALL_GCS
|
||||
#include "gc/cms/concurrentMarkSweepThread.hpp"
|
||||
#include "gc/g1/suspendibleThreadSet.hpp"
|
||||
#endif // INCLUDE_ALL_GCS
|
||||
#ifdef COMPILER1
|
||||
#include "c1/c1_globals.hpp"
|
||||
#endif
|
||||
|
@ -94,15 +90,7 @@ void SafepointSynchronize::begin() {
|
|||
_ts_of_current_safepoint = tty->time_stamp().seconds();
|
||||
}
|
||||
|
||||
#if INCLUDE_ALL_GCS
|
||||
if (UseConcMarkSweepGC) {
|
||||
// In the future we should investigate whether CMS can use the
|
||||
// more-general mechanism below. DLD (01/05).
|
||||
ConcurrentMarkSweepThread::synchronize(false);
|
||||
} else if (UseG1GC) {
|
||||
SuspendibleThreadSet::synchronize();
|
||||
}
|
||||
#endif // INCLUDE_ALL_GCS
|
||||
Universe::heap()->safepoint_synchronize_begin();
|
||||
|
||||
// By getting the Threads_lock, we assure that no threads are about to start or
|
||||
// exit. It is released again in SafepointSynchronize::end().
|
||||
|
@ -512,14 +500,7 @@ void SafepointSynchronize::end() {
|
|||
Threads_lock->unlock();
|
||||
|
||||
}
|
||||
#if INCLUDE_ALL_GCS
|
||||
// If there are any concurrent GC threads resume them.
|
||||
if (UseConcMarkSweepGC) {
|
||||
ConcurrentMarkSweepThread::desynchronize(false);
|
||||
} else if (UseG1GC) {
|
||||
SuspendibleThreadSet::desynchronize();
|
||||
}
|
||||
#endif // INCLUDE_ALL_GCS
|
||||
Universe::heap()->safepoint_synchronize_end();
|
||||
// record this time so VMThread can keep track how much time has elapsed
|
||||
// since last safepoint.
|
||||
_end_of_last_safepoint = os::javaTimeMillis();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue