src/hotspot/share/jfr/utilities/jfrAllocation.cpp
changeset 50714 2230bb152a9f
parent 50429 83aec1d357d4
child 58159 892527a70da9
child 58863 c16ac7a2eba4
equal deleted inserted replaced
50713:9894c4d30168 50714:2230bb152a9f
    51 static volatile jlong _deallocated_bytes = 0;
    51 static volatile jlong _deallocated_bytes = 0;
    52 static volatile jlong _live_set_bytes = 0;
    52 static volatile jlong _live_set_bytes = 0;
    53 
    53 
    54 static void add(size_t alloc_size) {
    54 static void add(size_t alloc_size) {
    55   if (!JfrRecorder::is_created()) {
    55   if (!JfrRecorder::is_created()) {
    56     const jlong total_allocated = atomic_add_jlong(alloc_size, &_allocated_bytes);
    56     const jlong total_allocated = atomic_add_jlong((jlong)alloc_size, &_allocated_bytes);
    57     const jlong current_live_set = atomic_add_jlong(alloc_size, &_live_set_bytes);
    57     const jlong current_live_set = atomic_add_jlong((jlong)alloc_size, &_live_set_bytes);
    58     log_trace(jfr, system)("Allocation: [" SIZE_FORMAT "] bytes", alloc_size);
    58     log_trace(jfr, system)("Allocation: [" SIZE_FORMAT "] bytes", alloc_size);
    59     log_trace(jfr, system)("Total alloc [" JLONG_FORMAT "] bytes", total_allocated);
    59     log_trace(jfr, system)("Total alloc [" JLONG_FORMAT "] bytes", total_allocated);
    60     log_trace(jfr, system)("Liveset:    [" JLONG_FORMAT "] bytes", current_live_set);
    60     log_trace(jfr, system)("Liveset:    [" JLONG_FORMAT "] bytes", current_live_set);
    61   }
    61   }
    62 }
    62 }
    63 
    63 
    64 static void subtract(size_t dealloc_size) {
    64 static void subtract(size_t dealloc_size) {
    65   if (!JfrRecorder::is_created()) {
    65   if (!JfrRecorder::is_created()) {
    66     const size_t total_deallocated = atomic_add_jlong(dealloc_size, &_deallocated_bytes);
    66     const jlong total_deallocated = atomic_add_jlong((jlong)dealloc_size, &_deallocated_bytes);
    67     const size_t current_live_set = atomic_add_jlong(dealloc_size * -1, &_live_set_bytes);
    67     const jlong current_live_set = atomic_add_jlong(((jlong)dealloc_size * -1), &_live_set_bytes);
    68     log_trace(jfr, system)("Deallocation: [" SIZE_FORMAT "] bytes", dealloc_size);
    68     log_trace(jfr, system)("Deallocation: [" SIZE_FORMAT "] bytes", dealloc_size);
    69     log_trace(jfr, system)("Total dealloc [" SIZE_FORMAT "] bytes", total_deallocated);
    69     log_trace(jfr, system)("Total dealloc [" JLONG_FORMAT "] bytes", total_deallocated);
    70     log_trace(jfr, system)("Liveset:      [" SIZE_FORMAT "] bytes", current_live_set);
    70     log_trace(jfr, system)("Liveset:      [" JLONG_FORMAT "] bytes", current_live_set);
    71   }
    71   }
    72 }
    72 }
    73 
    73 
    74 static void hook_memory_deallocation(size_t dealloc_size) {
    74 static void hook_memory_deallocation(size_t dealloc_size) {
    75   subtract(dealloc_size);
    75   subtract(dealloc_size);