Release gc roots of dynamic assemblies before calling mono_gc_clear_domain.
commitba5eacd40b2a54efc578ffc8b72034c3fc2e31f5
authorRodrigo Kumpera <kumpera@gmail.com>
Mon, 11 Jun 2012 23:20:25 +0000 (11 20:20 -0300)
committerRodrigo Kumpera <kumpera@gmail.com>
Mon, 11 Jun 2012 23:24:34 +0000 (11 20:24 -0300)
treebdd8bc567de9da1770178fe528b703df5041288a
parentadd22ee686591cbdfedf16d2cc45d762f6349f65
Release gc roots of dynamic assemblies before calling mono_gc_clear_domain.

* domain.c (mono_domain_free): We clean all dynamic assemblies
of GC roots before asking the GC to clear the rest of the heap.
This is required since the GC expects all roots to be free
of refs to the dying domain before been invoked.

Fixes System.Runtime.Serialization test suite  under sgen.
mono/metadata/assembly.c
mono/metadata/domain.c
mono/metadata/metadata-internals.h
mono/metadata/object-internals.h
mono/metadata/reflection.c