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"
|
|
|
|
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"
|
|
|
|
rand = "0.9.0"
|
2025-02-12 20:42:03 +07:00
|
|
|
sysinfo = "0.33.1"
|
2025-02-09 09:21:48 +07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[features]
|
2025-02-12 20:42:03 +07:00
|
|
|
|
2025-02-15 11:58:00 +07:00
|
|
|
default = ["cooperative", "address_based_hashing", "object_pinning"]
|
|
|
|
vmside_forwarding = []
|
|
|
|
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"]
|