-
CSR
-
Resolution: Approved
-
P4
-
behavioral
-
minimal
-
The flag is not usable when changed from its default value (false on all platforms but sparc), and the flag is not needed even on sparc.
-
add/remove/modify command line option
-
Implementation
Summary
Before JDK 5.0 (1.5.0) a platform with register windows did not flush the register windows when calling JNI. Therefore the VM thread could not read the java stack of a JavaThread in native. NeedsDeoptSuspend was set to true on such platforms, making the JavaThread flush the register windows and deoptimize on return from JNI instead. After JDK 1.5 both code paths work on all platforms, but with one of them much more complicated.
Problem
NeedsDeoptSuspend code path adds complexity without any notable difference for a user. The flag was never meant to be used by a user, the only noticeable effect the flag has had is it could crash the VM when changing it from it's default value.
Solution
Obsolete the flag (JDK 13) and remove the flag (JDK 14).
Specification
Mark the flag as obsolete in the flag table:
+ { "NeedsDeoptSuspend", JDK_Version::undefined(), JDK_Version::jdk(13), JDK_Version::jdk(14) },
- csr of
-
JDK-8222637 Obsolete NeedsDeoptSuspend
-
- Resolved
-