Skip to content

Releases: ganadist/graalvm-ce-builds

23.1.0

15 Sep 04:45
Compare
Choose a tag to compare

Description

These binaries contain workarounds for

Build performance

kotlin_build_performance

Tested with https://github.com/ganadist/kotlin_build_performance/tree/af2dc841

rm -rf kotlin/bulid
pkill java
./gradlew :kotlin:assemble --no-build-cache --no-configuration-cache --no-daemon
OpenJDK 17 OpenJDK 21 GraalVM 22.2 JDK17 GraalVM 23.0 JDK17 (here) GraalVM 23.1 JDK21 (here)
:kotlin:assemble 101s 100s 88s 90s 90s

Androidx

OpenJDK 17 GraalVM 23.0 JDK17 (here)
assembleDebug 10m 8s 9m 43s
testDebugUnitTest 6m 49s 6m 24s

OSX

Recent GraalVM has some performance issue on Apple Silicon.
Please see oracle/graal#6600

build

build from https://gist.github.com/ganadist/3e38cfe88fe1346c46ca1ee964e45dd9

GraalVM 23.0.1 JDK17

Graal : oracle/graal@0d67c73
labs-openjdk-17 : https://github.com/graalvm/labs-openjdk-17/releases/tag/jvmci-23.0-b15

GraalVM 23.1 JDK21

Graal : oracle/graal@e0856c9
labs-openjdk-21 : https://github.com/graalvm/labs-openjdk-21/releases/tag/jvmci-23.1-b15

  • Note : kotlin compiler 1.9.10 or below is not compatible with Java 21, yet.

GraalVM CE 22.1-dev JDK17 for Apple Silicon

17 Feb 10:31
Compare
Choose a tag to compare

This binary was created from oracle/graal@19dbed066

How to build

#!/bin/bash
# vim: ts=2 sw=2 sts=2 et ai
set -e

BREW_OPENJDK17=/opt/homebrew/Cellar/openjdk/17.0.2/libexec/openjdk.jdk/Contents/Home/

DIRNAME=$(dirname $0)
DIRNAME=$(cd $DIRNAME;pwd)
export MX_HOME=${DIRNAME}/mx
export MX_PYTHON=python3
export PATH=$MX_HOME:$PATH

fetch() {
  for DIR in mx graal labs-openjdk-17
  do
    (cd "$DIRNAME"/"$DIR" && git fetch origin && git checkout origin/master && git clean -ffdx)
  done
}

build_jdk() {
  local SRC_DIR=$1
  local JDK_VERSION=$2
  local BOOT_JDK=$3

  pushd ${DIRNAME}/${SRC_DIR}
  JVMCI_VERSION=$(git log --decorate | grep -E 'tag: jvmci-\d+\.\d+-b\d+' | sed 's/.*(\(tag: .*\))/\1/g' | tr ',' '\n' | grep 'tag:' | sed 's/.*tag: \(jvmci-[^,)]*\).*/\1/g' | sort -nr | head -1)

  bash configure \
    --with-conf-name=macos-aarch64 \
    --openjdk-target=aarch64-apple-darwin  \
    --with-version-opt="$JVMCI_VERSION" \
    --with-version-pre= \
    '--with-vendor-name=GraalVM Community' \
    --with-vendor-url=https://www.graalvm.org/ \
    --with-vendor-bug-url=https://github.com/oracle/graal/issues \
    --with-vendor-vm-bug-url=https://github.com/oracle/graal/issues \
    --with-boot-jdk="${BOOT_JDK}" \
    --with-default-make-target="product-bundles" \
    --with-zlib=system
  make CONF_NAME=macos-aarch64
  export JAVA_HOME=$PWD/build/macos-aarch64/images/jdk-bundle/jdk-${JDK_VERSION}.jdk/Contents/Home
  popd
}

build_graal() {
  pushd ${DIRNAME}/graal
  mx \
    --primary-suite-path $PWD/compiler \
    --J @"-Xmx2g" \
    --java-home=$JAVA_HOME \
    gate \
    --strict-mode \
    --tags bootstraplite,build
  popd
}

fetch
build_jdk labs-openjdk-17 \
  17.0.3 \
  /opt/homebrew/Cellar/openjdk/17.0.2/libexec/openjdk.jdk/Contents/Home/

build_graal

OSX 12.2 Installation

$ curl -LJO  https://github.com/ganadist/graalvm-ce-builds/releases/download/vm-22.0.0.2/graalvm-java17-22.1.0-dev-osx-aarch64.tar.gz
$ sudo tar xf graalvm-java17-22.1.0-dev-osx-aarch64.tar.gz \
    -C /Library/Java/JavaVirtualMachines
$ sudo xattr -r -d com.apple.quarantine \
   /Library/Java/JavaVirtualMachines/graalvm-java17-22.1.0-dev
