Update to Wasmer 3.0 beta
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
2022-08-27 14:14:58 +02:00
parent c5fb81c179
commit bd62c1ac62
14 changed files with 315 additions and 241 deletions

View File

@@ -73,7 +73,7 @@ impl Script for WebAssemblyScript {
let env = self.environment.upgrade().unwrap();
let func = env.script_function_cache().stack(&env);
if let Some(func) = func {
func.call(self.self_ptr).unwrap();
func.call(&mut env.store_mut(), self.self_ptr).unwrap();
}
}
@@ -84,7 +84,7 @@ impl Script for WebAssemblyScript {
let env = self.environment.upgrade().unwrap();
let func = env.script_function_cache().on_remove(&env);
if let Some(func) = func {
func.call(self.self_ptr).unwrap();
func.call(&mut env.store_mut(), self.self_ptr).unwrap();
}
}
@@ -97,6 +97,7 @@ impl Script for WebAssemblyScript {
let func = env.script_function_cache().on_initialize(&env);
if let Some(func) = func {
func.call(
&mut env.store_mut(),
self.self_ptr,
ExternRef::new(env.as_ref(), library),
VecExternRef::new(env.as_ref(), pars),
@@ -112,7 +113,12 @@ impl Script for WebAssemblyScript {
let env = self.environment.upgrade().unwrap();
let func = env.script_function_cache().on_before_turn(&env);
if let Some(func) = func {
func.call(self.self_ptr, ExternRef::new(env.as_ref(), choice)).unwrap();
func.call(
&mut env.store_mut(),
self.self_ptr,
ExternRef::new(env.as_ref(), choice),
)
.unwrap();
}
}
@@ -125,8 +131,13 @@ impl Script for WebAssemblyScript {
let func = env.script_function_cache().change_speed(&env);
if let Some(func) = func {
let ptr = env.temp_allocate_mem_typed::<u32>(*speed);
func.call(self.self_ptr, ExternRef::new(env.as_ref(), choice), ptr.wasm_pointer)
.unwrap();
func.call(
&mut env.store_mut(),
self.self_ptr,
ExternRef::new(env.as_ref(), choice),
ptr.wasm_pointer,
)
.unwrap();
*speed = *ptr.value();
}
}
@@ -143,8 +154,13 @@ impl Script for WebAssemblyScript {
let func = env.script_function_cache().change_priority(&env);
if let Some(func) = func {
let ptr = env.temp_allocate_mem_typed::<i8>(*priority);
func.call(self.self_ptr, ExternRef::new(env.as_ref(), choice), ptr.wasm_pointer)
.unwrap();
func.call(
&mut env.store_mut(),
self.self_ptr,
ExternRef::new(env.as_ref(), choice),
ptr.wasm_pointer,
)
.unwrap();
*priority = *ptr.value();
}
}