Skip to content

Commit b829928

Browse files
authored
Try #1874:
2 parents 7a4ad45 + 13e6f29 commit b829928

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+87
-95
lines changed

benches/static_and_dynamic_functions.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -150,39 +150,39 @@ pub fn run_basic_dynamic_function(store: &Store, compiler_name: &str, c: &mut Cr
150150
fn run_static_benchmarks(c: &mut Criterion) {
151151
#[cfg(feature = "llvm")]
152152
{
153-
let store = Store::new(&JIT::new(&wasmer_compiler_llvm::LLVM::new()).engine());
153+
let store = Store::new(&JIT::new(wasmer_compiler_llvm::LLVM::new()).engine());
154154
run_basic_static_function(&store, "llvm", c);
155155
}
156156

157157
#[cfg(feature = "cranelift")]
158158
{
159-
let store = Store::new(&JIT::new(&wasmer_compiler_cranelift::Cranelift::new()).engine());
159+
let store = Store::new(&JIT::new(wasmer_compiler_cranelift::Cranelift::new()).engine());
160160
run_basic_static_function(&store, "cranelift", c);
161161
}
162162

163163
#[cfg(feature = "singlepass")]
164164
{
165-
let store = Store::new(&JIT::new(&wasmer_compiler_singlepass::Singlepass::new()).engine());
165+
let store = Store::new(&JIT::new(wasmer_compiler_singlepass::Singlepass::new()).engine());
166166
run_basic_static_function(&store, "singlepass", c);
167167
}
168168
}
169169

170170
fn run_dynamic_benchmarks(c: &mut Criterion) {
171171
#[cfg(feature = "llvm")]
172172
{
173-
let store = Store::new(&JIT::new(&wasmer_compiler_llvm::LLVM::new()).engine());
173+
let store = Store::new(&JIT::new(wasmer_compiler_llvm::LLVM::new()).engine());
174174
run_basic_dynamic_function(&store, "llvm", c);
175175
}
176176

177177
#[cfg(feature = "cranelift")]
178178
{
179-
let store = Store::new(&JIT::new(&wasmer_compiler_cranelift::Cranelift::new()).engine());
179+
let store = Store::new(&JIT::new(wasmer_compiler_cranelift::Cranelift::new()).engine());
180180
run_basic_dynamic_function(&store, "cranelift", c);
181181
}
182182

183183
#[cfg(feature = "singlepass")]
184184
{
185-
let store = Store::new(&JIT::new(&wasmer_compiler_singlepass::Singlepass::new()).engine());
185+
let store = Store::new(&JIT::new(wasmer_compiler_singlepass::Singlepass::new()).engine());
186186
run_basic_dynamic_function(&store, "singlepass", c);
187187
}
188188
}

docs/migration_to_1.0.0.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ control:
101101

102102
```diff
103103
- let module = compile(&wasm_bytes[..])?;
104-
+ let engine = JIT::new(&Cranelift::default()).engine();
104+
+ let engine = JIT::new(Cranelift::default()).engine();
105105
+ let store = Store::new(&engine);
106106
+ let module = Module::new(&store, wasm_bytes)?;
107107
- let instance = module.instantiate(&imports)?;

examples/compiler_cranelift.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
3333
let compiler = Cranelift::default();
3434

3535
// Create the store
36-
let store = Store::new(&JIT::new(&compiler).engine());
36+
let store = Store::new(&JIT::new(compiler).engine());
3737

3838
println!("Compiling module...");
3939
// Let's compile the Wasm module.

examples/compiler_llvm.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
3333
let compiler = LLVM::default();
3434

3535
// Create the store
36-
let store = Store::new(&JIT::new(&compiler).engine());
36+
let store = Store::new(&JIT::new(compiler).engine());
3737

3838
println!("Compiling module...");
3939
// Let's compile the Wasm module.

examples/compiler_singlepass.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
3333
let compiler = Singlepass::default();
3434

3535
// Create the store
36-
let store = Store::new(&JIT::new(&compiler).engine());
36+
let store = Store::new(&JIT::new(compiler).engine());
3737

3838
println!("Compiling module...");
3939
// Let's compile the Wasm module.

examples/early_exit.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ fn main() -> anyhow::Result<()> {
5555
// Note that we don't need to specify the engine/compiler if we want to use
5656
// the default provided by Wasmer.
5757
// You can use `Store::default()` for that.
58-
let store = Store::new(&JIT::new(&Cranelift::default()).engine());
58+
let store = Store::new(&JIT::new(Cranelift::default()).engine());
5959

6060
println!("Compiling module...");
6161
// Let's compile the Wasm module.

examples/engine_cross_compilation.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
4343
// In this situation, the compiler is
4444
// `wasmer_compiler_cranelift`. The compiler is responsible to
4545
// compile the Wasm module into executable code.
46-
let mut compiler_config = Cranelift::default();
46+
let compiler_config = Cranelift::default();
4747

4848
// Here we go.
4949
//
@@ -72,7 +72,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
7272
//
7373
// That's where we specify the target for the compiler.
7474
// Use the native engine.
75-
let engine = Native::new(&mut compiler_config)
75+
let engine = Native::new(compiler_config)
7676
// Here we go.
7777
// Pass the target to the engine! The engine will share
7878
// this information with the compiler.

examples/engine_headless.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
8888
// are going to store it in a file with the `.so` extension
8989
// for example (or `.dylib`, or `.dll` depending of the
9090
// platform).
91-
let engine = Native::new(&mut compiler_config).engine();
91+
let engine = Native::new(compiler_config).engine();
9292

9393
// Create a store, that holds the engine.
9494
let store = Store::new(&engine);

examples/engine_jit.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -42,14 +42,14 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
4242
// In this situation, the compiler is
4343
// `wasmer_compiler_cranelift`. The compiler is responsible to
4444
// compile the Wasm module into executable code.
45-
let mut compiler_config = Cranelift::default();
45+
let compiler_config = Cranelift::default();
4646

4747
println!("Creating JIT engine...");
4848
// Define the engine that will drive everything.
4949
//
5050
// In this case, the engine is `wasmer_engine_jit` which roughly
5151
// means that the executable code will live in memory.
52-
let engine = JIT::new(&mut compiler_config).engine();
52+
let engine = JIT::new(compiler_config).engine();
5353

5454
// Create a store, that holds the engine.
5555
let store = Store::new(&engine);

examples/engine_native.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
5050
//
5151
// In this case, the engine is `wasmer_engine_native` which means
5252
// that a native object is going to be generated.
53-
let engine = Native::new(&mut compiler_config).engine();
53+
let engine = Native::new(compiler_config).engine();
5454

5555
// Create a store, that holds the engine.
5656
let store = Store::new(&engine);

examples/errors.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
3939
// Note that we don't need to specify the engine/compiler if we want to use
4040
// the default provided by Wasmer.
4141
// You can use `Store::default()` for that.
42-
let store = Store::new(&JIT::new(&Cranelift::default()).engine());
42+
let store = Store::new(&JIT::new(Cranelift::default()).engine());
4343

4444
println!("Compiling module...");
4545
// Let's compile the Wasm module.

examples/exports_function.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
4040
// Note that we don't need to specify the engine/compiler if we want to use
4141
// the default provided by Wasmer.
4242
// You can use `Store::default()` for that.
43-
let store = Store::new(&JIT::new(&Cranelift::default()).engine());
43+
let store = Store::new(&JIT::new(Cranelift::default()).engine());
4444

4545
println!("Compiling module...");
4646
// Let's compile the Wasm module.

examples/exports_global.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
3838
// Note that we don't need to specify the engine/compiler if we want to use
3939
// the default provided by Wasmer.
4040
// You can use `Store::default()` for that.
41-
let store = Store::new(&JIT::new(&Cranelift::default()).engine());
41+
let store = Store::new(&JIT::new(Cranelift::default()).engine());
4242

4343
println!("Compiling module...");
4444
// Let's compile the Wasm module.

examples/exports_memory.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
3737
// Note that we don't need to specify the engine/compiler if we want to use
3838
// the default provided by Wasmer.
3939
// You can use `Store::default()` for that.
40-
let store = Store::new(&JIT::new(&Cranelift::default()).engine());
40+
let store = Store::new(&JIT::new(Cranelift::default()).engine());
4141

4242
println!("Compiling module...");
4343
// Let's compile the Wasm module.

examples/hello_world.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ fn main() -> anyhow::Result<()> {
4444
// However for the purposes of showing what's happening, we create a compiler
4545
// (`Cranelift`) and pass it to an engine (`JIT`). We then pass the engine to
4646
// the store and are now ready to compile and run WebAssembly!
47-
let store = Store::new(&JIT::new(&Cranelift::default()).engine());
47+
let store = Store::new(&JIT::new(Cranelift::default()).engine());
4848
// We then use our store and Wasm bytes to compile a `Module`.
4949
// A `Module` is a compiled WebAssembly module that isn't ready to execute yet.
5050
let module = Module::new(&store, wasm_bytes)?;

examples/imports_function.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
4242
// Note that we don't need to specify the engine/compiler if we want to use
4343
// the default provided by Wasmer.
4444
// You can use `Store::default()` for that.
45-
let store = Store::new(&JIT::new(&Cranelift::default()).engine());
45+
let store = Store::new(&JIT::new(Cranelift::default()).engine());
4646

4747
println!("Compiling module...");
4848
// Let's compile the Wasm module.

examples/imports_function_env.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
5050
// Note that we don't need to specify the engine/compiler if we want to use
5151
// the default provided by Wasmer.
5252
// You can use `Store::default()` for that.
53-
let store = Store::new(&JIT::new(&Cranelift::default()).engine());
53+
let store = Store::new(&JIT::new(Cranelift::default()).engine());
5454

5555
println!("Compiling module...");
5656
// Let's compile the Wasm module.

examples/imports_global.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
3838
// Note that we don't need to specify the engine/compiler if we want to use
3939
// the default provided by Wasmer.
4040
// You can use `Store::default()` for that.
41-
let store = Store::new(&JIT::new(&Cranelift::default()).engine());
41+
let store = Store::new(&JIT::new(Cranelift::default()).engine());
4242

4343
println!("Compiling module...");
4444
// Let's compile the Wasm module.

examples/instance.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
3939
// Note that we don't need to specify the engine/compiler if we want to use
4040
// the default provided by Wasmer.
4141
// You can use `Store::default()` for that.
42-
let store = Store::new(&JIT::new(&Cranelift::default()).engine());
42+
let store = Store::new(&JIT::new(Cranelift::default()).engine());
4343

4444
println!("Compiling module...");
4545
// Let's compile the Wasm module.

examples/memory.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ fn main() -> anyhow::Result<()> {
5757
// Note that we don't need to specify the engine/compiler if we want to use
5858
// the default provided by Wasmer.
5959
// You can use `Store::default()` for that.
60-
let store = Store::new(&JIT::new(&Cranelift::default()).engine());
60+
let store = Store::new(&JIT::new(Cranelift::default()).engine());
6161

6262
println!("Compiling module...");
6363
// Let's compile the Wasm module.

examples/table.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ fn main() -> anyhow::Result<()> {
5151
)?;
5252

5353
// We set up our store with an engine and a compiler.
54-
let store = Store::new(&JIT::new(&Cranelift::default()).engine());
54+
let store = Store::new(&JIT::new(Cranelift::default()).engine());
5555
// Then compile our Wasm.
5656
let module = Module::new(&store, wasm_bytes)?;
5757
let import_object = imports! {};

examples/tunables_limit_memory.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
143143

144144
// Any compiler and any engine do the job here
145145
let compiler = Cranelift::default();
146-
let engine = JIT::new(&compiler).engine();
146+
let engine = JIT::new(compiler).engine();
147147

148148
// Here is where the fun begins
149149

examples/wasi.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
3232
// Note that we don't need to specify the engine/compiler if we want to use
3333
// the default provided by Wasmer.
3434
// You can use `Store::default()` for that.
35-
let store = Store::new(&JIT::new(&Cranelift::default()).engine());
35+
let store = Store::new(&JIT::new(Cranelift::default()).engine());
3636

3737
println!("Compiling module...");
3838
// Let's compile the Wasm module.

fuzz/fuzz_targets/headless_cranelift.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use wasmer_engine_native::Native;
99
fuzz_target!(|wasm_bytes: &[u8]| {
1010
let serialized = {
1111
let mut compiler = Cranelift::default();
12-
let store = Store::new(&Native::new(&mut compiler).engine());
12+
let store = Store::new(&Native::new(compiler).engine());
1313
match Module::validate(&store, wasm_bytes) {
1414
Err(_) => return,
1515
Ok(_) => {}

fuzz/fuzz_targets/jit_cranelift.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ fuzz_target!(|wasm_bytes: &[u8]| {
1010
let mut compiler = Cranelift::default();
1111
compiler.canonicalize_nans(true);
1212
compiler.enable_verifier();
13-
let store = Store::new(&JIT::new(&compiler).engine());
13+
let store = Store::new(&JIT::new(compiler).engine());
1414
match Module::validate(&store, wasm_bytes) {
1515
Ok(_) => {
1616
let module = Module::new(&store, wasm_bytes).unwrap();

fuzz/fuzz_targets/jit_llvm.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ fuzz_target!(|wasm_bytes: &[u8]| {
1010
let mut compiler = LLVM::default();
1111
compiler.canonicalize_nans(true);
1212
compiler.enable_verifier();
13-
let store = Store::new(&JIT::new(&compiler).engine());
13+
let store = Store::new(&JIT::new(compiler).engine());
1414
match Module::validate(&store, wasm_bytes) {
1515
Ok(_) => {
1616
let module = Module::new(&store, wasm_bytes).unwrap();

fuzz/fuzz_targets/jit_singlepass.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use wasmer_engine_jit::JIT;
88

99
fuzz_target!(|wasm_bytes: &[u8]| {
1010
let compiler = Singlepass::default();
11-
let store = Store::new(&JIT::new(&compiler).engine());
11+
let store = Store::new(&JIT::new(compiler).engine());
1212
match Module::validate(&store, wasm_bytes) {
1313
Ok(_) => {
1414
let module = Module::new(&store, wasm_bytes).unwrap();

fuzz/fuzz_targets/native_cranelift.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use wasmer_engine_native::Native;
99
fuzz_target!(|wasm_bytes: &[u8]| {
1010
let serialized = {
1111
let mut compiler = Cranelift::default();
12-
let store = Store::new(&Native::new(&mut compiler).engine());
12+
let store = Store::new(&Native::new(compiler).engine());
1313
match Module::validate(&store, wasm_bytes) {
1414
Err(_) => return,
1515
Ok(_) => {}

fuzz/fuzz_targets/validate.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ use wasmer_engine_jit::JIT;
88

99
fuzz_target!(|wasm_bytes: &[u8]| {
1010
let compiler = Cranelift::default();
11-
let store = Store::new(&JIT::new(&compiler).engine());
11+
let store = Store::new(&JIT::new(compiler).engine());
1212
Module::validate(&store, wasm_bytes);
1313
});

lib/api/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ If you wish to use more than one compiler, you can simply create the own store.
115115
```
116116
use wasmer::{Store, JIT, Singlepass};
117117
118-
let engine = JIT::new(&Singlepass::default()).engine();
118+
let engine = JIT::new(Singlepass::default()).engine();
119119
let store = Store::new(&engine);
120120
```"#
121121
);

lib/api/src/store.rs

+6-4
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ impl Default for Store {
8080
// sure this function doesn't emit a compile error even if
8181
// more than one compiler is enabled.
8282
#[allow(unreachable_code)]
83-
fn get_config() -> impl CompilerConfig + Send + Sync {
83+
fn get_config() -> impl CompilerConfig + Send + Sync + 'static {
8484
cfg_if::cfg_if! {
8585
if #[cfg(feature = "default-cranelift")] {
8686
wasmer_compiler_cranelift::Cranelift::default()
@@ -95,13 +95,15 @@ impl Default for Store {
9595
}
9696

9797
#[allow(unreachable_code, unused_mut)]
98-
fn get_engine(mut config: impl CompilerConfig + Send + Sync) -> impl Engine + Send + Sync {
98+
fn get_engine(
99+
mut config: impl CompilerConfig + Send + Sync + 'static,
100+
) -> impl Engine + Send + Sync {
99101
cfg_if::cfg_if! {
100102
if #[cfg(feature = "default-jit")] {
101-
wasmer_engine_jit::JIT::new(&config)
103+
wasmer_engine_jit::JIT::new(config)
102104
.engine()
103105
} else if #[cfg(feature = "default-native")] {
104-
wasmer_engine_native::Native::new(&mut config)
106+
wasmer_engine_native::Native::new(config)
105107
.engine()
106108
} else {
107109
compile_error!("No default engine chosen")

lib/c-api/src/wasm_c_api/engine.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ cfg_if! {
136136
#[no_mangle]
137137
pub extern "C" fn wasm_engine_new() -> Box<wasm_engine_t> {
138138
let compiler_config: Box<dyn CompilerConfig> = get_default_compiler_config();
139-
let engine: Arc<dyn Engine + Send + Sync> = Arc::new(JIT::new(&*compiler_config).engine());
139+
let engine: Arc<dyn Engine + Send + Sync> = Arc::new(JIT::new(*compiler_config).engine());
140140
Box::new(wasm_engine_t { inner: engine })
141141
}
142142
}
@@ -154,7 +154,7 @@ cfg_if! {
154154
#[no_mangle]
155155
pub extern "C" fn wasm_engine_new() -> Box<wasm_engine_t> {
156156
let mut compiler_config: Box<dyn CompilerConfig> = get_default_compiler_config();
157-
let engine: Arc<dyn Engine + Send + Sync> = Arc::new(Native::new(&mut *compiler_config).engine());
157+
let engine: Arc<dyn Engine + Send + Sync> = Arc::new(Native::new( *compiler_config).engine());
158158
Box::new(wasm_engine_t { inner: engine })
159159
}
160160
}
@@ -243,7 +243,7 @@ pub extern "C" fn wasm_engine_new_with_config(
243243
wasmer_engine_t::JIT => {
244244
cfg_if! {
245245
if #[cfg(feature = "jit")] {
246-
Arc::new(JIT::new(&*compiler_config).engine())
246+
Arc::new(JIT::new(*compiler_config).engine())
247247
} else {
248248
return return_with_error("Wasmer has not been compiled with the `jit` feature.");
249249
}
@@ -252,7 +252,7 @@ pub extern "C" fn wasm_engine_new_with_config(
252252
wasmer_engine_t::NATIVE => {
253253
cfg_if! {
254254
if #[cfg(feature = "native")] {
255-
Arc::new(Native::new(&mut *compiler_config).engine())
255+
Arc::new(Native::new( *compiler_config).engine())
256256
} else {
257257
return return_with_error("Wasmer has not been compiled with the `native` feature.");
258258
}

0 commit comments

Comments
 (0)