[package]
edition = "2021"
name = "fusevm"
version = "0.13.7"
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)"
homepage = "https://menketechnologies.github.io/fusevm/"
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",
]
jit-disk-cache = [
"jit",
"dep:libc",
]
[lib]
name = "fusevm"
path = "src/lib.rs"
[[test]]
name = "array_hash_ops"
path = "tests/array_hash_ops.rs"
[[test]]
name = "builtin_table"
path = "tests/builtin_table.rs"
[[test]]
name = "chunk_builder"
path = "tests/chunk_builder.rs"
[[test]]
name = "chunkbuilder_and_value_introspection"
path = "tests/chunkbuilder_and_value_introspection.rs"
[[test]]
name = "collections"
path = "tests/collections.rs"
[[test]]
name = "collections_and_concat"
path = "tests/collections_and_concat.rs"
[[test]]
name = "compare_bitwise_ops"
path = "tests/compare_bitwise_ops.rs"
[[test]]
name = "comparison_logical_bitwise"
path = "tests/comparison_logical_bitwise.rs"
[[test]]
name = "contract_deopt_constants_and_subchunks"
path = "tests/contract_deopt_constants_and_subchunks.rs"
[[test]]
name = "contract_fused_ops_and_jit"
path = "tests/contract_fused_ops_and_jit.rs"
[[test]]
name = "contract_vm_stack_chunk_round4"
path = "tests/contract_vm_stack_chunk_round4.rs"
[[test]]
name = "control_flow"
path = "tests/control_flow.rs"
[[test]]
name = "edge_cases"
path = "tests/edge_cases.rs"
[[test]]
name = "functions_vars_stack"
path = "tests/functions_vars_stack.rs"
[[test]]
name = "fused_frame_higherorder"
path = "tests/fused_frame_higherorder.rs"
[[test]]
name = "fused_ops"
path = "tests/fused_ops.rs"
[[test]]
name = "host_ext_and_more_ops"
path = "tests/host_ext_and_more_ops.rs"
[[test]]
name = "host_routing_and_reset"
path = "tests/host_routing_and_reset.rs"
[[test]]
name = "host_trait"
path = "tests/host_trait.rs"
[[test]]
name = "jit_api_pool_deopt"
path = "tests/jit_api_pool_deopt.rs"
[[test]]
name = "jit_block"
path = "tests/jit_block.rs"
[[test]]
name = "jit_disk_cache"
path = "tests/jit_disk_cache.rs"
[[test]]
name = "jit_env_threshold"
path = "tests/jit_env_threshold.rs"
[[test]]
name = "jit_extension"
path = "tests/jit_extension.rs"
[[test]]
name = "jit_extension_host"
path = "tests/jit_extension_host.rs"
[[test]]
name = "jit_fuzz"
path = "tests/jit_fuzz.rs"
[[test]]
name = "jit_linear"
path = "tests/jit_linear.rs"
[[test]]
name = "jit_public_api"
path = "tests/jit_public_api.rs"
[[test]]
name = "jit_trace"
path = "tests/jit_trace.rs"
[[test]]
name = "jump_arith_edges"
path = "tests/jump_arith_edges.rs"
[[test]]
name = "jumps_ext_builtins_files"
path = "tests/jumps_ext_builtins_files.rs"
[[test]]
name = "more_ops"
path = "tests/more_ops.rs"
[[test]]
name = "op_exhaustive_and_vm_lifecycle"
path = "tests/op_exhaustive_and_vm_lifecycle.rs"
[[test]]
name = "serde_and_chunk"
path = "tests/serde_and_chunk.rs"
[[test]]
name = "shell_builtins_lookup"
path = "tests/shell_builtins_lookup.rs"
[[test]]
name = "shell_host"
path = "tests/shell_host.rs"
[[test]]
name = "shell_op_routing"
path = "tests/shell_op_routing.rs"
[[test]]
name = "shell_ops_default_host"
path = "tests/shell_ops_default_host.rs"
[[test]]
name = "shell_ops_with_host"
path = "tests/shell_ops_with_host.rs"
[[test]]
name = "slot_and_fused_ops"
path = "tests/slot_and_fused_ops.rs"
[[test]]
name = "stack_arith_misc_ops"
path = "tests/stack_arith_misc_ops.rs"
[[test]]
name = "stack_array_hash_status_expand"
path = "tests/stack_array_hash_status_expand.rs"
[[test]]
name = "testfile_builtin_dispatch"
path = "tests/testfile_builtin_dispatch.rs"
[[test]]
name = "v0_12_2_apis"
path = "tests/v0_12_2_apis.rs"
[[test]]
name = "value_and_types"
path = "tests/value_and_types.rs"
[[test]]
name = "value_arith_edges"
path = "tests/value_arith_edges.rs"
[[test]]
name = "value_coerce_and_testfile"
path = "tests/value_coerce_and_testfile.rs"
[[test]]
name = "value_coercion"
path = "tests/value_coercion.rs"
[[test]]
name = "value_hash_clone"
path = "tests/value_hash_clone.rs"
[[test]]
name = "vars_and_stack"
path = "tests/vars_and_stack.rs"
[[test]]
name = "vm_integration"
path = "tests/vm_integration.rs"
[[test]]
name = "vm_pool"
path = "tests/vm_pool.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_disk_cache"
path = "benches/jit_disk_cache.rs"
harness = false
required-features = ["jit-disk-cache"]
[[bench]]
name = "jit_trace"
path = "benches/jit_trace.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.chrono]
version = "0.4"
[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.libc]
version = "0.2"
optional = true
[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"