From 8950943356b43d08e10df5b13ff03a68ad181324 Mon Sep 17 00:00:00 2001 From: Juan Linietsky Date: Fri, 7 Apr 2023 23:32:37 +0200 Subject: Optimize Object::get_class_name * Run the static function once per class instead of one per instance. * Saves some memory in Object derived classes. --- core/string/string_name.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'core/string/string_name.cpp') diff --git a/core/string/string_name.cpp b/core/string/string_name.cpp index df9b6b3f1a..6099fea13f 100644 --- a/core/string/string_name.cpp +++ b/core/string/string_name.cpp @@ -201,6 +201,14 @@ StringName::StringName(const StringName &p_name) { } } +void StringName::assign_static_unique_class_name(StringName *ptr, const char *p_name) { + mutex.lock(); + if (*ptr == StringName()) { + *ptr = StringName(p_name, true); + } + mutex.unlock(); +} + StringName::StringName(const char *p_name, bool p_static) { _data = nullptr; -- cgit v1.2.3