Skip to content

Commit 28db4fd

Browse files
[GR-53616] Improve reference docs for espresso.
PullRequest: graal/17579
2 parents 46b6dd4 + 7d0ae17 commit 28db4fd

File tree

5 files changed

+34
-35
lines changed

5 files changed

+34
-35
lines changed

docs/reference-manual/java-on-truffle/FAQ.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@ In the GraalVM family, this is similar to WebAssembly or the LLVM interpreter: w
1515

1616
### Does Java running on Truffle run on the HotSpot JVM too?
1717
Like other languages implemented with the [Truffle framework](../../../truffle/docs/README.md), it can run both as a native executable or on top of the HotSpot JVM.
18-
Running on top of the HotSpot JVM is currently only possible on Linux.
19-
We plan to extend this capability to macOS and Windows platforms.
18+
Running on top of the HotSpot JVM is currently only possible on Linux x64 and macOS x64.
19+
We plan to extend this capability to other platforms.
2020

2121
### Does running Java on Truffle require the HotSpot JVM?
2222

2323
No, it doesn't, it works fine as a native executable.
24-
Java on Truffle does require a standard core Java library (the _rt.jar_ library for Java 8 or the `lib/modules` file for Java 11 and Java 17 as well as the associated native libraries: `libjava`, `libnio`, etc.)
24+
Java on Truffle does require a standard core Java library (the _rt.jar_ library for Java 8 or the `lib/modules` file for Java 11+ as well as the associated native libraries: `libjava`, `libnio`, etc.).
2525

