All Projects → dinfuehr → Dora

dinfuehr / Dora

Licence: mit
Dora VM

Programming Languages

rust
11053 projects
assembly
5116 projects

Projects that are alternatives of or similar to Dora

Asmjit
Machine code generation for C++
Stars: ✭ 2,874 (+674.66%)
Mutual labels:  compiler, jit, x86-64, aarch64
Dynarmic
An ARM dynamic recompiler.
Stars: ✭ 475 (+28.03%)
Mutual labels:  compiler, jit, x86-64
Mir
A light-weight JIT compiler based on MIR (Medium Internal Representation)
Stars: ✭ 1,075 (+189.76%)
Mutual labels:  compiler, x86-64, aarch64
AheuiJIT
Aheui JIT compiler for PC and web
Stars: ✭ 27 (-92.72%)
Mutual labels:  x86-64, jit, aarch64
Jit Compiler
JIT compiler in Go
Stars: ✭ 70 (-81.13%)
Mutual labels:  compiler, jit, x86-64
Wag
WebAssembly compiler implemented in Go
Stars: ✭ 177 (-52.29%)
Mutual labels:  compiler, x86-64, aarch64
Minijit
A basic x86-64 JIT compiler written from scratch in stock Python
Stars: ✭ 185 (-50.13%)
Mutual labels:  compiler, jit, x86-64
kempe
Kempe is a compiled stack-based language
Stars: ✭ 54 (-85.44%)
Mutual labels:  x86-64, aarch64
fp256
An efficient library for 256 bit integer arithmetic
Stars: ✭ 21 (-94.34%)
Mutual labels:  x86-64, aarch64
pinktrace
Pink's Tracing Library
Stars: ✭ 20 (-94.61%)
Mutual labels:  x86-64, aarch64
insaneworks-packer-template
CentOS 7-8 8Stream / AlmaLinux 8 / FreeBSD 12 - 13 x64 + VirtualBox / VMWare for Packer Template + FreeBSD 13 / AlmaLinux 9 + Parallels
Stars: ✭ 38 (-89.76%)
Mutual labels:  x86-64, aarch64
Opensmalltalk Vm
Cross-platform virtual machine for Squeak, Pharo, Cuis, and Newspeak.
Stars: ✭ 345 (-7.01%)
Mutual labels:  jit, x86-64
docker-dns-ad-blocker
A lightweight dnsmasq DNS server to block traffic to known ad servers with optional DNSCrypt support. Supports x86_64 and Raspberry Pi (armhf).
Stars: ✭ 78 (-78.98%)
Mutual labels:  x86-64, aarch64
peekaboo
An standalone execution trace library built on DynamoRIO.
Stars: ✭ 17 (-95.42%)
Mutual labels:  x86-64, aarch64
ArvernOS
💾 A minimal, experimental and "toy" monolithic kernel to learn about OS development // Work In Progress
Stars: ✭ 313 (-15.63%)
Mutual labels:  x86-64, aarch64
profiler-api
The portable version of JetBrains profiler API for .NET Framework / .NET Core / .NET / .NET Standard / Mono
Stars: ✭ 21 (-94.34%)
Mutual labels:  x86-64, aarch64
dynarmic
An ARM dynamic recompiler.
Stars: ✭ 675 (+81.94%)
Mutual labels:  x86-64, jit
kcs
Scripting in C with JIT(x64)/VM.
Stars: ✭ 25 (-93.26%)
Mutual labels:  x86-64, jit
interp
Interpreter experiment. Testing dispatch methods: Switching, Direct/Indirect Threaded Code, Tail-Calls and Inlining
Stars: ✭ 32 (-91.37%)
Mutual labels:  x86-64, aarch64
novusk
A kernel written in Rust
Stars: ✭ 61 (-83.56%)
Mutual labels:  x86-64, aarch64

Dora

Join the chat at https://gitter.im/dora-lang/dora Actions Status

JIT-compiler for the programming language Dora implemented in Rust. Works on Linux, Windows and macOS (x86_64 and aarch64). Build with:

Dependencies

You need to install these dependencies:

# on Fedora
$ sudo dnf install ruby

# on Ubuntu/Debian
$ sudo apt install ruby

Ruby is used for running tests.

Compilation & Testing

Install Rust nightly through rustup.rs. Use the specific nightly version listed in the rust-toolchain file. Dora simply uses cargo for building:

# build in debug and release mode
cargo build && cargo build --release

# run all tests in debug and release mode
tools/test && tools/test-release # Linux and macOS
tools/test.bat && tools/test-release.bat # Windows

Working on the standard library

The standard library (stdlib) is included into the dora-binary at compile time. Changing the stdlib therefore requires recompiling Dora, even though the stdlib is written in Dora. In order to avoid this recompilation when working on the stdlib, simply pass your working directory of the stdlib to Dora using the --stdlib argument. With this parameter, Dora loads the stdlib from the specified directory instead of the one bundled in the executable.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].