* Enable jitdump profiling support by default This the result of some of the investigation I was doing for #1017. I've done a number of refactorings here which culminated in a number of changes that all amount to what I think should result in jitdump support being enabled by default: * Pass in a list of finished functions instead of just a range to ensure that we're emitting jit dump data for a specific module rather than a whole `CodeMemory` which may have other modules. * Define `ProfilingStrategy` in the `wasmtime` crate to have everything locally-defined * Add support to the C API to enable profiling * Documentation added for profiling with jitdump to the book * Split out supported/unsupported files in `jitdump.rs` to avoid having lots of `#[cfg]`. * Make dependencies optional that are only used for `jitdump`. * Move initialization up-front to `JitDumpAgent::new()` instead of deferring it to the first module. * Pass around `Arc<dyn ProfilingAgent>` instead of `Option<Arc<Mutex<Box<dyn ProfilingAgent>>>>` The `jitdump` Cargo feature is now enabled by default which means that our published binaries, C API artifacts, and crates will support profiling at runtime by default. The support I don't think is fully fleshed out and working but I think it's probably in a good enough spot we can get users playing around with it!
41 lines
1.5 KiB
TOML
41 lines
1.5 KiB
TOML
[package]
|
|
name = "wasmtime-jit"
|
|
version = "0.12.0"
|
|
authors = ["The Wasmtime Project Developers"]
|
|
description = "JIT-style execution for WebAsssembly code in Cranelift"
|
|
license = "Apache-2.0 WITH LLVM-exception"
|
|
categories = ["wasm"]
|
|
keywords = ["webassembly", "wasm"]
|
|
repository = "https://github.com/bytecodealliance/wasmtime"
|
|
readme = "README.md"
|
|
edition = "2018"
|
|
|
|
[dependencies]
|
|
cranelift-codegen = { path = "../../cranelift/codegen", version = "0.60.0", features = ["enable-serde"] }
|
|
cranelift-entity = { path = "../../cranelift/entity", version = "0.60.0", features = ["enable-serde"] }
|
|
cranelift-wasm = { path = "../../cranelift/wasm", version = "0.60.0", features = ["enable-serde"] }
|
|
cranelift-native = { path = "../../cranelift/native", version = "0.60.0" }
|
|
cranelift-frontend = { path = "../../cranelift/frontend", version = "0.60.0" }
|
|
wasmtime-environ = { path = "../environ", version = "0.12.0" }
|
|
wasmtime-runtime = { path = "../runtime", version = "0.12.0" }
|
|
wasmtime-debug = { path = "../debug", version = "0.12.0" }
|
|
wasmtime-profiling = { path = "../profiling", version = "0.12.0" }
|
|
region = "2.0.0"
|
|
thiserror = "1.0.4"
|
|
target-lexicon = { version = "0.10.0", default-features = false }
|
|
wasmparser = "0.51.2"
|
|
more-asserts = "0.2.1"
|
|
anyhow = "1.0"
|
|
cfg-if = "0.1.9"
|
|
log = "0.4"
|
|
|
|
[target.'cfg(target_os = "windows")'.dependencies]
|
|
winapi = { version = "0.3.7", features = ["winnt", "impl-default"] }
|
|
|
|
[features]
|
|
lightbeam = ["wasmtime-environ/lightbeam"]
|
|
jitdump = ["wasmtime-profiling/jitdump"]
|
|
|
|
[badges]
|
|
maintenance = { status = "actively-developed" }
|