addressed a couple of memory leaks in ZAM execution

This commit is contained in:
Vern Paxson 2022-01-04 17:00:49 -08:00 committed by Tim Wojtulewicz
parent 3d16baae83
commit 334f7f4ada
2 changed files with 4 additions and 4 deletions

View file

@ -1386,8 +1386,8 @@ void ZAM_ExprOpTemplate::InstantiateEval(const vector<ZAM_OperandType>& ot_orig,
auto is_none = ei.LHS_ET() == ZAM_EXPR_TYPE_NONE;
auto is_default = ei.LHS_ET() == ZAM_EXPR_TYPE_DEFAULT;
if ( zc != ZIC_FIELD && ! is_none && ! is_default &&
find_type_info(ei.LHS_ET()).is_managed && ! HasExplicitResultType() )
if ( ! is_none && ! is_default && find_type_info(ei.LHS_ET()).is_managed &&
! HasExplicitResultType() )
{
auto delim = zc == ZIC_VEC ? "->" : ".";
auto pre = "auto hold_lhs = " + lhs + delim + "ManagedVal();\n\t";

View file

@ -1669,7 +1669,7 @@ internal-op Next-Table-Iter-Val-Var
# v3 = branch target if loop done
type VVV
eval NextTableIterPre(v2, v3)
frame[z.v1] = ti.IterValue();
AssignV1(ti.IterValue());
ti.NextIter(frame);
internal-op Next-Table-Iter-Val-Var-No-Vars
@ -1678,7 +1678,7 @@ internal-op Next-Table-Iter-Val-Var-No-Vars
# v3 = branch target if loop done
type VVV
eval NextTableIterPre(v2, v3)
frame[z.v1] = ti.IterValue();
AssignV1(ti.IterValue());
ti.IterFinished();