src/jdk.internal.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java
equal
deleted
inserted
replaced
133 native HotSpotResolvedJavaMethodImpl findUniqueConcreteMethod(HotSpotResolvedObjectTypeImpl actualHolderType, HotSpotResolvedJavaMethodImpl method); |
133 native HotSpotResolvedJavaMethodImpl findUniqueConcreteMethod(HotSpotResolvedObjectTypeImpl actualHolderType, HotSpotResolvedJavaMethodImpl method); |
134 |
134 |
135 /** |
135 /** |
136 * Gets the implementor for the interface class {@code type}. |
136 * Gets the implementor for the interface class {@code type}. |
137 * |
137 * |
138 * @return the implementor if there is a single implementor, 0 if there is no implementor, or |
138 * @return the implementor if there is a single implementor, {@code null} if there is no |
139 * {@code type} itself if there is more than one implementor |
139 * implementor, or {@code type} itself if there is more than one implementor |
|
140 * @throws IllegalArgumentException if type is not an interface type |
140 */ |
141 */ |
141 native HotSpotResolvedObjectTypeImpl getImplementor(HotSpotResolvedObjectTypeImpl type); |
142 native HotSpotResolvedObjectTypeImpl getImplementor(HotSpotResolvedObjectTypeImpl type); |
142 |
143 |
143 /** |
144 /** |
144 * Determines if {@code method} is ignored by security stack walks. |
145 * Determines if {@code method} is ignored by security stack walks. |
254 * does nothing. |
255 * does nothing. |
255 */ |
256 */ |
256 native void resolveInvokeHandleInPool(HotSpotConstantPool constantPool, int cpi); |
257 native void resolveInvokeHandleInPool(HotSpotConstantPool constantPool, int cpi); |
257 |
258 |
258 /** |
259 /** |
259 * If {@code cpi} denotes an entry representing a resolved dynamic adapter |
260 * If {@code cpi} denotes an entry representing a resolved dynamic adapter (see |
260 * (see {@code resolveInvokeDynamicInPool} and {@code resolveInvokeHandleInPool}), |
261 * {@code resolveInvokeDynamicInPool} and {@code resolveInvokeHandleInPool}), return the opcode |
261 * return the opcode of the instruction for which the resolution was performed |
262 * of the instruction for which the resolution was performed ({@code invokedynamic} or |
262 * ({@code invokedynamic} or {@code invokevirtual}}, or {@code -1} otherwise. |
263 * {@code invokevirtual}}, or {@code -1} otherwise. |
263 */ |
264 */ |
264 native int isResolvedInvokeHandleInPool(HotSpotConstantPool constantPool, int cpi); |
265 native int isResolvedInvokeHandleInPool(HotSpotConstantPool constantPool, int cpi); |
265 |
|
266 |
266 |
267 /** |
267 /** |
268 * Gets the list of type names (in the format of {@link JavaType#getName()}) denoting the |
268 * Gets the list of type names (in the format of {@link JavaType#getName()}) denoting the |
269 * classes that define signature polymorphic methods. |
269 * classes that define signature polymorphic methods. |
270 */ |
270 */ |
386 native HotSpotResolvedJavaMethodImpl resolveMethod(HotSpotResolvedObjectTypeImpl exactReceiver, HotSpotResolvedJavaMethodImpl method, HotSpotResolvedObjectTypeImpl caller); |
386 native HotSpotResolvedJavaMethodImpl resolveMethod(HotSpotResolvedObjectTypeImpl exactReceiver, HotSpotResolvedJavaMethodImpl method, HotSpotResolvedObjectTypeImpl caller); |
387 |
387 |
388 /** |
388 /** |
389 * Gets the static initializer of {@code type}. |
389 * Gets the static initializer of {@code type}. |
390 * |
390 * |
391 * @return 0 if {@code type} has no static initializer |
391 * @return {@code null} if {@code type} has no static initializer |
392 */ |
392 */ |
393 native HotSpotResolvedJavaMethodImpl getClassInitializer(HotSpotResolvedObjectTypeImpl type); |
393 native HotSpotResolvedJavaMethodImpl getClassInitializer(HotSpotResolvedObjectTypeImpl type); |
394 |
394 |
395 /** |
395 /** |
396 * Determines if {@code type} or any of its currently loaded subclasses overrides |
396 * Determines if {@code type} or any of its currently loaded subclasses overrides |
466 * @return 0 if {@code method} does not have a local variable table |
466 * @return 0 if {@code method} does not have a local variable table |
467 */ |
467 */ |
468 native long getLocalVariableTableStart(HotSpotResolvedJavaMethodImpl method); |
468 native long getLocalVariableTableStart(HotSpotResolvedJavaMethodImpl method); |
469 |
469 |
470 /** |
470 /** |
471 * Sets flags on {@code method} indicating that it should never be inlined or compiled by the VM. |
471 * Sets flags on {@code method} indicating that it should never be inlined or compiled by the |
|
472 * VM. |
472 */ |
473 */ |
473 native void setNotInlinableOrCompilable(HotSpotResolvedJavaMethodImpl method); |
474 native void setNotInlinableOrCompilable(HotSpotResolvedJavaMethodImpl method); |
474 |
475 |
475 /** |
476 /** |
476 * Invalidates the profiling information for {@code method} and (re)initializes it such that |
477 * Invalidates the profiling information for {@code method} and (re)initializes it such that |