< prev index next > src/hotspot/os/solaris/os_perf_solaris.cpp
Print this page
if (_counters.nProcs == 0) {
return false;
}
// Data structure(s) for saving CPU load (one per CPU)
! size_t tick_array_size = _counters.nProcs * sizeof(CPUPerfTicks);
! _counters.jvmTicks = (CPUPerfTicks*)NEW_C_HEAP_ARRAY(char, tick_array_size, mtInternal);
if (NULL == _counters.jvmTicks) {
return false;
}
! memset(_counters.jvmTicks, 0, tick_array_size);
// Get kstat cpu_stat counters for every CPU
// loop over kstat to find our cpu_stat(s)
int i = 0;
for (kstat_t* kstat = _counters.kstat_ctrl->kc_chain; kstat != NULL; kstat = kstat->ks_next) {
if (_counters.nProcs == 0) {
return false;
}
// Data structure(s) for saving CPU load (one per CPU)
! size_t array_entry_count = _counters.nProcs;
! _counters.jvmTicks = NEW_C_HEAP_ARRAY(CPUPerfTicks, array_entry_count, mtInternal);
if (NULL == _counters.jvmTicks) {
return false;
}
! memset(_counters.jvmTicks, 0, array_entry_count * sizeof(*_counters.jvmTicks));
// Get kstat cpu_stat counters for every CPU
// loop over kstat to find our cpu_stat(s)
int i = 0;
for (kstat_t* kstat = _counters.kstat_ctrl->kc_chain; kstat != NULL; kstat = kstat->ks_next) {
< prev index next >