Remove the lightbeam backend (#3390)

This commit removes the Lightbeam backend from Wasmtime as per [RFC 14].
This backend hasn't received maintenance in quite some time, and as [RFC
14] indicates this doesn't meet the threshold for keeping the code
in-tree, so this commit removes it.

A fast "baseline" compiler may still be added in the future. The
addition of such a backend should be in line with [RFC 14], though, with
the principles we now have for stable releases of Wasmtime. I'll close
out Lightbeam-related issues once this is merged.

[RFC 14]: https://github.com/bytecodealliance/rfcs/pull/14
This commit is contained in:
Alex Crichton
2021-09-27 12:27:19 -05:00
committed by GitHub
parent 98831fe4e2
commit 1ee2af0098
39 changed files with 20 additions and 12372 deletions

View File

@@ -18,7 +18,6 @@ use arbitrary::{Arbitrary, Unstructured};
/// testing between.
#[derive(Arbitrary, Clone, Debug, PartialEq, Eq, Hash)]
pub struct DifferentialConfig {
strategy: DifferentialStrategy,
opt_level: OptLevel,
force_jump_veneers: bool,
}
@@ -26,10 +25,7 @@ pub struct DifferentialConfig {
impl DifferentialConfig {
/// Convert this differential fuzzing config into a `wasmtime::Config`.
pub fn to_wasmtime_config(&self) -> anyhow::Result<wasmtime::Config> {
let mut config = crate::fuzz_default_config(match self.strategy {
DifferentialStrategy::Cranelift => wasmtime::Strategy::Cranelift,
DifferentialStrategy::Lightbeam => wasmtime::Strategy::Lightbeam,
})?;
let mut config = crate::fuzz_default_config(wasmtime::Strategy::Cranelift)?;
config.cranelift_opt_level(self.opt_level.to_wasmtime());
if self.force_jump_veneers {
unsafe {
@@ -40,12 +36,6 @@ impl DifferentialConfig {
}
}
#[derive(Arbitrary, Clone, Debug, PartialEq, Eq, Hash)]
enum DifferentialStrategy {
Cranelift,
Lightbeam,
}
#[derive(Arbitrary, Clone, Debug, PartialEq, Eq, Hash)]
enum OptLevel {
None,

View File

@@ -253,7 +253,7 @@ pub fn differential_execution(
let configs: Vec<_> = match configs.iter().map(|c| c.to_wasmtime_config()).collect() {
Ok(cs) => cs,
// If the config is trying to use something that was turned off at
// compile time, eg lightbeam, just continue to the next fuzz input.
// compile time just continue to the next fuzz input.
Err(_) => return,
};