$ /Library/Java/JavaVirtualMachines/graalvm-java17-22.1.0-dev/Contents/Home/bin/java -version
openjdk version "17.0.3" 2022-04-19
OpenJDK Runtime Environment GraalVM 22.1.0-dev (build 17.0.3+0-jvmci-22.1-b01)
OpenJDK 64-Bit Server VM GraalVM 22.1.0-dev (build 17.0.3+0-jvmci-22.1-b01, mixed mode, sharing)

Jetbrains Runtime with GraalVM for Android Studio 4.0

14 Jun 14:43
771d7a8
Compare
Choose a tag to compare

DO NOT USE THIS Release for Android Studio 4.2

Description

  • Jetbrains Runtime is Java Runtime for IntelliJ platform.
    • This includes many improvements for modern desktop such as
      • Subpixel Anti-Aliasing
      • HiDPI Supports
      • Font Ligatures
    • Also this includes incremental build support for Room compiler
    • Most improvements are on Java APIs implementation.
  • GraalVM can run java program faster than OpenJDK about 10%-20%
  • This is a combination of Jetbrains Runtime and GraalVM, and brings improvements of both sides.

OSX 10.15(Catalina) installation

$ curl -LJO https://github.com/ganadist/graalvm-ce-builds/releases/download/vm-20.1.0/graalvm-ce-java8-darwin-amd64-20.1.0-jetbrains.tar.gz
$ sudo tar xf graalvm-ce-java8-darwin-amd64-20.1.0-jetbrains.tar.gz \
    -C /Library/Java/JavaVirtualMachines
$ sudo xattr -r -d com.apple.quarantine \
    /Library/Java/JavaVirtualMachines/graalvm-ce-java8-20.1.0-jetbrains
$ echo -n /Library/Java/JavaVirtualMachines/graalvm-ce-java8-20.1.0-jetbrains \
     > ~/Library/Preferences/AndroidStudio4.0/studio.jdk

And (re)start your Android Studio.

Restore JDK for Android Studio

If you want to restore your Android Studio JDK, Just run following command

$ rm -f ~/Library/Preferences/AndroidStudio4.0/studio.jdk

And (re)start your Android Studio.

Linux installation (For CentOS 7.6)

$ curl -LJO https://github.com/ganadist/graalvm-ce-builds/releases/download/vm-20.1.0/graalvm-ce-java8-linux-centos76-amd64-20.1.0-jetbrains.tar.gz
$ sudo mkdir -p /usr/lib/jvm
$ sudo tar xf graalvm-ce-java8-linux-centos76-amd64-20.1.0-jetbrains.tar.gz -C /usr/lib/jvm
$ echo -n /usr/lib/jvm/java-8-graalvm-jetbrains > ~/.AndroidStudio4.0/config/studio.jdk

And (re)start your Android Studio.

After Android Studio is started up

You can see About Android Studio splash window whether GraalVM is applied on Android Studio.
image

Setup JVM for Gradle wrapper on Android Studio

And If you want to apply this on Gradle Build System, please select
File -> Other Settings -> Default Project Structures... -> JDK location
And select directory location which you installed this JDK

If you have interest about this,

Please go AOSP issue tracker, and give star to appeal to Google. ;D

These binaries are built by

$ git clone https://github.com/graalvm/graal-jvmci-8
$ git clone https://github.com/graalvm/mandrel -b 20.1
$ git clone https://github.com/graalvm/mx

$ export JDK8_UPDATE_VERSION="242"
$ export JDK8_UPDATE_VERSION_SUFFIX=""
$ export JAVA_HOME=~/tools/android-studio-4.0/jre
$ export MX_HOME=$PWD/mx
$ export MX_PYTHON=python3
$ export PATH=$MX_HOME:$PATH

$ cd graal-jvmci-8
$ export JVMCI_VERSION="jvmci-20.1-b02"
$ git checkout $JVMCI_VERSION

# Most improvements of IntelliJ platform can be unlocked by JVM vendor name
$ sed -i 's/GraalVM Community/JetBrains s.r.o/g' src/share/vm/runtime/vm_version.cpp
$ mx --java-home $JAVA_HOME build
$ export JAVA_HOME=$PWD/openjdk1.8.0_242-release/linux-amd64/product

$ cd ../mandrel
$ mx --primary-suite-path $PWD/compiler --J @"-Xmx2g" --java-home=$JAVA_HOME gate --strict-mode --tags bootstraplite,build
$ sdk/mxbuild/linux-amd64/GRAALVM_3398AB5293_JAVA8/graalvm-3398ab5293-java8-20.1.0/bin/java -version
openjdk version "1.8.0_242-release"
OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
OpenJDK 64-Bit Server VM GraalVM 20.1.0 (build 25.242-b3-jvmci-20.1-b02, mixed mode)


23.1.2

08 Apr 12:56
771d7a8
Compare
Choose a tag to compare

23.0.2

22 Oct 16:16
771d7a8
Compare
Choose a tag to compare