# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2021"
name = "fusevm"
version = "0.11.0"
authors = ["MenkeTechnologies"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Language-agnostic bytecode VM with fused superinstructions and a 3-tier Cranelift JIT (linear, block, tracing with side-exits and frame materialization)"
documentation = "https://docs.rs/fusevm"
readme = "README.md"
keywords = [
    "bytecode",
    "vm",
    "jit",
    "interpreter",
    "fusevm",
]
categories = ["compilers"]
license = "MIT"
repository = "https://github.com/MenkeTechnologies/fusevm"

[features]
default = []
jit = [
    "cranelift-jit",
    "cranelift-codegen",
    "cranelift-frontend",
    "cranelift-native",
    "cranelift-module",
]

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

[[test]]
name = "chunk_builder"
path = "tests/chunk_builder.rs"

[[test]]
name = "edge_cases"
path = "tests/edge_cases.rs"

[[test]]
name = "jit_block"
path = "tests/jit_block.rs"

[[test]]
name = "jit_linear"
path = "tests/jit_linear.rs"

[[test]]
name = "jit_trace"
path = "tests/jit_trace.rs"

[[test]]
name = "shell_host"
path = "tests/shell_host.rs"

[[test]]
name = "vm_integration"
path = "tests/vm_integration.rs"

[[bench]]
name = "classic"
path = "benches/classic.rs"
harness = false

[[bench]]
name = "jit_crossover"
path = "benches/jit_crossover.rs"
harness = false
required-features = ["jit"]

[[bench]]
name = "jit_vs_interp"
path = "benches/jit_vs_interp.rs"
harness = false
required-features = ["jit"]

[[bench]]
name = "vm_bench"
path = "benches/vm_bench.rs"
harness = false

[dependencies.cranelift-codegen]
version = "0.130"
optional = true

[dependencies.cranelift-frontend]
version = "0.130"
optional = true

[dependencies.cranelift-jit]
version = "0.130"
optional = true

[dependencies.cranelift-module]
version = "0.130"
optional = true

[dependencies.cranelift-native]
version = "0.130"
optional = true

[dependencies.glob]
version = "0.3"

[dependencies.serde]
version = "1"
features = [
    "derive",
    "rc",
]

[dependencies.tracing]
version = "0.1"

[dev-dependencies.bincode]
version = "1"

[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]

[dev-dependencies.serde_json]
version = "1"
