Top


定義場所(file name)

hotspot/src/share/vm/classfile/classLoader.cpp

名前(function name)

PerfClassTraceTime::~PerfClassTraceTime() {

本体部(body)

      if (!UsePerfData) return;

      // stop the thread-local timer as the event completes
      // and resume the thread-local timer of the event next on the stack
      _timers[_event_type].stop();
      jlong selftime = _timers[_event_type].ticks();

      if (_prev_active_event >= 0) {
        _timers[_prev_active_event].start();
      }

      if (_recursion_counters != NULL && --(_recursion_counters[_event_type]) > 0) return;

      // increment the counters only on the leaf call
      _t.stop();
      _timep->inc(_t.ticks());
      if (_selftimep != NULL) {
        _selftimep->inc(selftime);
      }
      // add all class loading related event selftime to the accumulated time counter
      ClassLoader::perf_accumulated_time()->inc(selftime);

      // reset the timer
      _timers[_event_type].reset();
    }

This document is available under the GNU GENERAL PUBLIC LICENSE Version 2.