--- old/src/share/vm/gc/shared/collectorCounters.hpp 2017-06-14 11:45:06.192075526 +0900 +++ new/src/share/vm/gc/shared/collectorCounters.hpp 2017-06-14 11:45:06.107073822 +0900 @@ -71,16 +71,19 @@ public: inline TraceCollectorStats(CollectorCounters* c) : - PerfTraceTimedEvent(c->time_counter(), c->invocation_counter()), + PerfTraceTimedEvent((c == NULL) ? NULL : c->time_counter(), + (c == NULL) ? NULL : c->invocation_counter()), _c(c) { - if (UsePerfData) { + if (UsePerfData && (_c != NULL)) { _c->last_entry_counter()->set_value(os::elapsed_counter()); } } inline ~TraceCollectorStats() { - if (UsePerfData) _c->last_exit_counter()->set_value(os::elapsed_counter()); + if (UsePerfData && (_c != NULL)) { + _c->last_exit_counter()->set_value(os::elapsed_counter()); + } } };