[runtime] Fix mono_class_instance_size () to work with dynamically created types.
authorZoltan Varga <vargaz@gmail.com>
Thu, 12 Mar 2015 01:39:17 +0000 (21:39 -0400)
committerZoltan Varga <vargaz@gmail.com>
Thu, 12 Mar 2015 01:39:25 +0000 (21:39 -0400)
mono/metadata/class.c

index 3768eb02835d13b0c4d1b79944e1ef4ac77543c6..77d44937c63c8f1b4dbdda36576dfc7fc14d6f02 100644 (file)
@@ -6762,6 +6762,9 @@ mono_class_instance_size (MonoClass *klass)
 {      
        if (!klass->size_inited)
                mono_class_init (klass);
+       /* This can happen with dynamically created types */
+       if (!klass->fields_inited)
+               mono_class_setup_fields_locking (klass);
 
        return klass->instance_size;
 }