8240918: [REDO] Allow direct handshakes without VMThread intervention

REDO of 8230594

Reviewed-by: dholmes, rehn, mdoerr, coleenp, dcubed
This commit is contained in:
Patricio Chilano Mateo 2020-04-08 18:32:21 +00:00
parent 51a5e9ca3c
commit 89a33e69a7
10 changed files with 369 additions and 164 deletions

View file

@ -463,8 +463,6 @@ void SafepointSynchronize::disarm_safepoint() {
assert(!cur_state->is_running(), "Thread not suspended at safepoint");
cur_state->restart(); // TSS _running
assert(cur_state->is_running(), "safepoint state has not been reset");
SafepointMechanism::disarm_if_needed(current, false /* NO release */);
}
} // ~JavaThreadIteratorWithHandle
@ -705,7 +703,6 @@ static bool safepoint_safe_with(JavaThread *thread, JavaThreadState state) {
}
bool SafepointSynchronize::handshake_safe(JavaThread *thread) {
assert(Thread::current()->is_VM_thread(), "Must be VMThread");
if (thread->is_ext_suspended() || thread->is_terminated()) {
return true;
}