11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "code/nmethod.hpp"
27 #include "code/dependencies.hpp"
28 #include "code/dependencyContext.hpp"
29 #include "memory/resourceArea.hpp"
30 #include "runtime/atomic.hpp"
31 #include "runtime/perfData.hpp"
32 #include "utilities/exceptions.hpp"
33
34 PerfCounter* DependencyContext::_perf_total_buckets_allocated_count = NULL;
35 PerfCounter* DependencyContext::_perf_total_buckets_deallocated_count = NULL;
36 PerfCounter* DependencyContext::_perf_total_buckets_stale_count = NULL;
37 PerfCounter* DependencyContext::_perf_total_buckets_stale_acc_count = NULL;
38 nmethodBucket* volatile DependencyContext::_purge_list = NULL;
39 volatile uint64_t DependencyContext::_cleaning_epoch = 0;
40 uint64_t DependencyContext::_cleaning_epoch_monotonic = 0;
41
42 void dependencyContext_init() {
43 DependencyContext::init();
44 }
45
46 void DependencyContext::init() {
47 if (UsePerfData) {
48 EXCEPTION_MARK;
49 _perf_total_buckets_allocated_count =
50 PerfDataManager::create_counter(SUN_CI, "nmethodBucketsAllocated", PerfData::U_Events, CHECK);
|
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #include "precompiled.hpp"
26 #include "code/nmethod.hpp"
27 #include "code/dependencies.hpp"
28 #include "code/dependencyContext.hpp"
29 #include "memory/resourceArea.hpp"
30 #include "runtime/atomic.hpp"
31 #include "runtime/orderAccess.hpp"
32 #include "runtime/perfData.hpp"
33 #include "utilities/exceptions.hpp"
34
35 PerfCounter* DependencyContext::_perf_total_buckets_allocated_count = NULL;
36 PerfCounter* DependencyContext::_perf_total_buckets_deallocated_count = NULL;
37 PerfCounter* DependencyContext::_perf_total_buckets_stale_count = NULL;
38 PerfCounter* DependencyContext::_perf_total_buckets_stale_acc_count = NULL;
39 nmethodBucket* volatile DependencyContext::_purge_list = NULL;
40 volatile uint64_t DependencyContext::_cleaning_epoch = 0;
41 uint64_t DependencyContext::_cleaning_epoch_monotonic = 0;
42
43 void dependencyContext_init() {
44 DependencyContext::init();
45 }
46
47 void DependencyContext::init() {
48 if (UsePerfData) {
49 EXCEPTION_MARK;
50 _perf_total_buckets_allocated_count =
51 PerfDataManager::create_counter(SUN_CI, "nmethodBucketsAllocated", PerfData::U_Events, CHECK);
|