< prev index next >
src/hotspot/share/runtime/vmThread.cpp
Print this page
rev 57079 : [mq]: handshake-logs
*** 427,452 ****
}
static VM_None safepointALot_op("SafepointALot");
static VM_Cleanup cleanup_op;
! class HandshakeALotTC : public ThreadClosure {
public:
! virtual void do_thread(Thread* thread) {
#ifdef ASSERT
- assert(thread->is_Java_thread(), "must be");
- JavaThread* jt = (JavaThread*)thread;
jt->verify_states_for_handshake();
#endif
}
};
VM_Operation* VMThread::no_op_safepoint() {
// Check for handshakes first since we may need to return a VMop.
if (HandshakeALot) {
! HandshakeALotTC haltc;
! Handshake::execute(&haltc);
}
// Check for a cleanup before SafepointALot to keep stats correct.
long interval_ms = SafepointTracing::time_since_last_safepoint_ms();
bool max_time_exceeded = GuaranteedSafepointInterval != 0 &&
(interval_ms >= GuaranteedSafepointInterval);
--- 427,451 ----
}
static VM_None safepointALot_op("SafepointALot");
static VM_Cleanup cleanup_op;
! class HandshakeALotHS : public HandshakeOperation {
public:
! const char* name() { return "HandshakeALot"; };
! void do_thread(JavaThread* jt) {
#ifdef ASSERT
jt->verify_states_for_handshake();
#endif
}
};
VM_Operation* VMThread::no_op_safepoint() {
// Check for handshakes first since we may need to return a VMop.
if (HandshakeALot) {
! HandshakeALotHS halhs;
! Handshake::execute(&halhs);
}
// Check for a cleanup before SafepointALot to keep stats correct.
long interval_ms = SafepointTracing::time_since_last_safepoint_ms();
bool max_time_exceeded = GuaranteedSafepointInterval != 0 &&
(interval_ms >= GuaranteedSafepointInterval);
< prev index next >