< prev index next >
src/share/vm/runtime/safepoint.hpp
Print this page
rev 13206 : 8180932: Parallelize safepoint cleanup
Summary: Provide infrastructure to do safepoint cleanup tasks using parallel worker threads
Reviewed-by: dholmes, rehn, dcubed, thartmann
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2017, 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.
@@ -73,10 +73,22 @@
enum SafepointTimeoutReason {
_spinning_timeout = 0,
_blocking_timeout = 1
};
+ // The enums are listed in the order of the tasks when done serially.
+ enum SafepointCleanupTasks {
+ SAFEPOINT_CLEANUP_DEFLATE_MONITORS,
+ SAFEPOINT_CLEANUP_UPDATE_INLINE_CACHES,
+ SAFEPOINT_CLEANUP_COMPILATION_POLICY,
+ SAFEPOINT_CLEANUP_SYMBOL_TABLE_REHASH,
+ SAFEPOINT_CLEANUP_STRING_TABLE_REHASH,
+ SAFEPOINT_CLEANUP_CLD_PURGE,
+ // Leave this one last.
+ SAFEPOINT_CLEANUP_NUM_TASKS
+ };
+
typedef struct {
float _time_stamp; // record when the current safepoint occurs in seconds
int _vmop_type; // type of VM operation triggers the safepoint
int _nof_total_threads; // total number of Java threads
int _nof_initial_running_threads; // total number of initially seen running threads
< prev index next >