From 0145e5b41e297a9da7c17142df1807c5efaec754 Mon Sep 17 00:00:00 2001 From: Justin King Date: Wed, 13 Dec 2023 14:03:08 -0800 Subject: [PATCH] Rename `memory_manager()` to `GetMemoryManager()` PiperOrigin-RevId: 590706027 --- common/type_factory.h | 4 +++- common/type_provider.h | 5 +++++ common/types/thread_compatible_type_factory.cc | 8 ++++---- common/types/thread_compatible_type_factory.h | 2 +- common/types/thread_safe_type_factory.cc | 8 ++++---- common/types/thread_safe_type_factory.h | 2 +- common/value.h | 8 ++++---- common/value_provider.h | 6 ++++++ common/values/list_value.h | 2 +- common/values/map_value.h | 2 +- 10 files changed, 30 insertions(+), 17 deletions(-) diff --git a/common/type_factory.h b/common/type_factory.h index 21b54dc41..6690abfc6 100644 --- a/common/type_factory.h +++ b/common/type_factory.h @@ -29,7 +29,9 @@ class TypeFactory { public: virtual ~TypeFactory() = default; - virtual MemoryManagerRef memory_manager() const = 0; + // Returns a `MemoryManagerRef` which is used to manage memory for internal + // data structures as well as created types. + virtual MemoryManagerRef GetMemoryManager() const = 0; // Creates a `ListType` whose element type is `element`. Requires that // `element` is a valid element type for lists. diff --git a/common/type_provider.h b/common/type_provider.h index 66f210fa9..e6a61f380 100644 --- a/common/type_provider.h +++ b/common/type_provider.h @@ -18,6 +18,7 @@ #include "absl/base/attributes.h" #include "absl/status/statusor.h" #include "absl/strings/string_view.h" +#include "common/memory.h" #include "common/type.h" namespace cel { @@ -31,6 +32,10 @@ class TypeProvider { public: virtual ~TypeProvider() = default; + // Returns a `MemoryManagerRef` which is used to manage memory for the type + // provider itself and its internal data structures. + virtual MemoryManagerRef GetMemoryManager() const = 0; + // `FindType` find the type corresponding to name `name`. virtual absl::StatusOr FindType( absl::string_view name, Type& scratch ABSL_ATTRIBUTE_LIFETIME_BOUND) = 0; diff --git a/common/types/thread_compatible_type_factory.cc b/common/types/thread_compatible_type_factory.cc index 9373cb0ff..428fb7c92 100644 --- a/common/types/thread_compatible_type_factory.cc +++ b/common/types/thread_compatible_type_factory.cc @@ -28,7 +28,7 @@ ListType ThreadCompatibleTypeFactory::CreateListTypeImpl(TypeView element) { list_type != list_types_.end()) { return list_type->second; } - ListType list_type(memory_manager(), Type(element)); + ListType list_type(GetMemoryManager(), Type(element)); return list_types_.insert({list_type.element(), list_type}).first->second; } @@ -38,7 +38,7 @@ MapType ThreadCompatibleTypeFactory::CreateMapTypeImpl(TypeView key, map_type != map_types_.end()) { return map_type->second; } - MapType map_type(memory_manager(), Type(key), Type(value)); + MapType map_type(GetMemoryManager(), Type(key), Type(value)); return map_types_ .insert({std::make_pair(map_type.key(), map_type.value()), map_type}) .first->second; @@ -50,7 +50,7 @@ StructType ThreadCompatibleTypeFactory::CreateStructTypeImpl( struct_type != struct_types_.end()) { return struct_type->second; } - StructType struct_type(memory_manager(), name); + StructType struct_type(GetMemoryManager(), name); return struct_types_.insert({struct_type.name(), struct_type}).first->second; } @@ -61,7 +61,7 @@ OpaqueType ThreadCompatibleTypeFactory::CreateOpaqueTypeImpl( opaque_type != opaque_types_.end()) { return opaque_type->second; } - OpaqueType opaque_type(memory_manager(), name, parameters); + OpaqueType opaque_type(GetMemoryManager(), name, parameters); return opaque_types_ .insert({OpaqueTypeKey{.name = opaque_type.name(), .parameters = opaque_type.parameters()}, diff --git a/common/types/thread_compatible_type_factory.h b/common/types/thread_compatible_type_factory.h index 3ec34a90d..2a4b2971c 100644 --- a/common/types/thread_compatible_type_factory.h +++ b/common/types/thread_compatible_type_factory.h @@ -31,7 +31,7 @@ class ThreadCompatibleTypeFactory final : public TypeFactory { explicit ThreadCompatibleTypeFactory(MemoryManagerRef memory_manager) : memory_manager_(memory_manager) {} - MemoryManagerRef memory_manager() const override { return memory_manager_; } + MemoryManagerRef GetMemoryManager() const override { return memory_manager_; } private: ListType CreateListTypeImpl(TypeView element) override; diff --git a/common/types/thread_safe_type_factory.cc b/common/types/thread_safe_type_factory.cc index b91c3b385..73d5cdd11 100644 --- a/common/types/thread_safe_type_factory.cc +++ b/common/types/thread_safe_type_factory.cc @@ -32,7 +32,7 @@ ListType ThreadSafeTypeFactory::CreateListTypeImpl(TypeView element) { return list_type->second; } } - ListType list_type(memory_manager(), Type(element)); + ListType list_type(GetMemoryManager(), Type(element)); absl::WriterMutexLock lock(&list_types_mutex_); return list_types_.insert({list_type.element(), list_type}).first->second; } @@ -45,7 +45,7 @@ MapType ThreadSafeTypeFactory::CreateMapTypeImpl(TypeView key, TypeView value) { return map_type->second; } } - MapType map_type(memory_manager(), Type(key), Type(value)); + MapType map_type(GetMemoryManager(), Type(key), Type(value)); absl::WriterMutexLock lock(&map_types_mutex_); return map_types_ .insert({std::make_pair(map_type.key(), map_type.value()), map_type}) @@ -60,7 +60,7 @@ StructType ThreadSafeTypeFactory::CreateStructTypeImpl(absl::string_view name) { return struct_type->second; } } - StructType struct_type(memory_manager(), name); + StructType struct_type(GetMemoryManager(), name); absl::WriterMutexLock lock(&struct_types_mutex_); return struct_types_.insert({struct_type.name(), struct_type}).first->second; } @@ -80,7 +80,7 @@ OpaqueType ThreadSafeTypeFactory::CreateOpaqueTypeImpl( return opaque_type->second; } } - OpaqueType opaque_type(memory_manager(), name, parameters); + OpaqueType opaque_type(GetMemoryManager(), name, parameters); absl::WriterMutexLock lock(&opaque_types_mutex_); return opaque_types_ .insert({OpaqueTypeKey{.name = opaque_type.name(), diff --git a/common/types/thread_safe_type_factory.h b/common/types/thread_safe_type_factory.h index b9d45f955..907b77686 100644 --- a/common/types/thread_safe_type_factory.h +++ b/common/types/thread_safe_type_factory.h @@ -33,7 +33,7 @@ class ThreadSafeTypeFactory final : public TypeFactory { explicit ThreadSafeTypeFactory(MemoryManagerRef memory_manager) : memory_manager_(memory_manager) {} - MemoryManagerRef memory_manager() const override { return memory_manager_; } + MemoryManagerRef GetMemoryManager() const override { return memory_manager_; } private: ListType CreateListTypeImpl(TypeView element) override; diff --git a/common/value.h b/common/value.h index 3d4a1f7ec..e1e77ecda 100644 --- a/common/value.h +++ b/common/value.h @@ -1053,7 +1053,7 @@ class ListValueBuilder final : public ListValueBuilderInterface { public: ListValueBuilder(TypeFactory& type_factory ABSL_ATTRIBUTE_LIFETIME_BOUND, TypeView element) - : ListValueBuilder(type_factory.memory_manager(), + : ListValueBuilder(type_factory.GetMemoryManager(), type_factory.CreateListType(element)) {} ListValueBuilder(MemoryManagerRef memory_manager, ListType type) @@ -1198,7 +1198,7 @@ class MapValueBuilder final : public MapValueBuilderInterface { MapValueBuilder(TypeFactory& type_factory ABSL_ATTRIBUTE_LIFETIME_BOUND, TypeView key, value_view_type value) - : MapValueBuilder(type_factory.memory_manager(), + : MapValueBuilder(type_factory.GetMemoryManager(), type_factory.CreateMapType(key, value)) {} MapValueBuilder(MemoryManagerRef memory_manager, MapType type) @@ -1244,7 +1244,7 @@ class MapValueBuilder final : public MapValueBuilderInterface { MapValueBuilder(TypeFactory& type_factory ABSL_ATTRIBUTE_LIFETIME_BOUND, key_view_type key, TypeView value) - : MapValueBuilder(type_factory.memory_manager(), + : MapValueBuilder(type_factory.GetMemoryManager(), type_factory.CreateMapType(key, value)) {} MapValueBuilder(MemoryManagerRef memory_manager, MapType type) @@ -1284,7 +1284,7 @@ class MapValueBuilder final : public MapValueBuilderInterface { public: MapValueBuilder(TypeFactory& type_factory ABSL_ATTRIBUTE_LIFETIME_BOUND, TypeView key, TypeView value) - : MapValueBuilder(type_factory.memory_manager(), + : MapValueBuilder(type_factory.GetMemoryManager(), type_factory.CreateMapType(key, value)) {} MapValueBuilder(MemoryManagerRef memory_manager, MapType type) diff --git a/common/value_provider.h b/common/value_provider.h index 5d732b235..4067da126 100644 --- a/common/value_provider.h +++ b/common/value_provider.h @@ -30,6 +30,12 @@ class ValueProvider { public: virtual ~ValueProvider() = default; + // Returns a `MemoryManagerRef` which is used to manage memory for the value + // provider itself, its internal data structures, as well as for builders. The + // builders are managed by the value provider's memory manager, but the values + // produced by the builders are managed by the value factory's memory manager. + virtual MemoryManagerRef GetMemoryManager() const = 0; + // `NewListValueBuilder` returns a new `ListValueBuilderInterface` for the // corresponding `ListType` `type`. virtual absl::StatusOr> NewListValueBuilder( diff --git a/common/values/list_value.h b/common/values/list_value.h index 643ed0ae2..0fed0abe5 100644 --- a/common/values/list_value.h +++ b/common/values/list_value.h @@ -350,7 +350,7 @@ class ListValueBuilder final : public ListValueBuilderInterface { ListValueBuilder(TypeFactory& type_factory ABSL_ATTRIBUTE_LIFETIME_BOUND, element_view_type element) - : ListValueBuilder(type_factory.memory_manager(), + : ListValueBuilder(type_factory.GetMemoryManager(), type_factory.CreateListType(element)) {} ListValueBuilder(MemoryManagerRef memory_manager, ListType type) diff --git a/common/values/map_value.h b/common/values/map_value.h index 757d5e0af..1c8798675 100644 --- a/common/values/map_value.h +++ b/common/values/map_value.h @@ -445,7 +445,7 @@ class MapValueBuilder final : public MapValueBuilderInterface { MapValueBuilder(TypeFactory& type_factory ABSL_ATTRIBUTE_LIFETIME_BOUND, key_view_type key, value_view_type value) - : MapValueBuilder(type_factory.memory_manager(), + : MapValueBuilder(type_factory.GetMemoryManager(), type_factory.CreateMapType(key, value)) {} MapValueBuilder(MemoryManagerRef memory_manager, MapType type)