vmkit-core/vmkit/Cargo.toml

49 lines
1.4 KiB
TOML
Raw Normal View History

2025-02-09 09:21:48 +07:00
[package]
name = "vmkit"
version = "0.1.0"
edition = "2021"
[dependencies]
atomic = "0.6.0"
bytemuck = "1.21.0"
cfg-if = "1.0.0"
2025-03-05 08:44:24 +07:00
cfgenius = "0.1.1"
2025-02-09 09:21:48 +07:00
clap = { version = "4.5.28", features = ["derive"] }
easy-bitfield = "0.1.0"
2025-02-09 21:05:13 +07:00
env_logger = "0.11.6"
2025-02-09 09:21:48 +07:00
errno = "0.3.10"
libc = "0.2.169"
2025-02-13 16:45:30 +07:00
log = { version = "0.4.25" }
2025-02-09 09:21:48 +07:00
mmtk = { git = "https://github.com/mmtk/mmtk-core" }
parking_lot = "0.12.3"
2025-03-05 08:44:24 +07:00
paste = "1.0.15"
2025-02-09 09:21:48 +07:00
rand = "0.9.0"
2025-02-12 20:42:03 +07:00
sysinfo = "0.33.1"
2025-02-20 20:46:10 +07:00
vmkit-proc = { path = "../vmkit-proc", optional = true }
2025-02-09 09:21:48 +07:00
[features]
2025-02-12 20:42:03 +07:00
2025-02-20 20:46:10 +07:00
default = ["cooperative", "address_based_hashing", "object_pinning", "derive"]
vmside_forwarding = []
2025-02-20 20:46:10 +07:00
derive = ["vmkit-proc"]
object_pinning = ["mmtk/object_pinning"]
address_based_hashing = []
2025-02-13 22:32:44 +07:00
uncooperative = ["cooperative", "mmtk/immix_non_moving", "mmtk/immix_zero_on_release"]
2025-02-12 20:42:03 +07:00
2025-02-09 09:21:48 +07:00
# VMKit is built for use in cooperative runtime. Such runtime
# would be able to use write barriers and safepoints. Such environment
# must also provide precise object layout (stack can be uncooperative).
2025-02-15 12:56:49 +07:00
cooperative = ["object_pinning", "mmtk/vo_bit", "mmtk/is_mmtk_object", "mmtk/vo_bit_access"]
2025-02-09 09:21:48 +07:00
# VMKit is built for use in full-precise runtime. Such runtime
# would be able to use precise write barriers and safepoints, object
# layout is fully precise.
full-precise = []
[target.'cfg(windows)'.dependencies]
winapi = { version = "0.3.9", features = ["everything"] }
2025-02-09 21:05:13 +07:00
2025-02-12 20:42:03 +07:00
[lib]
crate-type = ["cdylib", "rlib"]