src/hotspot/share/jfr/leakprofiler/checkpoint/objectSampleCheckpoint.cpp
branchJEP-349-branch
changeset 57902 f6502e486572
parent 57870 00860d9caf4d
child 57934 9c150f2b1fea
equal deleted inserted replaced
57887:a9cc3698a55c 57902:f6502e486572
   416 void StackTraceInstall::install_to_sample(ObjectSample* sample, const JfrStackTrace* stack_trace) {
   416 void StackTraceInstall::install_to_sample(ObjectSample* sample, const JfrStackTrace* stack_trace) {
   417   assert(sample != NULL, "invariant");
   417   assert(sample != NULL, "invariant");
   418   assert(stack_trace != NULL, "invariant");
   418   assert(stack_trace != NULL, "invariant");
   419   DEBUG_ONLY(validate_stack_trace(sample, stack_trace));
   419   DEBUG_ONLY(validate_stack_trace(sample, stack_trace));
   420   JfrStackTrace* const sample_trace = const_cast<JfrStackTrace*>(sample->stack_trace());
   420   JfrStackTrace* const sample_trace = const_cast<JfrStackTrace*>(sample->stack_trace());
   421   if (sample_trace != NULL) {
   421   if (sample_trace != NULL && sample_trace->id() != stack_trace->id()) {
   422     *sample_trace = *stack_trace; // copy
   422     *sample_trace = *stack_trace; // copy
   423   } else {
   423   } else {
   424     sample->set_stack_trace(new JfrStackTrace(stack_trace->id(), *stack_trace, NULL)); // new
   424     sample->set_stack_trace(new JfrStackTrace(stack_trace->id(), *stack_trace, NULL)); // new
   425   }
   425   }
   426   assert(sample->stack_trace() != NULL, "invariant");
   426   assert(sample->stack_trace() != NULL, "invariant");