2010-03-01 Zoltan Varga <vargaz@gmail.com>
commitfffb2b1bbdd930aab78264c118aea2b2ea1d878e
authorzoltan <zoltan@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Mon, 1 Mar 2010 02:44:27 +0000 (1 02:44 +0000)
committerzoltan <zoltan@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Mon, 1 Mar 2010 02:44:27 +0000 (1 02:44 +0000)
tree72783bdad52d5b15bfdc897406d8f0499b6904b2
parent090a54c26b6ea0d40e1cd4e5719dc5699752d89f
2010-03-01  Zoltan Varga  <vargaz@gmail.com>

* class-internals.h (MonoClass): Get rid of the reflection_info field, add
a GC handle instead. This is a bit slower to access, but avoids burdening the
GC with 100s of individual roots.

* reflection.c (mono_class_get_ref_info):
(mono_class_set_ref_info):
(mono_class_free_ref_info): New internal helper fuctions.

* reflection.c appdomain.c icall.c class.c: Use the new helper functions instead
of accessing klass->reflection_info directly.

* sgen-gc.c (alloc_complex_descriptor): Fix the computation of the number of
words.

* gc.c (alloc_handle): Create a GC descriptor for the 'entries' array, free
the previous array.

git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/mono@152649 e3ebcda4-bce8-0310-ba0a-eca2169e7518
mono/metadata/ChangeLog
mono/metadata/appdomain.c
mono/metadata/class-internals.h
mono/metadata/class.c
mono/metadata/gc.c
mono/metadata/icall.c
mono/metadata/object-internals.h
mono/metadata/reflection.c
mono/metadata/sgen-gc.c