Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Reuse existing Vec via prepend_arg in execute_call
Replace vec![self_val] + extend(args.args) with
FuncArgs::prepend_arg() to avoid a second heap allocation
on every method call.
  • Loading branch information
youknowone committed Mar 1, 2026
commit 89703b608bb74c6d520bde75896c75481c6634f0
18 changes: 6 additions & 12 deletions crates/vm/src/frame.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3389,12 +3389,9 @@ impl ExecutingFrame<'_> {
let callable = self.pop_value();

let final_args = if let Some(self_val) = self_or_null {
let mut all_args = vec![self_val];
all_args.extend(args.args);
FuncArgs {
args: all_args,
kwargs: args.kwargs,
}
let mut args = args;
args.prepend_arg(self_val);
args
} else {
args
};
Expand All @@ -3410,12 +3407,9 @@ impl ExecutingFrame<'_> {
let callable = self.pop_value();

let final_args = if let Some(self_val) = self_or_null {
let mut all_args = vec![self_val];
all_args.extend(args.args);
FuncArgs {
args: all_args,
kwargs: args.kwargs,
}
let mut args = args;
args.prepend_arg(self_val);
args
} else {
args
};
Expand Down