-
Enhancement
-
Resolution: Fixed
-
P4
-
24
-
b08
There are protectionDomain and signers fields currently injected to Class in javaClasses.cpp, so Java code's access to them must go through native. Making them explicit allows easier access via Java code, as long as we note that these fields are also accessed by the JVM.
The protectionDomain field is accessed via native methods in java.security.AccessController, which would be better taken care of by the security team. We can move the signers fields for now.
Note that to move protectionDomain field in the future, there are additional tests to take care of:
1. test/hotspot/gtest/oops/test_instanceKlass.cpp anticipates injected protection_domain field; should be removed.
2. test/jdk/java/lang/reflect/AccessibleObject/ModuleSetAccessibleTest.java and TrySetAccessibleTest anticipates private Class constructors; need to update accordingly.
The protectionDomain field is accessed via native methods in java.security.AccessController, which would be better taken care of by the security team. We can move the signers fields for now.
Note that to move protectionDomain field in the future, there are additional tests to take care of:
1. test/hotspot/gtest/oops/test_instanceKlass.cpp anticipates injected protection_domain field; should be removed.
2. test/jdk/java/lang/reflect/AccessibleObject/ModuleSetAccessibleTest.java and TrySetAccessibleTest anticipates private Class constructors; need to update accordingly.
- csr for
-
JDK-8336676 Remove native modifier from Class::getSigners method
-
- Closed
-
- duplicates
-
JDK-8003551 Move Signers out to the JDK
-
- Closed
-
- relates to
-
JDK-8334394 Race condition in Class::protectionDomain
-
- Resolved
-
-
JDK-8336804 Drop callback from class to its signers with ref kind JVMTI_HEAP_REFERENCE_SIGNERS
-
- Open
-
- links to
-
Commit(master) openjdk/jdk/39f44768
-
Review(master) openjdk/jdk/20221
-
Review(master) openjdk/jdk/20223
(2 links to)