Remove System.security field and getSecurityManager calls for JDK 24 #20851
+64
−25
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change removes the
System.security
private field from Java 24 which fixes the previously failing reflection check toSystem.security
intest/functional/Java8andUp/src_110_up/org/openj9/test/java/lang/Test_Class.java
.For previous JDK versions
System.security
was included injdk/internal/reflect/Reflection.fieldFilterMap
which would cause aNoSuchFieldException
to be thrown during an attempt to reflectively accessSystem.security
. In JDK 24 OpenJDK has removed thesecurity
field from the System class and from the fieldFilterMap as well. Since OpenJ9 does not need this field in JDK 24 I will remove it as well. The absence of this field will cause aNoSuchFieldException
to be thrown if reflective access is attempted.I have also removed all the calls to
System.getSecurityManager
from JDK 24+ in the System class since it just returns null. There are many other unnecessary calls toSystem.getSecurityManager
throughout the code base. I will work on removing these for JDK 24 in a future pull request.Related: #20563