< prev index next >

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

Print this page
rev 56085 : 8229797: [JVMCI] Clean up no longer used JVMCI::dependencies_invalid value.
Reviewed-by: duke
Contributed-by: doug.simon@oracle.com, xiaohong.gong@arm.com


 355      * The behavior of this method is undefined if {@code ccpi} is an invalid constant pool cache
 356      * index.
 357      */
 358     native int constantPoolRemapInstructionOperandFromCache(HotSpotConstantPool constantPool, int cpci);
 359 
 360     /**
 361      * Gets the appendix object (if any) associated with the entry at index {@code cpi} in
 362      * {@code constantPool}.
 363      */
 364     native HotSpotObjectConstantImpl lookupAppendixInPool(HotSpotConstantPool constantPool, int cpi);
 365 
 366     /**
 367      * Installs the result of a compilation into the code cache.
 368      *
 369      * @param target the target where this code should be installed
 370      * @param compiledCode the result of a compilation
 371      * @param code the details of the installed CodeBlob are written to this object
 372      * @return the outcome of the installation which will be one of
 373      *         {@link HotSpotVMConfig#codeInstallResultOk},
 374      *         {@link HotSpotVMConfig#codeInstallResultCacheFull},
 375      *         {@link HotSpotVMConfig#codeInstallResultCodeTooLarge},
 376      *         {@link HotSpotVMConfig#codeInstallResultDependenciesFailed} or
 377      *         {@link HotSpotVMConfig#codeInstallResultDependenciesInvalid}.
 378      * @throws JVMCIError if there is something wrong with the compiled code or the associated
 379      *             metadata.
 380      */
 381     native int installCode(TargetDescription target, HotSpotCompiledCode compiledCode, InstalledCode code, long failedSpeculationsAddress, byte[] speculations);
 382 
 383     /**
 384      * Generates the VM metadata for some compiled code and copies them into {@code metaData}. This
 385      * method does not install anything into the code cache.
 386      *
 387      * @param target the target where this code would be installed
 388      * @param compiledCode the result of a compilation
 389      * @param metaData the metadata is written to this object
 390      * @return the outcome of the installation which will be one of
 391      *         {@link HotSpotVMConfig#codeInstallResultOk},
 392      *         {@link HotSpotVMConfig#codeInstallResultCacheFull},
 393      *         {@link HotSpotVMConfig#codeInstallResultCodeTooLarge},
 394      *         {@link HotSpotVMConfig#codeInstallResultDependenciesFailed} or
 395      *         {@link HotSpotVMConfig#codeInstallResultDependenciesInvalid}.
 396      * @throws JVMCIError if there is something wrong with the compiled code or the metadata
 397      */
 398     native int getMetadata(TargetDescription target, HotSpotCompiledCode compiledCode, HotSpotMetaData metaData);
 399 
 400     /**
 401      * Resets all compilation statistics.
 402      */
 403     native void resetCompilationStatistics();
 404 
 405     /**
 406      * Reads the database of VM info. The return value encodes the info in a nested object array
 407      * that is described by the pseudo Java object {@code info} below:
 408      *
 409      * <pre>
 410      *     info = [
 411      *         VMField[] vmFields,
 412      *         [String name, Long size, ...] vmTypeSizes,
 413      *         [String name, Long value, ...] vmConstants,
 414      *         [String name, Long value, ...] vmAddresses,
 415      *         VMFlag[] vmFlags




 355      * The behavior of this method is undefined if {@code ccpi} is an invalid constant pool cache
 356      * index.
 357      */
 358     native int constantPoolRemapInstructionOperandFromCache(HotSpotConstantPool constantPool, int cpci);
 359 
 360     /**
 361      * Gets the appendix object (if any) associated with the entry at index {@code cpi} in
 362      * {@code constantPool}.
 363      */
 364     native HotSpotObjectConstantImpl lookupAppendixInPool(HotSpotConstantPool constantPool, int cpi);
 365 
 366     /**
 367      * Installs the result of a compilation into the code cache.
 368      *
 369      * @param target the target where this code should be installed
 370      * @param compiledCode the result of a compilation
 371      * @param code the details of the installed CodeBlob are written to this object
 372      * @return the outcome of the installation which will be one of
 373      *         {@link HotSpotVMConfig#codeInstallResultOk},
 374      *         {@link HotSpotVMConfig#codeInstallResultCacheFull},
 375      *         {@link HotSpotVMConfig#codeInstallResultCodeTooLarge} or
 376      *         {@link HotSpotVMConfig#codeInstallResultDependenciesFailed}.

 377      * @throws JVMCIError if there is something wrong with the compiled code or the associated
 378      *             metadata.
 379      */
 380     native int installCode(TargetDescription target, HotSpotCompiledCode compiledCode, InstalledCode code, long failedSpeculationsAddress, byte[] speculations);
 381 
 382     /**
 383      * Generates the VM metadata for some compiled code and copies them into {@code metaData}. This
 384      * method does not install anything into the code cache.
 385      *
 386      * @param target the target where this code would be installed
 387      * @param compiledCode the result of a compilation
 388      * @param metaData the metadata is written to this object
 389      * @return the outcome of the installation which will be one of
 390      *         {@link HotSpotVMConfig#codeInstallResultOk},
 391      *         {@link HotSpotVMConfig#codeInstallResultCacheFull},
 392      *         {@link HotSpotVMConfig#codeInstallResultCodeTooLarge} or
 393      *         {@link HotSpotVMConfig#codeInstallResultDependenciesFailed}.

 394      * @throws JVMCIError if there is something wrong with the compiled code or the metadata
 395      */
 396     native int getMetadata(TargetDescription target, HotSpotCompiledCode compiledCode, HotSpotMetaData metaData);
 397 
 398     /**
 399      * Resets all compilation statistics.
 400      */
 401     native void resetCompilationStatistics();
 402 
 403     /**
 404      * Reads the database of VM info. The return value encodes the info in a nested object array
 405      * that is described by the pseudo Java object {@code info} below:
 406      *
 407      * <pre>
 408      *     info = [
 409      *         VMField[] vmFields,
 410      *         [String name, Long size, ...] vmTypeSizes,
 411      *         [String name, Long value, ...] vmConstants,
 412      *         [String name, Long value, ...] vmAddresses,
 413      *         VMFlag[] vmFlags


< prev index next >