45 static final boolean DUMP_CLASS_FILES; |
45 static final boolean DUMP_CLASS_FILES; |
46 static final boolean TRACE_INTERPRETER; |
46 static final boolean TRACE_INTERPRETER; |
47 static final boolean TRACE_METHOD_LINKAGE; |
47 static final boolean TRACE_METHOD_LINKAGE; |
48 static final boolean USE_LAMBDA_FORM_EDITOR; |
48 static final boolean USE_LAMBDA_FORM_EDITOR; |
49 static final int COMPILE_THRESHOLD; |
49 static final int COMPILE_THRESHOLD; |
|
50 static final int DONT_INLINE_THRESHOLD; |
50 static final int PROFILE_LEVEL; |
51 static final int PROFILE_LEVEL; |
51 |
52 |
52 static { |
53 static { |
53 final Object[] values = { false, false, false, false, false, null, null }; |
54 final Object[] values = new Object[8]; |
54 AccessController.doPrivileged(new PrivilegedAction<Void>() { |
55 AccessController.doPrivileged(new PrivilegedAction<Void>() { |
55 public Void run() { |
56 public Void run() { |
56 values[0] = Boolean.getBoolean("java.lang.invoke.MethodHandle.DEBUG_NAMES"); |
57 values[0] = Boolean.getBoolean("java.lang.invoke.MethodHandle.DEBUG_NAMES"); |
57 values[1] = Boolean.getBoolean("java.lang.invoke.MethodHandle.DUMP_CLASS_FILES"); |
58 values[1] = Boolean.getBoolean("java.lang.invoke.MethodHandle.DUMP_CLASS_FILES"); |
58 values[2] = Boolean.getBoolean("java.lang.invoke.MethodHandle.TRACE_INTERPRETER"); |
59 values[2] = Boolean.getBoolean("java.lang.invoke.MethodHandle.TRACE_INTERPRETER"); |
59 values[3] = Boolean.getBoolean("java.lang.invoke.MethodHandle.TRACE_METHOD_LINKAGE"); |
60 values[3] = Boolean.getBoolean("java.lang.invoke.MethodHandle.TRACE_METHOD_LINKAGE"); |
60 values[4] = Boolean.getBoolean("java.lang.invoke.MethodHandle.USE_LF_EDITOR"); |
61 values[4] = Boolean.getBoolean("java.lang.invoke.MethodHandle.USE_LF_EDITOR"); |
61 values[5] = Integer.getInteger("java.lang.invoke.MethodHandle.COMPILE_THRESHOLD", 30); |
62 values[5] = Integer.getInteger("java.lang.invoke.MethodHandle.COMPILE_THRESHOLD", 30); |
62 values[6] = Integer.getInteger("java.lang.invoke.MethodHandle.PROFILE_LEVEL", 0); |
63 values[6] = Integer.getInteger("java.lang.invoke.MethodHandle.DONT_INLINE_THRESHOLD", 30); |
|
64 values[7] = Integer.getInteger("java.lang.invoke.MethodHandle.PROFILE_LEVEL", 0); |
63 return null; |
65 return null; |
64 } |
66 } |
65 }); |
67 }); |
66 DEBUG_METHOD_HANDLE_NAMES = (Boolean) values[0]; |
68 DEBUG_METHOD_HANDLE_NAMES = (Boolean) values[0]; |
67 DUMP_CLASS_FILES = (Boolean) values[1]; |
69 DUMP_CLASS_FILES = (Boolean) values[1]; |
68 TRACE_INTERPRETER = (Boolean) values[2]; |
70 TRACE_INTERPRETER = (Boolean) values[2]; |
69 TRACE_METHOD_LINKAGE = (Boolean) values[3]; |
71 TRACE_METHOD_LINKAGE = (Boolean) values[3]; |
70 USE_LAMBDA_FORM_EDITOR = (Boolean) values[4]; |
72 USE_LAMBDA_FORM_EDITOR = (Boolean) values[4]; |
71 COMPILE_THRESHOLD = (Integer) values[5]; |
73 COMPILE_THRESHOLD = (Integer) values[5]; |
72 PROFILE_LEVEL = (Integer) values[6]; |
74 DONT_INLINE_THRESHOLD = (Integer) values[6]; |
|
75 PROFILE_LEVEL = (Integer) values[7]; |
73 } |
76 } |
74 |
77 |
75 /** Tell if any of the debugging switches are turned on. |
78 /** Tell if any of the debugging switches are turned on. |
76 * If this is the case, it is reasonable to perform extra checks or save extra information. |
79 * If this is the case, it is reasonable to perform extra checks or save extra information. |
77 */ |
80 */ |