src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 8073191-work Sdiff src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot

src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java

Print this page




 250      * <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.9">signature
 251      * polymorphic</a> method at index {@code cpi} in {@code constantPool} is loaded and
 252      * initialized.
 253      *
 254      * The behavior of this method is undefined if {@code cpi} does not denote an entry representing
 255      * a signature polymorphic method.
 256      */
 257     native void resolveInvokeHandleInPool(HotSpotConstantPool constantPool, int cpi);
 258 
 259     /**
 260      * Gets the resolved type denoted by the entry at index {@code cpi} in {@code constantPool}.
 261      *
 262      * The behavior of this method is undefined if {@code cpi} does not denote an entry representing
 263      * a class.
 264      *
 265      * @throws LinkageError if resolution failed
 266      */
 267     native HotSpotResolvedObjectTypeImpl resolveTypeInPool(HotSpotConstantPool constantPool, int cpi) throws LinkageError;
 268 
 269     /**
 270      * Looks up and attempts to resolve the {@code JVM_CONSTANT_Field} entry at index {@code cpi} in
 271      * {@code constantPool}. The values returned in {@code info} are:

 272      *
 273      * <pre>
 274      *     [(int) flags,   // only valid if field is resolved
 275      *      (int) offset]  // only valid if field is resolved
 276      * </pre>
 277      *
 278      * The behavior of this method is undefined if {@code cpi} does not denote a
 279      * {@code JVM_CONSTANT_Field} entry.
 280      *
 281      * @param info an array in which the details of the field are returned
 282      * @return the type defining the field if resolution is successful, 0 otherwise
 283      */
 284     native HotSpotResolvedObjectTypeImpl resolveFieldInPool(HotSpotConstantPool constantPool, int cpi, byte opcode, long[] info);
 285 
 286     /**
 287      * Converts {@code cpci} from an index into the cache for {@code constantPool} to an index
 288      * directly into {@code constantPool}.
 289      *
 290      * The behavior of this method is undefined if {@code ccpi} is an invalid constant pool cache
 291      * index.
 292      */
 293     native int constantPoolRemapInstructionOperandFromCache(HotSpotConstantPool constantPool, int cpci);
 294 
 295     /**
 296      * Gets the appendix object (if any) associated with the entry at index {@code cpi} in
 297      * {@code constantPool}.
 298      */
 299     native Object lookupAppendixInPool(HotSpotConstantPool constantPool, int cpi);
 300 
 301     /**
 302      * Installs the result of a compilation into the code cache.
 303      *
 304      * @param target the target where this code should be installed




 250      * <a href="https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-2.html#jvms-2.9">signature
 251      * polymorphic</a> method at index {@code cpi} in {@code constantPool} is loaded and
 252      * initialized.
 253      *
 254      * The behavior of this method is undefined if {@code cpi} does not denote an entry representing
 255      * a signature polymorphic method.
 256      */
 257     native void resolveInvokeHandleInPool(HotSpotConstantPool constantPool, int cpi);
 258 
 259     /**
 260      * Gets the resolved type denoted by the entry at index {@code cpi} in {@code constantPool}.
 261      *
 262      * The behavior of this method is undefined if {@code cpi} does not denote an entry representing
 263      * a class.
 264      *
 265      * @throws LinkageError if resolution failed
 266      */
 267     native HotSpotResolvedObjectTypeImpl resolveTypeInPool(HotSpotConstantPool constantPool, int cpi) throws LinkageError;
 268 
 269     /**
 270      * Looks up and attempts to resolve the {@code JVM_CONSTANT_Field} entry for at index {@code cpi} in
 271      * {@code constantPool}. For some opcodes, checks are performed that require the {@code method}
 272      * that contains {@code opcode} to be specified. The values returned in {@code info} are:
 273      *
 274      * <pre>
 275      *     [(int) flags,   // only valid if field is resolved
 276      *      (int) offset]  // only valid if field is resolved
 277      * </pre>
 278      *
 279      * The behavior of this method is undefined if {@code cpi} does not denote a
 280      * {@code JVM_CONSTANT_Field} entry.
 281      *
 282      * @param info an array in which the details of the field are returned
 283      * @return the type defining the field if resolution is successful, 0 otherwise
 284      */
 285     native HotSpotResolvedObjectTypeImpl resolveFieldInPool(HotSpotConstantPool constantPool, int cpi, HotSpotResolvedJavaMethodImpl method, byte opcode, long[] info);
 286 
 287     /**
 288      * Converts {@code cpci} from an index into the cache for {@code constantPool} to an index
 289      * directly into {@code constantPool}.
 290      *
 291      * The behavior of this method is undefined if {@code ccpi} is an invalid constant pool cache
 292      * index.
 293      */
 294     native int constantPoolRemapInstructionOperandFromCache(HotSpotConstantPool constantPool, int cpci);
 295 
 296     /**
 297      * Gets the appendix object (if any) associated with the entry at index {@code cpi} in
 298      * {@code constantPool}.
 299      */
 300     native Object lookupAppendixInPool(HotSpotConstantPool constantPool, int cpi);
 301 
 302     /**
 303      * Installs the result of a compilation into the code cache.
 304      *
 305      * @param target the target where this code should be installed


src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File