src/share/classes/sun/misc/VM.java
Print this page
*** 214,223 ****
--- 214,233 ----
//
public static boolean allowArraySyntax() {
return allowArraySyntax;
}
+ private static boolean allowGetCallerClass = false;
+
+ // Reflection.getCallerClass(int) is disabled by default.
+ // It can be enabled by setting the system property
+ // "jdk.reflect.allowGetCallerClass" and also used by
+ // logging stack walk of a resource bundle if it is turned on.
+ public static boolean allowGetCallerClass() {
+ return allowGetCallerClass;
+ }
+
/**
* Returns the system property of the specified key saved at
* system initialization time. This method should only be used
* for the system properties that are not changed during runtime.
* It accesses a private copy of the system properties so
*** 278,287 ****
--- 288,307 ----
s = props.getProperty("sun.lang.ClassLoader.allowArraySyntax");
allowArraySyntax = (s == null
? defaultAllowArraySyntax
: Boolean.parseBoolean(s));
+ // Reflection.getCallerClass(int) is disabled by default.
+ // It can be enabled by setting the system property
+ // "jdk.reflect.allowGetCallerClass" and also used by
+ // logging stack walk of a resource bundle if it is turned on.
+ s = props.getProperty("jdk.reflect.allowGetCallerClass");
+ allowGetCallerClass = (s != null
+ ? (s.isEmpty() || Boolean.parseBoolean(s))
+ : false) ||
+ Boolean.valueOf(props.getProperty("jdk.logging.allowStackWalkSearch"));
+
// Remove other private system properties
// used by java.lang.Integer.IntegerCache
props.remove("java.lang.Integer.IntegerCache.high");
// used by java.util.zip.ZipFile