VarAction2: Fix memory leak of inlinable adjust groups
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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();
|
||||||
|
Reference in New Issue
Block a user