DescriptionGraalVM is a state-of-the-art polyglot VM for Java and other static and dynamic languages which allows compiling Java Scala and Kotlin programs ahead-of-time to native machine code and can run programs written in other languages such as JavaScript Python and WebAssembly in JIT mode. GraalVM is integrated with the Oracle Database and allows executing native and just-in-time-compiled workloads within the Oracle Database. The advantage of ahead-of-time compilation is improved startup time and reduced memory footprint because programs do not have to be compiled during their execution. Currently GraalVM takes the input programs in the form of Java bytecode and produces efficient binaries that start fast and consume a minimal amount of memory. However it is increasingly popular to ship software also using other platform-independent formats such as WebAssembly and GraalVM is in principle applicable to ahead-of-time compilation of programs compiled to formats other than just Java bytecode.
The goal of this project is to implement a new frontend for Native Image that parses WebAssembly modules and converts them to Graal IR thereby allowing the rest of the compilation pipeline in GraalVM to produce native binaries just as it currently does for Java. The end-goal is to have a production-ready state-of-the-art ahead-of-time for WebAssembly which leverages all the advantages of the existing compilation technology in GraalVM.
To learn more visit: The person stepping into this role is expected to complete the internship using a wide and diverse set of skills.
- Good understanding of Java compilers program translation compilation technology in general internals of runtime environments and of the WebAssembly format
- Good coding skills in Java and understanding of the Java ecosystem
- Experience working in teams of software developers and collaborating on large software projects
- Experience with test-driven development
- Experience in working on research projects and on prototyping new compiler technologies
- Willingness to learn how new technologies work and the ability to quickly get acquainted with complex software stacks
- Familiarity with GraalVM and understanding of the Oracle Database and database systems is a plus
QualificationsCareer Level - IC0
DescriptionGraalVM is a state-of-the-art polyglot VM for Java and other static and dynamic languages which allows compiling Java Scala and Kotlin programs ahead-of-time to native machine code and can run programs written in other languages such as JavaScript Python and WebAssembly in JIT mode. Graal...
DescriptionGraalVM is a state-of-the-art polyglot VM for Java and other static and dynamic languages which allows compiling Java Scala and Kotlin programs ahead-of-time to native machine code and can run programs written in other languages such as JavaScript Python and WebAssembly in JIT mode. GraalVM is integrated with the Oracle Database and allows executing native and just-in-time-compiled workloads within the Oracle Database. The advantage of ahead-of-time compilation is improved startup time and reduced memory footprint because programs do not have to be compiled during their execution. Currently GraalVM takes the input programs in the form of Java bytecode and produces efficient binaries that start fast and consume a minimal amount of memory. However it is increasingly popular to ship software also using other platform-independent formats such as WebAssembly and GraalVM is in principle applicable to ahead-of-time compilation of programs compiled to formats other than just Java bytecode.
The goal of this project is to implement a new frontend for Native Image that parses WebAssembly modules and converts them to Graal IR thereby allowing the rest of the compilation pipeline in GraalVM to produce native binaries just as it currently does for Java. The end-goal is to have a production-ready state-of-the-art ahead-of-time for WebAssembly which leverages all the advantages of the existing compilation technology in GraalVM.
To learn more visit: The person stepping into this role is expected to complete the internship using a wide and diverse set of skills.
- Good understanding of Java compilers program translation compilation technology in general internals of runtime environments and of the WebAssembly format
- Good coding skills in Java and understanding of the Java ecosystem
- Experience working in teams of software developers and collaborating on large software projects
- Experience with test-driven development
- Experience in working on research projects and on prototyping new compiler technologies
- Willingness to learn how new technologies work and the ability to quickly get acquainted with complex software stacks
- Familiarity with GraalVM and understanding of the Oracle Database and database systems is a plus
QualificationsCareer Level - IC0
View more
View less