[runtime] Replace offsetof with G_STRUCT_OFFSET on commit's @b0cff959e47c3d9955e66753...
authorAlexis Christoforides <alexis@thenull.net>
Fri, 5 Dec 2014 20:48:21 +0000 (15:48 -0500)
committerAlexis Christoforides <alexis@thenull.net>
Fri, 5 Dec 2014 20:48:21 +0000 (15:48 -0500)
mono/metadata/object.c
mono/metadata/sgen-gc.h
mono/metadata/string-icalls.c

index 8a7a582fa49ca38d2bd03ac07b377726997e23ce..d69dfafe1cfa21e05d044fe18f08a055a81bd597 100644 (file)
@@ -5057,10 +5057,10 @@ mono_string_new_size (MonoDomain *domain, gint32 len)
        size_t size;
 
        /* check for overflow */
-       if (len < 0 || len > ((SIZE_MAX - offsetof (MonoString, chars) - 2) / 2))
+       if (len < 0 || len > ((SIZE_MAX - G_STRUCT_OFFSET (MonoString, chars) - 2) / 2))
                mono_gc_out_of_memory (-1);
 
-       size = (offsetof (MonoString, chars) + ((len + 1) * 2));
+       size = (G_STRUCT_OFFSET (MonoString, chars) + ((len + 1) * 2));
        g_assert (size > 0);
 
        vtable = mono_class_vtable (domain, mono_defaults.string_class);
index 0e328097c7f1ed7ddc278278d9013f66bff51d0c..eaab6399b03f374cfc1b0b54b6a2286d4f063a65 100644 (file)
@@ -765,7 +765,7 @@ slow_object_get_size (MonoVTable *vtable, MonoObject* o)
         * mono_array_length_fast not using the object's vtable.
         */
        if (klass == mono_defaults.string_class) {
-               return offsetof (MonoString, chars) + 2 * mono_string_length_fast ((MonoString*) o) + 2;
+               return G_STRUCT_OFFSET (MonoString, chars) + 2 * mono_string_length_fast ((MonoString*) o) + 2;
        } else if (klass->rank) {
                MonoArray *array = (MonoArray*)o;
                size_t size = sizeof (MonoArray) + klass->sizes.element_size * mono_array_length_fast (array);
@@ -818,7 +818,7 @@ sgen_par_object_get_size (MonoVTable *vtable, MonoObject* o)
                SGEN_ASSERT (9, size >= sizeof (MonoObject), "Run length object size to small");
                return size;
        } else if (descr == SGEN_DESC_STRING) {
-               return offsetof (MonoString, chars) + 2 * mono_string_length_fast ((MonoString*) o) + 2;
+               return G_STRUCT_OFFSET (MonoString, chars) + 2 * mono_string_length_fast ((MonoString*) o) + 2;
        } else if (type == DESC_TYPE_VECTOR) {
                int element_size = ((descr) >> VECTOR_ELSIZE_SHIFT) & MAX_ELEMENT_SIZE;
                MonoArray *array = (MonoArray*)o;
index 22b1fbbbdb49a2aed23b58776bc07811f7c39496..473dbaf9931cb5cd89556cc56651ceab91050de0 100644 (file)
@@ -65,7 +65,7 @@ ves_icall_System_String_GetLOSLimit (void)
 {
        int limit = mono_gc_get_los_limit ();
 
-       return (limit - 2 - offsetof (MonoString, chars)) / 2;
+       return (limit - 2 - G_STRUCT_OFFSET (MonoString, chars)) / 2;
 }
 
 void