8293592: Remove JVM_StopThread, stillborn, and related cleanup

Reviewed-by: alanb, sspitsyn, rehn, coleenp
This commit is contained in:
David Holmes 2022-09-27 21:03:50 +00:00
parent 739fdec7ea
commit 763d4bf074
18 changed files with 60 additions and 187 deletions

View file

@ -79,12 +79,9 @@ inline void JavaThread::clear_carrier_thread_suspended() {
class AsyncExceptionHandshake : public AsyncHandshakeClosure {
OopHandle _exception;
bool _is_ThreadDeath;
public:
AsyncExceptionHandshake(OopHandle& o, const char* name = "AsyncExceptionHandshake")
: AsyncHandshakeClosure(name), _exception(o) {
_is_ThreadDeath = exception()->is_a(vmClasses::ThreadDeath_klass());
}
: AsyncHandshakeClosure(name), _exception(o) { }
~AsyncExceptionHandshake() {
Thread* current = Thread::current();
@ -108,7 +105,6 @@ class AsyncExceptionHandshake : public AsyncHandshakeClosure {
return _exception.resolve();
}
bool is_async_exception() { return true; }
bool is_ThreadDeath() { return _is_ThreadDeath; }
};
class UnsafeAccessErrorHandshake : public AsyncHandshakeClosure {
@ -129,8 +125,8 @@ inline void JavaThread::set_pending_unsafe_access_error() {
}
}
inline bool JavaThread::has_async_exception_condition(bool ThreadDeath_only) {
return handshake_state()->has_async_exception_operation(ThreadDeath_only);
inline bool JavaThread::has_async_exception_condition() {
return handshake_state()->has_async_exception_operation();
}
inline JavaThread::NoAsyncExceptionDeliveryMark::NoAsyncExceptionDeliveryMark(JavaThread *t) : _target(t) {