Only record vreg definitions when fuzzing (#66)
The `vreg_def_blockparam` and `vreg_def_inst` fields on CFGInfo are only used in `validate_ssa`, which in turn is only used in the ssagen fuzz target. Since these fields are never read in normal usage, initializing them is entirely wasted effort. According to valgrind/DHAT, when running `wasmtime compile` on the Sightglass Spidermonkey benchmark, removing these fields saves about 100M instructions, 23k heap allocations totalling 40MiB, and 47MiB of writes to the heap.
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
//! Utilities for fuzzing.
|
||||
|
||||
pub mod func;
|
||||
pub mod ssa;
|
||||
|
||||
// Re-exports for fuzz targets.
|
||||
|
||||
@@ -21,9 +22,6 @@ pub mod moves {
|
||||
pub mod cfg {
|
||||
pub use crate::cfg::*;
|
||||
}
|
||||
pub mod ssa {
|
||||
pub use crate::ssa::*;
|
||||
}
|
||||
pub mod ion {
|
||||
pub use crate::ion::*;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user