Avoid temporary allocation when push locals during function invocation.

This commit is contained in:
Adam Reichold 2019-10-11 16:30:01 +02:00
parent f19e1c27fc
commit ad254790a4
1 changed files with 2 additions and 6 deletions

View File

@ -1289,13 +1289,9 @@ impl FunctionContext {
debug_assert!(!self.is_initialized);
let num_locals = locals.iter().map(|l| l.count() as usize).sum();
let locals = vec![Default::default(); num_locals];
// TODO: Replace with extend.
for local in locals {
value_stack
.push(local)
.map_err(|_| TrapKind::StackOverflow)?;
for _ in 0..num_locals {
value_stack.push(Default::default())?;
}
self.is_initialized = true;