--- old/src/share/vm/runtime/vmThread.cpp Sun Jul 30 18:50:02 2017 +++ new/src/share/vm/runtime/vmThread.cpp Sun Jul 30 18:50:02 2017 @@ -25,6 +25,8 @@ #include "precompiled.hpp" #include "compiler/compileBroker.hpp" #include "gc/shared/collectedHeap.hpp" +#include "logging/log.hpp" +#include "logging/logConfiguration.hpp" #include "memory/resourceArea.hpp" #include "oops/method.hpp" #include "oops/oop.inline.hpp" @@ -484,6 +486,7 @@ // If we are at a safepoint we will evaluate all the operations that // follow that also require a safepoint if (_cur_vm_operation->evaluate_at_safepoint()) { + log_debug(vmthread)("Evaluating safepoint VM operation: %s", _cur_vm_operation->name()); _vm_queue->set_drain_list(safepoint_ops); // ensure ops can be scanned @@ -495,6 +498,7 @@ _cur_vm_operation = safepoint_ops; if (_cur_vm_operation != NULL) { do { + log_debug(vmthread)("Evaluating coalesced safepoint VM operation: %s", _cur_vm_operation->name()); // evaluate_operation deletes the op object so we have // to grab the next op now VM_Operation* next = _cur_vm_operation->next(); @@ -532,6 +536,7 @@ SafepointSynchronize::end(); } else { // not a safepoint operation + log_debug(vmthread)("Evaluating non-safepoint VM operation: %s", _cur_vm_operation->name()); if (TraceLongCompiles) { elapsedTimer t; t.start(); @@ -607,8 +612,9 @@ // to be queued up during a safepoint synchronization. { VMOperationQueue_lock->lock_without_safepoint_check(); + log_debug(vmthread)("Adding VM operation: %s", op->name()); bool ok = _vm_queue->add(op); - op->set_timestamp(os::javaTimeMillis()); + op->set_timestamp(os::javaTimeMillis()); VMOperationQueue_lock->notify(); VMOperationQueue_lock->unlock(); // VM_Operation got skipped