You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

This page gives an overview of upstream projects. If you miss information or find mistakes, please edit.


GHC

The Glasgow Haskell Compiler (GHC) is an open-source compiler for the programming language Haskell.

RISC-V status

GHC does not support RISC-V, but there are people working on it. The porting attempts are tracked here:



Go

Go is a programming language designed for simplicity, reliability, and efficiency.

RISC-V status

RISC-V support has been mainlined with Go 1.14.


OpenJDK

OpenJDK is an open-source implementation of the Java Platform (Java SE).

RISC-V status

The OpenJDK RISC-V Port project has been approved by the openjdk community [1] and Fei Yang from Huawei Technologies is leading this new project now [2].

They have a project-specific repo for future development here [3].


This port supports RV64GV, shorthand for RV64IMAFDV ISA extensions, and covers the templateInterpreter, C1 and C2, excluding AOT/JVMCI. All existing GCs are

available on riscv64, including ZGC and ShenandoahGC. This port has passed jtreg tier{1,2,3,4} and jcstress tests on HiFive Unmatched board. SPECjbb & SPECjvm

benchmark tests are also carried out regularly. So it should be good enough to run most Java programs.


A JEP has been submitted in order to bring it upstream in JDK mainline [4], but that process will surely take some time.


[1] https://openjdk.java.net/projects/riscv-port

[2] https://openjdk.java.net/census#riscv-port

[3] https://github.com/openjdk/riscv-port/tree/riscv-port

[4] https://openjdk.java.net/jeps/8276797


PHP

PHP is a programming language targeting web development.

RISC-V status

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

Rust is a programming language designed for performance, reliability and productivity. It relies on LLVM for generating code.

RISC-V status

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

Rust Embedded is a project for enabling the Rust Programming Language on "Bare Metal" embedded systems.

RISC-V status

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

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

RISC-V status

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.

  • No labels