2626
### Running Java on GraalVM already brings the highest level of optimization, what benefits will Java on Truffle give me?
2727
- Java on Truffle will inherit the extensive tooling provided by the Truffle framework. This means that for the things like code coverage and profiling you would no longer need to rely on external tools.
@@ -33,8 +33,7 @@ Java on Truffle does require a standard core Java library (the _rt.jar_ library
3333
Java on Truffle is an implementation of the Java Virtual Machine. It is open source and is offered as free software under the [GNU General Public License version two (GPLv2)](https://github.com/oracle/graal/blob/master/tools/LICENSE).
3434

3535
### Can I run Java on Truffle in production?
36-
Yes, you can. Java on Truffle is still a prototype, but it already passes the Java Compatibility Kit (JCK or TCK for Java SE) 8, 11, 17, and 21.
37-
It may undergo significant improvements.
36+
Yes, you can on Linux x64. Support for other platforms is still experimental.
3837

3938
### What performance can I expect from executing Java on Truffle?
4039
Performance is currently 2-3x slower than the HotSpot JVM.

docs/reference-manual/java-on-truffle/ImplementationDetails.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ permalink: /reference-manual/java-on-truffle/implementation/
99

1010
Java on Truffle operates, like other languages implemented with Truffle, both as a native executable or on top of HotSpot (currently possible on Linux only).
1111
In the first case, when the Java on Truffle runtime is compiled to a native executable, it does not require HotSpot to run Java.
12-
However it requires a standard core Java library (the _rt.jar_ library for Java 8 or the _lib/modules file_ for Java 11 as well as the associated native libraries: `libjava`, `libnio`, etc.).
12+
However, it requires a standard core Java library (the _rt.jar_ library for Java 8 or the _lib/modules file_ for Java 11+ as well as the associated native libraries: `libjava`, `libnio`, etc.).
1313

1414
Java on Truffle is a minified Java VM that implements all core components of a VM including:
1515
* Bytecode interpreter

docs/reference-manual/java-on-truffle/README.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ permalink: /reference-manual/java-on-truffle/
88
# Java on Truffle
99

1010
Using GraalVM, you can run Java applications normally [on the JVM](../java/README.md), in [Native Image](../native-image/README.md), and now on Truffle.
11-
Java on Truffle is an implementation of the Java Virtual Machine Specification, [Java SE 8](https://docs.oracle.com/javase/specs/jvms/se8/html/index.html) and [Java SE 11](https://docs.oracle.com/javase/specs/jvms/se11/html/index.html), built upon GraalVM as a Truffle interpreter.
12-
It is a minified Java VM that includes all core components of a VM, implements the same API as the Java Runtime Environment library (`libjvm.so`), and reuses all JAR files and native libraries from GraalVM.
11+
Java on Truffle is an implementation of the Java Virtual Machine Specification, [Java SE 8](https://docs.oracle.com/javase/specs/jvms/se8/html/index.html), [Java SE 11](https://docs.oracle.com/javase/specs/jvms/se11/html/index.html), [Java SE 17](https://docs.oracle.com/javase/specs/jvms/se17/html/index.html), and [Java SE 21](https://docs.oracle.com/javase/specs/jvms/se21/html/index.html) built upon GraalVM as a Truffle interpreter.
12+
It is a minified Java VM that includes all core components of a VM, implements the same API as the Java Runtime Environment library (`libjvm.so`), and reuses the existing standard library.
1313
See the [Implementation Details](ImplementationDetails.md) for more information.
1414
The project name behind this implementation is "Espresso".
1515
Its open source version is available on [GitHub](https://github.com/oracle/graal/tree/master/espresso).
@@ -19,7 +19,7 @@ Now Java can be executed by the same principle as other languages in the GraalVM
1919
Besides complete language interoperability, with Java on Truffle you can:
2020

2121
- run Java bytecode in a separate context from the host Java VM.
22-
- run either a Java 8, Java 11, Java 17, Java 21, or Java 22 guest JVM, allowing to embed e.g. a Java 17 context in a Java 22 application, by using [GraalVM’s Polyglot API](https://www.graalvm.org/sdk/javadoc/org/graalvm/polyglot/package-summary.html).
22+
- run either a Java 8, Java 11, Java 17, or Java 21 guest JVM, allowing to embed e.g. a Java 17 context in a Java 22 application, by using [GraalVM’s Polyglot API](https://www.graalvm.org/sdk/javadoc/org/graalvm/polyglot/package-summary.html).
2323
- leverage the whole stack of tools provided by the Truffle framework, not previously available for Java.
2424
- have an improved isolation of the host Java VM and the Java program running on Truffle, so you can run less trusted guest code.
2525
- run in the context of a native executable while still allowing dynamically-loaded bytecodes.
@@ -28,16 +28,16 @@ Java on Truffle passes the Java Compatibility Kit (JCK or TCK for Java SE).
2828

2929
## Getting Started
3030

31-
Java on Truffle (known as Espresso) is available as a standalone distribution.
31+
Java on Truffle (known as Espresso) is available as a standalone distribution that provides a Java 21 environment.
3232
You can download a standalone based on Oracle GraalVM or GraalVM Community Edition.
3333

3434
1. Download the Java on Truffle (Espresso) 24.0 standalone for your operating system:
3535

36-
* [Linux x64](https://gds.oracle.com/download/espresso/archive/espresso-java21-24.0.0-linux-amd64.tar.gz)
37-
* [Linux AArch64](https://gds.oracle.com/download/espresso/archive/espresso-java21-24.0.0-linux-aarch64.tar.gz)
38-
* [macOS x64](https://gds.oracle.com/download/espresso/archive/espresso-java21-24.0.0-macos-amd64.tar.gz)
39-
* [macOS AArch64](https://gds.oracle.com/download/espresso/archive/espresso-java21-24.0.0-macos-aarch64.tar.gz)
40-
* [Windows x64](https://gds.oracle.com/download/espresso/archive/espresso-java21-24.0.0-windows-amd64.zip)
36+
* [Linux x64](https://gds.oracle.com/download/espresso/archive/espresso-java21-24.0.1-linux-amd64.tar.gz)
37+
* [Linux AArch64](https://gds.oracle.com/download/espresso/archive/espresso-java21-24.0.1-linux-aarch64.tar.gz)
38+
* [macOS x64](https://gds.oracle.com/download/espresso/archive/espresso-java21-24.0.1-macos-amd64.tar.gz)
39+
* [macOS AArch64](https://gds.oracle.com/download/espresso/archive/espresso-java21-24.0.1-macos-aarch64.tar.gz)
40+
* [Windows x64](https://gds.oracle.com/download/espresso/archive/espresso-java21-24.0.1-windows-amd64.zip)
4141

4242
2. Unzip the archive:
4343

docs/reference-manual/llvm/README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,17 @@ You can download a standalone based on Oracle GraalVM or GraalVM Community Editi
2020
1. Download the LLVM 24.0 standalone for your operating system:
2121

2222
- Native standalone
23-
* [Linux x64](https://gds.oracle.com/download/llvm/archive/llvm-24.0.0-linux-amd64.tar.gz)
24-
* [Linux AArch64](https://gds.oracle.com/download/llvm/archive/llvm-24.0.0-linux-aarch64.tar.gz)
25-
* [macOS x64](https://gds.oracle.com/download/llvm/archive/llvm-24.0.0-macos-amd64.tar.gz)
26-
* [macOS AArch64](https://gds.oracle.com/download/llvm/archive/llvm-24.0.0-macos-aarch64.tar.gz)
27-
* [Windows x64](https://gds.oracle.com/download/llvm/archive/llvm-24.0.0-windows-amd64.zip)
23+
* [Linux x64](https://gds.oracle.com/download/llvm/archive/llvm-24.0.1-linux-amd64.tar.gz)
24+
* [Linux AArch64](https://gds.oracle.com/download/llvm/archive/llvm-24.0.1-linux-aarch64.tar.gz)
25+
* [macOS x64](https://gds.oracle.com/download/llvm/archive/llvm-24.0.1-macos-amd64.tar.gz)
26+
* [macOS AArch64](https://gds.oracle.com/download/llvm/archive/llvm-24.0.1-macos-aarch64.tar.gz)
27+
* [Windows x64](https://gds.oracle.com/download/llvm/archive/llvm-24.0.1-windows-amd64.zip)
2828
- JVM standalone
29-
* [Linux x64](https://gds.oracle.com/download/llvm/archive/llvm-jvm-24.0.0-linux-amd64.tar.gz)
30-
* [Linux AArch64](https://gds.oracle.com/download/llvm/archive/llvm-jvm-24.0.0-linux-aarch64.tar.gz)
31-
* [macOS x64](https://gds.oracle.com/download/llvm/archive/llvm-jvm-24.0.0-macos-amd64.tar.gz)
32-
* [macOS AArch64](https://gds.oracle.com/download/llvm/archive/llvm-jvm-24.0.0-macos-aarch64.tar.gz)
33-
* [Windows x64](https://gds.oracle.com/download/llvm/archive/llvm-jvm-24.0.0-windows-amd64.zip)
29+
* [Linux x64](https://gds.oracle.com/download/llvm/archive/llvm-jvm-24.0.1-linux-amd64.tar.gz)
30+
* [Linux AArch64](https://gds.oracle.com/download/llvm/archive/llvm-jvm-24.0.1-linux-aarch64.tar.gz)
31+
* [macOS x64](https://gds.oracle.com/download/llvm/archive/llvm-jvm-24.0.1-macos-amd64.tar.gz)
32+
* [macOS AArch64](https://gds.oracle.com/download/llvm/archive/llvm-jvm-24.0.1-macos-aarch64.tar.gz)
33+
* [Windows x64](https://gds.oracle.com/download/llvm/archive/llvm-jvm-24.0.1-windows-amd64.zip)
3434

3535
2. Unzip the archive:
3636

docs/reference-manual/wasm/README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@ You can download a standalone based on Oracle GraalVM or GraalVM Community Editi
1818

1919
1. Download the Wasm 24.0 standalone for your operating system:
2020
- Native standalone
21-
* [Linux x64](https://gds.oracle.com/download/wasm/archive/graalwasm-24.0.0-linux-amd64.tar.gz)
22-
* [Linux AArch64](https://gds.oracle.com/download/wasm/archive/graalwasm-24.0.0-linux-aarch64.tar.gz)
23-
* [macOS x64](https://gds.oracle.com/download/wasm/archive/graalwasm-24.0.0-macos-amd64.tar.gz)
24-
* [macOS AArch64](https://gds.oracle.com/download/wasm/archive/graalwasm-24.0.0-macos-aarch64.tar.gz)
25-
* [Windows x64](https://gds.oracle.com/download/wasm/archive/graalwasm-24.0.0-windows-amd64.zip)
21+
* [Linux x64](https://gds.oracle.com/download/wasm/archive/graalwasm-24.0.1-linux-amd64.tar.gz)
22+
* [Linux AArch64](https://gds.oracle.com/download/wasm/archive/graalwasm-24.0.1-linux-aarch64.tar.gz)
23+
* [macOS x64](https://gds.oracle.com/download/wasm/archive/graalwasm-24.0.1-macos-amd64.tar.gz)
24+
* [macOS AArch64](https://gds.oracle.com/download/wasm/archive/graalwasm-24.0.1-macos-aarch64.tar.gz)
25+
* [Windows x64](https://gds.oracle.com/download/wasm/archive/graalwasm-24.0.1-windows-amd64.zip)
2626
- JVM standalone
27-
* [Linux x64](https://gds.oracle.com/download/wasm/archive/graalwasm-jvm-24.0.0-linux-amd64.tar.gz)
28-
* [Linux AArch64](https://gds.oracle.com/download/wasm/archive/graalwasm-jvm-24.0.0-linux-aarch64.tar.gz)
29-
* [macOS x64](https://gds.oracle.com/download/wasm/archive/graalwasm-jvm-24.0.0-macos-amd64.tar.gz)
30-
* [macOS AArch64](https://gds.oracle.com/download/wasm/archive/graalwasm-jvm-24.0.0-macos-aarch64.tar.gz)
31-
* [Windows x64](https://gds.oracle.com/download/wasm/archive/graalwasm-jvm-24.0.0-windows-amd64.zip)
27+
* [Linux x64](https://gds.oracle.com/download/wasm/archive/graalwasm-jvm-24.0.1-linux-amd64.tar.gz)
28+
* [Linux AArch64](https://gds.oracle.com/download/wasm/archive/graalwasm-jvm-24.0.1-linux-aarch64.tar.gz)
29+
* [macOS x64](https://gds.oracle.com/download/wasm/archive/graalwasm-jvm-24.0.1-macos-amd64.tar.gz)
30+
* [macOS AArch64](https://gds.oracle.com/download/wasm/archive/graalwasm-jvm-24.0.1-macos-aarch64.tar.gz)
31+
* [Windows x64](https://gds.oracle.com/download/wasm/archive/graalwasm-jvm-24.0.1-windows-amd64.zip)
3232

3333
2. Unzip the archive:
3434

0 commit comments

Comments
 (0)