mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 17:44:40 +02:00
8230594: Allow direct handshakes without VMThread intervention
Introduce direct handshakes and enable it for biased locking revocations. Reviewed-by: dholmes, dcubed, coleenp, rehn
This commit is contained in:
parent
b21e04af5d
commit
b25bb17b41
9 changed files with 343 additions and 158 deletions
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2020, 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,8 +494,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
|
||||
|
||||
|
@ -736,7 +734,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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue