equal
deleted
inserted
replaced
441 _counters.nProcs = os::active_processor_count(); |
441 _counters.nProcs = os::active_processor_count(); |
442 _counters.cpus = NULL; |
442 _counters.cpus = NULL; |
443 } |
443 } |
444 |
444 |
445 bool CPUPerformanceInterface::CPUPerformance::initialize() { |
445 bool CPUPerformanceInterface::CPUPerformance::initialize() { |
446 size_t tick_array_size = (_counters.nProcs +1) * sizeof(CPUPerfTicks); |
446 size_t array_entry_count = _counters.nProcs + 1; |
447 _counters.cpus = (CPUPerfTicks*)NEW_C_HEAP_ARRAY(char, tick_array_size, mtInternal); |
447 _counters.cpus = NEW_C_HEAP_ARRAY(CPUPerfTicks, array_entry_count, mtInternal); |
448 if (NULL == _counters.cpus) { |
448 if (NULL == _counters.cpus) { |
449 return false; |
449 return false; |
450 } |
450 } |
451 memset(_counters.cpus, 0, tick_array_size); |
451 memset(_counters.cpus, 0, array_entry_count * sizeof(*_counters.cpus)); |
452 |
452 |
453 // For the CPU load total |
453 // For the CPU load total |
454 get_total_ticks(-1, &_counters.cpus[_counters.nProcs]); |
454 get_total_ticks(-1, &_counters.cpus[_counters.nProcs]); |
455 |
455 |
456 // For each CPU |
456 // For each CPU |