Avoid temporary allocation when push locals during function invocation.
This commit is contained in:
parent
f19e1c27fc
commit
ad254790a4
|
@ -1289,13 +1289,9 @@ impl FunctionContext {
|
||||||
debug_assert!(!self.is_initialized);
|
debug_assert!(!self.is_initialized);
|
||||||
|
|
||||||
let num_locals = locals.iter().map(|l| l.count() as usize).sum();
|
let num_locals = locals.iter().map(|l| l.count() as usize).sum();
|
||||||
let locals = vec![Default::default(); num_locals];
|
|
||||||
|
|
||||||
// TODO: Replace with extend.
|
for _ in 0..num_locals {
|
||||||
for local in locals {
|
value_stack.push(Default::default())?;
|
||||||
value_stack
|
|
||||||
.push(local)
|
|
||||||
.map_err(|_| TrapKind::StackOverflow)?;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
self.is_initialized = true;
|
self.is_initialized = true;
|
||||||
|
|
Loading…
Reference in New Issue