From 52914289b59c37746afd0670f7540c956d6d6e31 Mon Sep 17 00:00:00 2001 From: Zoltan Varga Date: Wed, 30 Nov 2016 22:28:41 -0500 Subject: [PATCH] Revert "Only allocate 1 empty string instance per AppDomain " (#4062) --- mono/metadata/appdomain.c | 1 - mono/metadata/domain-internals.h | 1 - mono/metadata/object.c | 25 ------------------------- mono/metadata/object.h | 8 -------- msvc/mono.def | 2 -- msvc/monosgen.def | 2 -- 6 files changed, 39 deletions(-) diff --git a/mono/metadata/appdomain.c b/mono/metadata/appdomain.c index f0fefe4a9f0..7f62f1ad556 100644 --- a/mono/metadata/appdomain.c +++ b/mono/metadata/appdomain.c @@ -187,7 +187,6 @@ create_domain_objects (MonoDomain *domain) MonoString *empty_str = mono_string_intern_checked (mono_string_new (domain, ""), &error); mono_error_assert_ok (&error); mono_field_static_set_value (string_vt, string_empty_fld, empty_str); - domain->empty_string = empty_str; /* * Create an instance early since we can't do it when there is no memory. diff --git a/mono/metadata/domain-internals.h b/mono/metadata/domain-internals.h index 25ed47e0112..c07c1811571 100644 --- a/mono/metadata/domain-internals.h +++ b/mono/metadata/domain-internals.h @@ -315,7 +315,6 @@ struct _MonoDomain { MonoObject *ephemeron_tombstone; /* new MonoType [0] */ MonoArray *empty_types; - MonoString *empty_string; /* * The fields between FIRST_GC_TRACKED and LAST_GC_TRACKED are roots, but * not object references. diff --git a/mono/metadata/object.c b/mono/metadata/object.c index 3147588dcd5..a2b28ad4f0d 100644 --- a/mono/metadata/object.c +++ b/mono/metadata/object.c @@ -5915,31 +5915,6 @@ ves_icall_array_new_specific (MonoVTable *vtable, uintptr_t n) return arr; } -/** - * mono_string_empty_wrapper: - * - * Returns: The same empty string instance as the managed string.Empty - */ -MonoString* -mono_string_empty_wrapper () -{ - MonoDomain *domain = mono_domain_get (); - return mono_string_empty (domain); -} - -/** - * mono_string_empty: - * - * Returns: The same empty string instance as the managed string.Empty - */ -MonoString* -mono_string_empty (MonoDomain *domain) -{ - g_assert (domain); - g_assert (domain->empty_string); - return domain->empty_string; -} - /** * mono_string_new_utf16: * @text: a pointer to an utf16 string diff --git a/mono/metadata/object.h b/mono/metadata/object.h index e67e8cfd9cd..24f7284e8e2 100644 --- a/mono/metadata/object.h +++ b/mono/metadata/object.h @@ -112,14 +112,6 @@ mono_array_addr_with_size (MonoArray *array, int size, uintptr_t idx); MONO_API uintptr_t mono_array_length (MonoArray *array); -MONO_RT_EXTERNAL_ONLY -MONO_API MonoString* -mono_string_empty (MonoDomain *domain); - -MONO_RT_EXTERNAL_ONLY -MONO_API MonoString* -mono_string_empty_wrapper (); - MONO_RT_EXTERNAL_ONLY MONO_API MonoString* mono_string_new_utf16 (MonoDomain *domain, const mono_unichar2 *text, int32_t len); diff --git a/msvc/mono.def b/msvc/mono.def index 83431ecc0e6..f5a0e9ab98a 100644 --- a/msvc/mono.def +++ b/msvc/mono.def @@ -824,8 +824,6 @@ mono_string_hash mono_string_intern mono_string_is_interned mono_string_length -mono_string_empty -mono_string_empty_wrapper mono_string_new mono_string_new_len mono_string_new_size diff --git a/msvc/monosgen.def b/msvc/monosgen.def index 9aeb6f7e10b..1722591c2f3 100644 --- a/msvc/monosgen.def +++ b/msvc/monosgen.def @@ -826,8 +826,6 @@ mono_string_hash mono_string_intern mono_string_is_interned mono_string_length -mono_string_empty -mono_string_empty_wrapper mono_string_new mono_string_new_len mono_string_new_size -- 2.25.1