Top


定義場所(file name)

hotspot/src/share/vm/prims/jvmtiRedefineClasses.cpp

名前(function name)

void VM_RedefineClasses::doit_epilogue() {

本体部(body)

  {- -------------------------------------------
  (1) 確保したメモリを解放する.
      ---------------------------------------- -}

      // Free os::malloc allocated memory.
      // The memory allocated in redefine will be free'ed in next VM operation.
      os::free(_scratch_classes);

  {- -------------------------------------------
  (1) (トレース出力)
      ---------------------------------------- -}

      if (RC_TRACE_ENABLED(0x00000004)) {
        // Used to have separate timers for "doit" and "all", but the timer
        // overhead skewed the measurements.
        jlong doit_time = _timer_rsc_phase1.milliseconds() +
                          _timer_rsc_phase2.milliseconds();
        jlong all_time = _timer_vm_op_prologue.milliseconds() + doit_time;

        RC_TRACE(0x00000004, ("vm_op: all=" UINT64_FORMAT
          "  prologue=" UINT64_FORMAT "  doit=" UINT64_FORMAT, all_time,
          _timer_vm_op_prologue.milliseconds(), doit_time));
        RC_TRACE(0x00000004,
          ("redefine_single_class: phase1=" UINT64_FORMAT "  phase2=" UINT64_FORMAT,
           _timer_rsc_phase1.milliseconds(), _timer_rsc_phase2.milliseconds()));
      }
    }

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