This page gives an overview of upstream projects. If you miss information or find mistakes, please edit.
The Glasgow Haskell Compiler (GHC) is an open-source compiler for the programming language Haskell.
GHC does not support RISC-V, but there are people working on it. The porting attempts are tracked here:
Go is a programming language designed for simplicity, reliability, and efficiency.
RISC-V support has been mainlined with Go 1.14.
OpenJDK is an open-source implementation of the Java Platform (Java SE).
Two independent teams started working on the OpenJDK port.
The BishengJDK team is lead by Yadong Wang. They have published the first HotSpot JIT port for RV64G.
The PLCT team is lead by Ningning Shi.
Both teams are collaborating and working on a common RISC-V port.
The status of OpenJDK/HotSport RV64G JIT porting could be found here. They are very optimistic to reach their 100x speed-up goal.
PHP is a programming language targeting web development.
The PHP interpreter works on RISC-V. However, certain features, such as the PCRE JIT, are not ported yet and there are no RISC-V specific optimizations in the codebase at the moment. Thus optimal performance cannot be achieved right now.
Rust is a programming language designed for performance, reliability and productivity. It relies on LLVM for generating code.
Rust has tier 2 support for RISC-V RV64 (riscv64gc-unknown-linux-gnu) since 1.42.0 (2020-03-12). RV32 is supported, but currenlty does not have a complete standard library.
Rust Embedded is a project for enabling the Rust Programming Language on "Bare Metal" embedded systems.
Since Embedded Rust does not require Rust’s standard library (no_std), more RISC-V platforms are available than for a full Rust runtime.
The following platforms are supported:
Bare RISC-V RV32
RV32I
RV32IMAC
RV32IMC
Bare RISC-V RV64
RV64IMAFDC
RV64IMAC
There is also a quickstart guide to build Rust applications for HiFive1 boards:
V8 is a JavaScript and WebAssembly engine with a strong focus on performance.
V8 is used a JavaScript runtime for other runtimes/projects, such as
Google Chrome Browser
Chromium Browser
Node.js
PLCT is working on the RISC-V port. The team is lead by Peng Wu. She and her team have managed to get their RV64GCV port mainline in February 2021. The project’s 2021 roadmap can be found here.