< prev index next >

src/hotspot/os/solaris/os_perf_solaris.cpp

Print this page
@@ -298,16 +298,16 @@
    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);
+   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, tick_array_size);
+   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 >