src/hotspot/os/linux/os_perf_linux.cpp
changeset 58083 9046db64ca39
parent 54470 14986fb09d9a
child 58282 03fce7b04b42
equal deleted inserted replaced
58081:8b08eaf9a0eb 58083:9046db64ca39
   501   _counters.nProcs = os::active_processor_count();
   501   _counters.nProcs = os::active_processor_count();
   502   _counters.cpus = NULL;
   502   _counters.cpus = NULL;
   503 }
   503 }
   504 
   504 
   505 bool CPUPerformanceInterface::CPUPerformance::initialize() {
   505 bool CPUPerformanceInterface::CPUPerformance::initialize() {
   506   size_t tick_array_size = (_counters.nProcs +1) * sizeof(os::Linux::CPUPerfTicks);
   506   size_t array_entry_count = _counters.nProcs + 1;
   507   _counters.cpus = (os::Linux::CPUPerfTicks*)NEW_C_HEAP_ARRAY(char, tick_array_size, mtInternal);
   507   _counters.cpus = NEW_C_HEAP_ARRAY(os::Linux::CPUPerfTicks, array_entry_count, mtInternal);
   508   if (NULL == _counters.cpus) {
   508   if (NULL == _counters.cpus) {
   509     return false;
   509     return false;
   510   }
   510   }
   511   memset(_counters.cpus, 0, tick_array_size);
   511   memset(_counters.cpus, 0, array_entry_count * sizeof(*_counters.cpus));
   512 
   512 
   513   // For the CPU load total
   513   // For the CPU load total
   514   os::Linux::get_tick_information(&_counters.cpus[_counters.nProcs], -1);
   514   os::Linux::get_tick_information(&_counters.cpus[_counters.nProcs], -1);
   515 
   515 
   516   // For each CPU
   516   // For each CPU