Skip to content

Commit 57f3ae8

Browse files
committed
add #[inline(always)] annotations to push_frame API
This shows significant performance gains in call intense workloads of ~15%.
1 parent 87abdb6 commit 57f3ae8

File tree

1 file changed

+3
-0
lines changed
  • crates/wasmi/src/engine/executor/handler

1 file changed

+3
-0
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,6 +214,7 @@ impl Stack {
214214
self.values.capacity()
215215
}
216216

217+
#[inline(always)]
217218
pub fn push_frame(
218219
&mut self,
219220
caller_ip: Option<Ip>,
@@ -283,6 +284,7 @@ impl ValueStack {
283284
Sp::new(&mut self.cells, start)
284285
}
285286

287+
#[inline(always)]
286288
fn push(&mut self, start: usize, len_slots: usize, len_params: u16) -> Result<Sp, TrapCode> {
287289
debug_assert!(usize::from(len_params) <= len_slots);
288290
if len_slots == 0 {
@@ -343,6 +345,7 @@ impl CallStack {
343345
top.ip = ip;
344346
}
345347

348+
#[inline(always)]
346349
fn push(
347350
&mut self,
348351
caller_ip: Option<Ip>,

0 commit comments

Comments
 (0)