From baf06088dff0b961843ad03efd75ff009befec5c Mon Sep 17 00:00:00 2001 From: jsmall-nvidia Date: Tue, 30 Oct 2018 15:31:27 -0400 Subject: Feature/serial string pool refactor (#702) * Ongoing serialization for full debug work. * Use StringRepresentationCache and StringSlicePool for serialization. * Removed some older path handling for serialization which had some wrong underlying assumptions. * Builds with refactored use of SubStringPool in ir-serialize. * Removed prohibitedCategories because not used anywhere. * Add category 'compatibility-issue' * Remove work in progress on debug serialization. --- source/core/slang-object-scope-manager.cpp | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 source/core/slang-object-scope-manager.cpp (limited to 'source/core/slang-object-scope-manager.cpp') diff --git a/source/core/slang-object-scope-manager.cpp b/source/core/slang-object-scope-manager.cpp new file mode 100644 index 000000000..313bd4cd5 --- /dev/null +++ b/source/core/slang-object-scope-manager.cpp @@ -0,0 +1,23 @@ +#include "slang-object-scope-manager.h" + +namespace Slang { + +void ObjectScopeManager::_releaseAll() +{ + RefObject*const* objs = m_objs.begin(); + const int numObjs = int(m_objs.Count()); + for (int i = 0; i < numObjs; ++i) + { + objs[i]->decreaseReference(); + } +} + +void ObjectScopeManager::clear() +{ + _releaseAll(); + // Free the memory as well as resizing + m_objs = List(); +} + +} // namespace Slang + -- cgit v1.2.3