< prev index next >

src/hotspot/share/runtime/vmThread.cpp

Print this page
rev 57156 : imported patch 8234796-v3

*** 411,423 **** } 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 --- 411,424 ---- } static VM_None safepointALot_op("SafepointALot"); static VM_Cleanup cleanup_op; ! class HandshakeALotClosure : public HandshakeClosure { public: ! HandshakeALotClosure() : HandshakeClosure("HandshakeALot") {} ! void do_thread(Thread* thread) { #ifdef ASSERT assert(thread->is_Java_thread(), "must be"); JavaThread* jt = (JavaThread*)thread; jt->verify_states_for_handshake(); #endif
*** 430,441 **** } 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); --- 431,442 ---- } VM_Operation* VMThread::no_op_safepoint() { // Check for handshakes first since we may need to return a VMop. if (HandshakeALot) { ! HandshakeALotClosure hal_cl; ! Handshake::execute(&hal_cl); } // 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 >