VarAction2: Fix memory leak of inlinable adjust groups

This commit is contained in:
Jonathan G Rennison
2022-11-03 20:23:27 +00:00
parent 51b39b68b7
commit ba3bc73676
2 changed files with 4 additions and 0 deletions

View File

@@ -5825,6 +5825,7 @@ static void NewSpriteGroup(ByteReader *buf)
ProcessDeterministicSpriteGroupRanges(ranges, group->ranges, group->default_group); ProcessDeterministicSpriteGroupRanges(ranges, group->ranges, group->default_group);
OptimiseVarAction2DeterministicSpriteGroup(va2_opt_state, feature, varsize, group, current_adjusts); OptimiseVarAction2DeterministicSpriteGroup(va2_opt_state, feature, varsize, group, current_adjusts);
current_adjusts.clear();
break; break;
} }

View File

@@ -129,6 +129,9 @@ public:
this->group_temp_store_variable_tracking_storage.EmptyArena(); this->group_temp_store_variable_tracking_storage.EmptyArena();
this->procedure_annotations.clear(); this->procedure_annotations.clear();
this->procedure_annotations_storage.EmptyArena(); this->procedure_annotations_storage.EmptyArena();
for (auto iter : this->inlinable_adjust_groups) {
iter.second->~vector<DeterministicSpriteGroupAdjust>();
}
this->inlinable_adjust_groups.clear(); this->inlinable_adjust_groups.clear();
this->inlinable_adjust_groups_storage.EmptyArena(); this->inlinable_adjust_groups_storage.EmptyArena();
this->dead_store_elimination_candidates.clear(); this->dead_store_elimination_candidates.clear();