< prev index next >
src/hotspot/share/runtime/handshake.cpp
Print this page
rev 47863 : imported patch 10.08.open.rebase_20171114.rehn
rev 47865 : dholmes CR: Fix indents, trailing spaces and various typos. Add descriptions for the '_cnt', '_max' and '_times" fields, add impl notes to document the type choices.
@@ -135,26 +135,27 @@
if (handshake_has_timed_out(start_time)) {
handle_timeout();
}
// We need to re-think this with SMR ThreadsList.
- // There is assumption in code that Threads_lock should be lock
- // during certain phases.
+ // There is an assumption in the code that the Threads_lock should be
+ // locked during certain phases.
MutexLockerEx ml(Threads_lock, Mutex::_no_safepoint_check_flag);
ThreadsListHandle tlh;
if (tlh.includes(_target)) {
- // Warning threads address might be re-used.
- // handshake_process_by_vmthread will check the semaphore for us again
- // Since we can't have more then one handshake in flight a reuse of thread address
- // should be okey since the new thread will not have an operation.
+ // Warning _target's address might be re-used.
+ // handshake_process_by_vmthread will check the semaphore for us again.
+ // Since we can't have more then one handshake in flight a reuse of
+ // _target's address should be okay since the new thread will not have
+ // an operation.
_target->handshake_process_by_vmthread();
} else {
- // We can't warn here is since the thread do cancel_handshake after it have been removed
- // from ThreadsList. So we should just keep looping here until while below return negative
- // If we have a bug, then we deadlock here, which is good for debugging.
+ // We can't warn here since the thread does cancel_handshake after
+ // it has been removed from the ThreadsList. So we should just keep
+ // looping here until while below returns false. If we have a bug,
+ // then we hang here, which is good for debugging.
}
-
} while (!poll_for_completed_thread());
}
VMOp_Type type() const { return VMOp_HandshakeOneThread; }
@@ -195,16 +196,16 @@
// Have VM thread perform the handshake operation for blocked threads.
// Observing a blocked state may of course be transient but the processing is guarded
// by semaphores and we optimistically begin by working on the blocked threads
{
// We need to re-think this with SMR ThreadsList.
- // There is assumption in code that Threads_lock should be lock
- // during certain phases.
+ // There is an assumption in the code that the Threads_lock should
+ // be locked during certain phases.
MutexLockerEx ml(Threads_lock, Mutex::_no_safepoint_check_flag);
for (JavaThreadIteratorWithHandle jtiwh; JavaThread *thr = jtiwh.next(); ) {
- // A new thread on the ThreadsList will not have an operation.
- // Hence is skipped in handshake_process_by_vmthread.
+ // A new thread on the ThreadsList will not have an operation,
+ // hence it is skipped in handshake_process_by_vmthread.
thr->handshake_process_by_vmthread();
}
}
while (poll_for_completed_thread()) {
< prev index next >