Merge branch 'sgen-android'
authorMark Probst <mark.probst@gmail.com>
Mon, 24 Jan 2011 21:26:45 +0000 (22:26 +0100)
committerMark Probst <mark.probst@gmail.com>
Mon, 24 Jan 2011 21:26:45 +0000 (22:26 +0100)
Conflicts:
mono/metadata/sgen-gc.c

1  2 
configure.in
mono-core.spec.in
mono/metadata/sgen-gc.c
mono/metadata/sgen-gc.h

diff --cc configure.in
Simple merge
Simple merge
index a3a250c67b210472193c3e910971f1ad4748e8d8,2b72d3e4f3905d3e1a187c39869c113b90c50007..9d1a20be3f3c2751becb4131935f279f573654c2
@@@ -2481,14 -2493,12 +2505,20 @@@ finish_gray_stack (char *start_addr, ch
        TV_GETTIME (atv);
        DEBUG (2, fprintf (gc_debug_file, "%s generation done\n", generation_name (generation)));
  
 +      /*
 +      We must clear weak links that don't track resurrection before processing object ready for
 +      finalization so they can be cleared before that.
 +      */
 +      null_link_in_range (copy_func, start_addr, end_addr, generation, TRUE, queue);
 +      if (generation == GENERATION_OLD)
 +              null_link_in_range (copy_func, start_addr, end_addr, GENERATION_NURSERY, TRUE, queue);
 +
+       if (finalized_array == NULL && mono_sgen_need_bridge_processing ()) {
+               finalized_array_capacity = 32;
+               finalized_array = mono_sgen_alloc_internal_dynamic (sizeof (MonoObject*) * finalized_array_capacity, INTERNAL_MEM_BRIDGE_DATA);
+       }
+       finalized_array_entries = 0;
        /* walk the finalization queue and move also the objects that need to be
         * finalized: use the finalized objects as new roots so the objects they depend
         * on are also not reclaimed. As with the roots above, only objects in the nursery
Simple merge