< prev index next >
src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java
Print this page
rev 12604 : 8173912: [JVMCI] fix memory overhead of JVMCI
@@ -276,21 +276,23 @@
* {@code cpi} in {@code constantPool}. For some opcodes, checks are performed that require the
* {@code method} that contains {@code opcode} to be specified. The values returned in
* {@code info} are:
*
* <pre>
- * [(int) flags, // only valid if field is resolved
- * (int) offset] // only valid if field is resolved
+ * [ flags, // fieldDescriptor::access_flags()
+ * offset, // fieldDescriptor::offset()
+ * index // fieldDescriptor::index()
+ * ]
* </pre>
*
* The behavior of this method is undefined if {@code cpi} does not denote a
* {@code JVM_CONSTANT_Field} entry.
*
* @param info an array in which the details of the field are returned
* @return the type defining the field if resolution is successful, 0 otherwise
*/
- native HotSpotResolvedObjectTypeImpl resolveFieldInPool(HotSpotConstantPool constantPool, int cpi, HotSpotResolvedJavaMethodImpl method, byte opcode, long[] info);
+ native HotSpotResolvedObjectTypeImpl resolveFieldInPool(HotSpotConstantPool constantPool, int cpi, HotSpotResolvedJavaMethodImpl method, byte opcode, int[] info);
/**
* Converts {@code cpci} from an index into the cache for {@code constantPool} to an index
* directly into {@code constantPool}.
*
@@ -629,6 +631,17 @@
/**
* Invokes non-public method {@code java.lang.invoke.LambdaForm.compileToBytecode()} on
* {@code lambdaForm} (which must be a {@code java.lang.invoke.LambdaForm} instance).
*/
native void compileToBytecode(Object lambdaForm);
+
+ /**
+ * Gets the value of the VM flag named {@code name}.
+ *
+ * @param name name of a VM option
+ * @return {@code this} if the named VM option doesn't exist, a {@link String} or {@code null}
+ * if its type is {@code ccstr} or {@code ccstrlist}, a {@link Double} if its type is
+ * {@code double}, a {@link Boolean} if its type is {@code bool} otherwise a
+ * {@link Long}
+ */
+ native Object getFlagValue(String name);
}
< prev index next >