RFR (M): 7198429: need checked categorization of caller-sensitive methods in the JDK (original) (raw)
Mandy Chung mandy.chung at oracle.com
Tue Mar 19 20:14:41 UTC 2013
- Previous message: RFR (M): 7198429: need checked categorization of caller-sensitive methods in the JDK
- Next message: RFR (M): 7198429: need checked categorization of caller-sensitive methods in the JDK
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
I do a partial review in particular to make sure the jdk and hotspot change are in sync.
javaClasses.hpp - MN_CALLER_SENSITIVE and MN_SEARCH_SUPERCLASSES have the same value. Should they be different?
1057 MN_CALLER_SENSITIVE = 0x00100000, // @CallerSensitive annotation detected 1061 MN_SEARCH_SUPERCLASSES = 0x00100000, // walk super classes
method.hpp - Is caller_sensitive set to true if @CallerSensitive annotation is present and must be loaded by null class loader? Does it only check annotations if the class of that method is defined by the null class loader? Per our offline discussion early, classes loaded by the extension class loader may also be caller-sensitive.
If a method calls Reflection.getCallerClass but its class is defined by other class loader (non-null and not extension class loader), your fix will throw InternalError with the same error message even if that method is annotated with @CS. Is there a way to improve the error message so that we can differentiate this case (i.e. @CS is present but not supported)?
jvm.cpp: have you considered adding a new entry point instead of having JVM_GetCallerClass to behave differently depending on the existence of sun.reflect.CallerSensitive class? There are pros and cons of both options. Having a new entry point is cleaner and enables the opportunity to remove JVM_GetCallerClass(int) in the future. I am fine with either approach but just to bring it up.
Mandy
On 3/14/13 8:31 PM, Christian Thalinger wrote:
[This is the HotSpot part of JEP 176]
http://cr.openjdk.java.net/~twisti/7198429 7198429: need checked categorization of caller-sensitive methods in the JDK Reviewed-by: More information in JEP 176: http://openjdk.java.net/jeps/176 src/share/vm/ci/ciMethod.cpp src/share/vm/ci/ciMethod.hpp src/share/vm/classfile/classFileParser.cpp src/share/vm/classfile/classFileParser.hpp src/share/vm/classfile/javaClasses.hpp src/share/vm/classfile/systemDictionary.hpp src/share/vm/classfile/vmSymbols.hpp src/share/vm/oops/method.cpp src/share/vm/oops/method.hpp src/share/vm/opto/librarycall.cpp src/share/vm/prims/jvm.cpp src/share/vm/prims/methodHandles.cpp src/share/vm/prims/unsafe.cpp src/share/vm/runtime/vframe.cpp src/share/vm/runtime/vframe.hpp
- Previous message: RFR (M): 7198429: need checked categorization of caller-sensitive methods in the JDK
- Next message: RFR (M): 7198429: need checked categorization of caller-sensitive methods in the JDK
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]