// VM operation timeout handling: warn or abort the VM when VM operation takes // too long. Periodic tasks do not participate in safepoint protocol, and therefore // can fire when application threads are stopped.
class VMOperationTimeoutTask : public PeriodicTask { private: volatile int _armed;
jlong _arm_time; const char* _vm_op_name; public:
VMOperationTimeoutTask(size_t interval_time) :
PeriodicTask(interval_time), _armed(0), _arm_time(0), _vm_op_name(nullptr) {}
// Called to stop the VM thread staticvoid wait_for_vm_thread_exit(); staticbool should_terminate() { return _should_terminate; } staticbool is_terminated() { return _terminated == true; }
// Execution of vm operation staticvoid execute(VM_Operation* op);
// Returns the current vm operation if any. static VM_Operation* vm_operation() {
assert(Thread::current()->is_VM_thread(), "Must be"); return _cur_vm_operation;
}
private: // VM_Operation support static VM_Operation* _cur_vm_operation; // Current VM operation static VM_Operation* _next_vm_operation; // Next VM operation
bool set_next_operation(VM_Operation *op); // Set the _next_vm_operation if possible.
// Pointer to single-instance of VM thread static VMThread* _vm_thread;
};
#endif// SHARE_RUNTIME_VMTHREAD_HPP
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.10 Sekunden
(vorverarbeitet am 2026-09-04)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.