//////////////////////////////////////////////////////////
// Methods in class VM_CMS_Final_Remark_Operation
//////////////////////////////////////////////////////////
void VM_CMS_Final_Remark::doit() {
  if (lost_race()) {
    // Nothing to do.
    return;
  }
#ifndef USDT2
  HS_DTRACE_PROBE(hs_private, cms__remark__begin);
#else /* USDT2 */
  HS_PRIVATE_CMS_REMARK_BEGIN();
#endif /* USDT2 */

  _collector->_gc_timer_cm->register_gc_pause_start("Final Mark");

  GenCollectedHeap* gch = GenCollectedHeap::heap();
  GCCauseSetter gccs(gch, GCCause::_cms_final_remark);

  VM_CMS_Operation::verify_before_gc();

  IsGCActiveMark x; // stop-world GC active
  _collector->do_CMS_operation(CMSCollector::CMS_op_checkpointRootsFinal, gch->gc_cause());

  VM_CMS_Operation::verify_after_gc();

  _collector->save_heap_summary();
  _collector->_gc_timer_cm->register_gc_pause_end();

#ifndef USDT2
  HS_DTRACE_PROBE(hs_private, cms__remark__end);
#else /* USDT2 */
  HS_PRIVATE_CMS_REMARK_END();
#endif /* USDT2 */
}
void VM_GC_Operation::notify_gc_end() {
#ifndef USDT2
  HS_DTRACE_PROBE(hotspot, gc__end);
  HS_DTRACE_WORKAROUND_TAIL_CALL_BUG();
#else /* USDT2 */
  HOTSPOT_GC_END(
);
#endif /* USDT2 */
}
Esempio n. 3
0
//////////////////////////////////////////////////////////
// Methods in class VM_CMS_Final_Remark_Operation
//////////////////////////////////////////////////////////
void VM_CMS_Final_Remark::doit() {
  if (lost_race()) {
    // Nothing to do.
    return;
  }
  HS_DTRACE_PROBE(hs_private, cms__remark__begin);

  GenCollectedHeap* gch = GenCollectedHeap::heap();
  GCCauseSetter gccs(gch, GCCause::_cms_final_remark);

  VM_CMS_Operation::verify_before_gc();

  IsGCActiveMark x; // stop-world GC active
  _collector->do_CMS_operation(CMSCollector::CMS_op_checkpointRootsFinal);

  VM_CMS_Operation::verify_after_gc();
  HS_DTRACE_PROBE(hs_private, cms__remark__end);
}
Esempio n. 4
0
void RuntimeService::record_safepoint_end() {
  HS_DTRACE_PROBE(hs_private, safepoint__end);

  // Print the time interval for which the app was stopped
  // during the current safepoint operation.
  if (PrintGCApplicationStoppedTime) {
    gclog_or_tty->print_cr("Total time for which application threads "
                           "were stopped: %3.7f seconds",
                           last_safepoint_time_sec());
  }

  // update the time stamp to begin recording app time
  _app_timer.update();
  if (UsePerfData) {
    _safepoint_time_ticks->inc(_safepoint_timer.ticks_since_update());
  }
}
Esempio n. 5
0
void RuntimeService::record_safepoint_begin() {
  HS_DTRACE_PROBE(hs_private, safepoint__begin);

  // Print the time interval in which the app was executing
  if (PrintGCApplicationConcurrentTime) {
    gclog_or_tty->print_cr("Application time: %3.7f seconds",
                                last_application_time_sec());
  }

  // update the time stamp to begin recording safepoint time
  _safepoint_timer.update();
  if (UsePerfData) {
    _total_safepoints->inc();
    if (_app_timer.is_updated()) {
      _application_time_ticks->inc(_app_timer.ticks_since_update());
    }
  }
}
Esempio n. 6
0
void RuntimeService::record_safepoint_end() {
#ifndef USDT2
  HS_DTRACE_PROBE(hs_private, safepoint__end);
#else /* USDT2 */
  HS_PRIVATE_SAFEPOINT_END();
#endif /* USDT2 */

  // Print the time interval for which the app was stopped
  // during the current safepoint operation.
  if (PrintGCApplicationStoppedTime) {
    gclog_or_tty->date_stamp(PrintGCDateStamps);
    gclog_or_tty->stamp(PrintGCTimeStamps);
    gclog_or_tty->print_cr("Total time for which application threads "
                           "were stopped: %3.7f seconds",
                           last_safepoint_time_sec());
  }

  // update the time stamp to begin recording app time
  _app_timer.update();
  if (UsePerfData) {
    _safepoint_time_ticks->inc(_safepoint_timer.ticks_since_update());
  }
}
Esempio n. 7
0
void RuntimeService::record_safepoint_begin() {
#ifndef USDT2
  HS_DTRACE_PROBE(hs_private, safepoint__begin);
#else /* USDT2 */
  HS_PRIVATE_SAFEPOINT_BEGIN();
#endif /* USDT2 */

  // Print the time interval in which the app was executing
  if (PrintGCApplicationConcurrentTime) {
    gclog_or_tty->date_stamp(PrintGCDateStamps);
    gclog_or_tty->stamp(PrintGCTimeStamps);
    gclog_or_tty->print_cr("Application time: %3.7f seconds",
                                last_application_time_sec());
  }

  // update the time stamp to begin recording safepoint time
  _safepoint_timer.update();
  if (UsePerfData) {
    _total_safepoints->inc();
    if (_app_timer.is_updated()) {
      _application_time_ticks->inc(_app_timer.ticks_since_update());
    }
  }
}
Esempio n. 8
0
void notify_vm_shutdown() {
  // For now, just a dtrace probe.
  HS_DTRACE_PROBE(hotspot, vm__shutdown);
}
Esempio n. 9
0
void notify_vm_shutdown() {
  // For now, just a dtrace probe.
  HS_DTRACE_PROBE(hotspot, vm__shutdown);
  HS_DTRACE_WORKAROUND_TAIL_CALL_BUG();
}
void VM_GC_Operation::notify_gc_end() {
  HS_DTRACE_PROBE(hotspot, gc__end);
  HS_DTRACE_WORKAROUND_TAIL_CALL_BUG();
}