8237756: Backout: JDK-8230594: Allow direct handshakes without VMThread intervention

Backout JDK-8230594

Reviewed-by: coleenp, dcubed
This commit is contained in:
Patricio Chilano Mateo 2020-01-23 17:26:52 +00:00
parent 94bb505c94
commit 5e9d3fdc9c
9 changed files with 161 additions and 346 deletions

View file

@ -1,5 +1,5 @@
/*
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@ -494,6 +494,8 @@ 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
@ -734,6 +736,7 @@ 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;
}