ethereum-optimism / ethereum-optimism/asterisc

Use static / dynamic binary translation for RISCV to run the program in native machine codes

Open
#92 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
109
Forks
28
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**

RISCV program running in the interpreter is very slow.

**Describe the solution you'd like**

Use static / dynamic binary translation for RISCV to run the program in native machine codes.
Use qemu and qemu plugin to insert function pointer after each RISCV instruction to check whether it is at the snapshot point, and then compute the hash function in native machine code to support the VM commitment. (no need to mapping state)
Because running native machine codes is way faster than running RISCV code in the interpreter.
Looking for anyone interested in this optimization to work with me.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.