Fix stack capacity inheritance
This commit is contained in:
parent
e58bae6d29
commit
6a8a8c1c00
@ -280,7 +280,7 @@ impl<'a> Factory<'a> {
|
||||
}
|
||||
};
|
||||
|
||||
self.target.stack = old.stack.split_last(num_param);
|
||||
self.target.stack = old.stack.split_last(num_param, num_result);
|
||||
|
||||
old.stack.push_temporary(num_result);
|
||||
|
||||
|
@ -46,13 +46,13 @@ impl Stack {
|
||||
self.var_list.len()
|
||||
}
|
||||
|
||||
pub fn split_last(&mut self, len: usize) -> Self {
|
||||
let desired = self.len() - len;
|
||||
pub fn split_last(&mut self, num_param: usize, num_result: usize) -> Self {
|
||||
let desired = self.len() - num_param;
|
||||
let var_list = self.var_list.split_off(desired);
|
||||
|
||||
Self {
|
||||
var_list,
|
||||
capacity: self.capacity,
|
||||
capacity: self.capacity.max(desired + num_result),
|
||||
previous: self.previous + desired,
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user