Skip to content

Commit ad98c5a

Browse files
committed
move return exec handler in front of call_{imported,indirect}
1 parent dd9b1e5 commit ad98c5a

1 file changed

Lines changed: 18 additions & 18 deletions

File tree

  • crates/wasmi/src/engine/executor/handler

crates/wasmi/src/engine/executor/handler/exec.rs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,24 @@ global_set_execution_handler! {
191191
fn global_set_v128_s(GlobalSetV128_S, V128);
192192
}
193193

194+
execution_handler! {
195+
fn r#return(
196+
state: &mut VmState,
197+
ip: Ip,
198+
sp: Sp,
199+
mem0: Mem0Ptr,
200+
mem0_len: Mem0Len,
201+
instance: Inst,
202+
ireg: Ireg,
203+
freg32: Freg32,
204+
freg64: Freg64,
205+
) -> Done = {
206+
let mut args = Args::from_parts(ip, sp, mem0, mem0_len, instance, ireg, freg32, freg64);
207+
args.pop_frame(state)?;
208+
dispatch!(state, args)
209+
}
210+
}
211+
194212
execution_handler! {
195213
fn call_internal(
196214
state: &mut VmState,
@@ -348,24 +366,6 @@ return_call_indirect_execution_handler! {
348366
fn return_call_indirect_table0_s(ReturnCallIndirectTable0_S);
349367
}
350368

351-
execution_handler! {
352-
fn r#return(
353-
state: &mut VmState,
354-
ip: Ip,
355-
sp: Sp,
356-
mem0: Mem0Ptr,
357-
mem0_len: Mem0Len,
358-
instance: Inst,
359-
ireg: Ireg,
360-
freg32: Freg32,
361-
freg64: Freg64,
362-
) -> Done = {
363-
let mut args = Args::from_parts(ip, sp, mem0, mem0_len, instance, ireg, freg32, freg64);
364-
args.pop_frame(state)?;
365-
dispatch!(state, args)
366-
}
367-
}
368-
369369
execution_handler! {
370370
fn memory_size(
371371
state: &mut VmState,

0 commit comments

Comments
 (0)