comparison graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/meta/HotSpotResolvedJavaMethod.java @ 9416:16c354398d09

intrinsify Reflection.getCallerClass
author twisti
date Mon, 29 Apr 2013 11:31:29 -0700
parents ee8cd087a731
children ae17e540c5d2
comparison
equal deleted inserted replaced
9415:016523a011b7 9416:16c354398d09
52 final long metaspaceMethod; 52 final long metaspaceMethod;
53 53
54 private final HotSpotResolvedObjectType holder; 54 private final HotSpotResolvedObjectType holder;
55 private/* final */int codeSize; 55 private/* final */int codeSize;
56 private/* final */int exceptionHandlerCount; 56 private/* final */int exceptionHandlerCount;
57 private boolean callerSensitive;
58 private boolean forceInline;
59 private boolean dontInline;
60 private boolean ignoredBySecurityStackWalk;
57 private HotSpotSignature signature; 61 private HotSpotSignature signature;
58 private Boolean hasBalancedMonitors; 62 private Boolean hasBalancedMonitors;
59 private Map<Object, Object> compilerStorage; 63 private Map<Object, Object> compilerStorage;
60 private HotSpotMethodData methodData; 64 private HotSpotMethodData methodData;
61 private byte[] code; 65 private byte[] code;
127 ExceptionHandler[] handlers = new ExceptionHandler[exceptionHandlerCount]; 131 ExceptionHandler[] handlers = new ExceptionHandler[exceptionHandlerCount];
128 for (int i = 0; i < exceptionHandlerCount; i++) { 132 for (int i = 0; i < exceptionHandlerCount; i++) {
129 handlers[i] = new ExceptionHandler(-1, -1, -1, -1, null); 133 handlers[i] = new ExceptionHandler(-1, -1, -1, -1, null);
130 } 134 }
131 return graalRuntime().getCompilerToVM().initializeExceptionHandlers(metaspaceMethod, handlers); 135 return graalRuntime().getCompilerToVM().initializeExceptionHandlers(metaspaceMethod, handlers);
136 }
137
138 /**
139 * Returns true if this method has a CallerSensitive annotation.
140 *
141 * @return true if CallerSensitive annotation present, false otherwise
142 */
143 public boolean isCallerSensitive() {
144 return callerSensitive;
145 }
146
147 /**
148 * Returns true if this method has a ForceInline annotation.
149 *
150 * @return true if ForceInline annotation present, false otherwise
151 */
152 public boolean isForceInline() {
153 return forceInline;
154 }
155
156 /**
157 * Returns true if this method has a DontInline annotation.
158 *
159 * @return true if DontInline annotation present, false otherwise
160 */
161 public boolean isDontInline() {
162 return dontInline;
163 }
164
165 /**
166 * Returns true if this method is one of the special methods that is ignored by security stack
167 * walks.
168 *
169 * @return true if special method ignored by security stack walks, false otherwise
170 */
171 public boolean ignoredBySecurityStackWalk() {
172 return ignoredBySecurityStackWalk;
132 } 173 }
133 174
134 public boolean hasBalancedMonitors() { 175 public boolean hasBalancedMonitors() {
135 if (hasBalancedMonitors == null) { 176 if (hasBalancedMonitors == null) {
136 hasBalancedMonitors = graalRuntime().getCompilerToVM().hasBalancedMonitors(metaspaceMethod); 177 hasBalancedMonitors = graalRuntime().getCompilerToVM().hasBalancedMonitors(metaspaceMethod);