灵符lingfu

ling-codegen

↓ 0 downloads

Cranelift JIT/AOT + bytecode VM

Keywords codegen, cranelift, jit, aot, vm
lingfu install ling-codegen
LicenseApache-2.0 OR MIT
AuthorsLing Lin, Sanny Lin
READMECode / FilesVersionsDependency GraphDependentsSecurityBuildsSettings

Code / Files (14)

Cargo.toml
[package]
name = "ling-codegen"
version = "2030.0.12"
edition = "2021"
authors = ["Ling Lin <taellinglin@gmail.com>", "Sanny Lin <SannyLing53@gmail.com>"]
description = "Code generation backends for Ling (bytecode, WASM, native)"
license = "Apache-2.0 OR MIT"
readme = "README.md"
repository = "https://github.com/taellinglin/ling"

[features]
default = []

[dependencies]
ling-core = { workspace = true }
ling-mir  = { workspace = true }
ling-ast  = { workspace = true }
anyhow    = "1.0"
rustc-hash = "2.0"
cranelift = { version = "0.131.1", features = ["module", "object", "native"] }
cranelift-frontend = "0.131.1"
cranelift-module = "0.131.1"
cranelift-object = "0.131.1"
cranelift-native = "0.131.1"
# `arm64` isn't part of cranelift-codegen's default feature set (default is
# host-arch only). Depending on it directly here — even though `cranelift`
# facade crate above doesn't forward it — unifies the single shared
# cranelift-codegen instance to compile the aarch64 backend in too, so
# `isa::lookup_by_name("aarch64")` works for cross-compiling kernel targets
# regardless of host architecture.
cranelift-codegen = { version = "0.131.1", features = ["arm64"] }

[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
cranelift-jit = "0.131.1"

[lib]
name = "ling_codegen"
path = "src/lib.rs"

← Back to index