JVMCI 0.57 released
doug.simon at oracle.com
Sun Mar 24 10:19:45 UTC 2019
> On 23 Mar 2019, at 15:59, David Lloyd <david.lloyd at redhat.com> wrote:
> Is there any possibility of the JVMCI API classes being released as a
> Maven artifact? It would allow development of software which can
> optionally consume JVMCI without requiring a JVMCI JDK for building.
I suspect that is a very small software niche. Graal is the only consumer of JVMCI I’m currently aware of and it makes very little sense to develop Graal without a JVMCI JDK.
Note also that there is not just one current JVMCI version but potentially one per JDK version that Graal supports. Graal can (and does) use differing JVMCI API using versioned sources (https://github.com/graalvm/mx#versioning-sources-for-different-jdk-releases). For example, the new HotSPOTJVMCIRuntime.excludeFromJVMCICompilation method added in jvmci-0.57 is used from JVMCI JDK8 <https://github.com/oracle/graal/blob/b3ec4830e0295561bde16740b35efd0bbc4cfccf/compiler/src/org.graalvm.compiler.hotspot.jdk8/src/org/graalvm/compiler/hotspot/IsGraalPredicate.java#L44> specific code.
What would a compelling use case be for developing against JVMCI without actually executing the artifact?
> On Fri, Mar 22, 2019 at 4:47 PM Doug Simon <doug.simon at oracle.com> wrote:
>> Changes in JVMCI 0.57 include:
>> • GR-13902: Replace adjustCompilationLevel mechanism.
>> • GR-14526: Replace JVMCINMethodData constructor and operator new with initialize.
>> • GR-14509: Fixed order of method mirror invalidation.
>> • GR-14475: Fix support for jvmci.InitTimer.
>> • GR-14105: Remove uses of system properties.
>> The GR-13902 change introduced new API for implementing -Dgraal.CompileGraalWithC1Only=true without requiring a Java up-call from the VM when scheduling a method for compilation. This fixes a number of subtle bugs and unexpected VM behavior (see https://bugs.openjdk.java.net/browse/JDK-8219403). As a result of the API change, you need to update Graal to commit b3ec4830e02 <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_oracle_graal_commit_b3ec4830e0295561bde16740b35efd0bbc4cfccf&d=DwIFaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=BmNY5KuefACTr_P43s8fXOXgNDkDiqlviyafeiVaP18&m=ZXOFIL3cRL2FIe2PYoKmuGRJYgPnkR05P1BNCwV6zeo&s=nZKyMkxCPpDHBF_tfvFkz-N4MF9QNYQsj5aUzT-CrEU&e=> or later when using this JVMCI release.
>> The OpenJDK based binaries are at https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_graalvm_openjdk8-2Djvmci-2Dbuilder_releases_tag_jvmci-2D0.57&d=DwIFaQ&c=RoP1YumCXCgaWHvlZYR8PZh8Bv7qIrMUB65eapI_JnE&r=BmNY5KuefACTr_P43s8fXOXgNDkDiqlviyafeiVaP18&m=ZXOFIL3cRL2FIe2PYoKmuGRJYgPnkR05P1BNCwV6zeo&s=jnieBzEva0XUzWqVXNZ2O1DmNRW1FW-w6FE3HPAp1fk&e=
>> The OracleJDK based “labsjdk” binaries will be available soon at https://www.oracle.com/technetwork/oracle-labs/program-languages/downloads/index.html (in the lower half of the page).
> - DML
More information about the graal-dev