2010-05-06 Rodrigo Kumpera <rkumpera@novell.com>
commit3e984fa2fc8da4949db7ce7471255cf388ee2f38
authorRodrigo Kumpera <kumpera@gmail.com>
Fri, 7 May 2010 01:00:15 +0000 (7 01:00 -0000)
committerRodrigo Kumpera <kumpera@gmail.com>
Fri, 7 May 2010 01:00:15 +0000 (7 01:00 -0000)
treeaf1440ea2733696f576240e57d3dd00ce6531476
parentddff5260384c4023fcb7b45ed226f402a5060cba
2010-05-06 Rodrigo Kumpera  <rkumpera@novell.com>

Move mono_class_init from mono_type_get_object to icalls.
This causes massive memory savings for Assembly::GetTypes () and
make it fail a lot less due to missing dependencies.

This is a conservative, naive change as it doesn't remove some
mono_class_init from places that might not need them. Carefull
review of those should follow.

* reflection.c (mono_type_get_object): Don't mono_class_init the
returning type.

* reflection.c:
* cominterop.c:
* icall.c:
* marshal.c: Call mono_class_init in functions receiving a MonoType
object.

First step into fixing #601431.

svn path=/trunk/mono/; revision=156867
mono/metadata/ChangeLog
mono/metadata/cominterop.c
mono/metadata/icall.c
mono/metadata/marshal.c
mono/metadata/reflection.c