Revert "Only allocate 1 empty string instance per AppDomain " (#4062)
authorZoltan Varga <vargaz@gmail.com>
Thu, 1 Dec 2016 03:28:41 +0000 (22:28 -0500)
committerGitHub <noreply@github.com>
Thu, 1 Dec 2016 03:28:41 +0000 (22:28 -0500)
mono/metadata/appdomain.c
mono/metadata/domain-internals.h
mono/metadata/object.c
mono/metadata/object.h
msvc/mono.def
msvc/monosgen.def

index f0fefe4a9f03ee13b69b6015b7fc66a7d5f643e6..7f62f1ad5562d30504f3deac4a237ba52c0ea3eb 100644 (file)
@@ -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.
index 25ed47e011220ca46d82ed85978430066536ca20..c07c181157125834dd95541260a0e31ee4bc67f7 100644 (file)
@@ -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.
index 3147588dcd53f1cba61b536d742c247f16235789..a2b28ad4f0d6ba4fcbc9850f02323f13b7c7930e 100644 (file)
@@ -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
index e67e8cfd9cdbd060637ce0161574a0e3bad2919a..24f7284e8e29fe365e3933622a98983951e09830 100644 (file)
@@ -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);
index 83431ecc0e672298a43f45a10d35e6f6665c59e1..f5a0e9ab98ae02180157b09927d2fccd54f239a3 100644 (file)
@@ -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
index 9aeb6f7e10b461252eec24af79fe7bd3d0a8d38c..1722591c2f397fcd574413a75dd699b8602dcec5 100644 (file)
@@ -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