* Rewrite interpreter generically This change re-implements the Cranelift interpreter to use generic values; this makes it possible to do abstract interpretation of Cranelift instructions. In doing so, the interpretation state is extracted from the `Interpreter` structure and is accessed via a `State` trait; this makes it possible to not only more clearly observe the interpreter's state but also to interpret using a dummy state (e.g. `ImmutableRegisterState`). This addition made it possible to implement more of the Cranelift instructions (~70%, ignoring the x86-specific instructions). * Replace macros with closures
26 lines
828 B
TOML
26 lines
828 B
TOML
[package]
|
|
name = "cranelift-interpreter"
|
|
version = "0.67.0"
|
|
authors = ["The Cranelift Project Developers"]
|
|
description = "Interpret Cranelift IR"
|
|
repository = "https://github.com/bytecodealliance/wasmtime"
|
|
documentation = "https://docs.rs/cranelift-interpreter"
|
|
categories = ["no-std"]
|
|
license = "Apache-2.0 WITH LLVM-exception"
|
|
readme = "README.md"
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
cranelift-codegen = { path = "../codegen", version = "0.67.0", features = ["all-arch"] }
|
|
cranelift-entity = { path = "../entity", version = "0.67.0" }
|
|
cranelift-reader = { path = "../reader", version = "0.67.0" }
|
|
log = { version = "0.4.8", default-features = false }
|
|
smallvec = "1.4.2"
|
|
thiserror = "1.0.15"
|
|
|
|
[dev-dependencies]
|
|
cranelift-frontend = { path = "../frontend", version = "0.67.0" }
|
|
|
|
[badges]
|
|
maintenance = { status = "experimental" }
|