Disable collection on master GC for now
svn: r12809
This commit is contained in:
parent
17547b977f
commit
ae6d07d76a
|
@ -80,6 +80,11 @@ static THREAD_LOCAL NewGC *GC;
|
|||
#define GC_get_GC() (GC)
|
||||
#define GC_set_GC(gc) (GC = gc)
|
||||
|
||||
inline static int is_master_gc(NewGC *gc) {
|
||||
return (MASTERGC == gc);
|
||||
}
|
||||
|
||||
|
||||
#include "msgprint.c"
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -1548,6 +1553,7 @@ void GC_switch_out_master_gc() {
|
|||
if(!initialized) {
|
||||
initialized = 1;
|
||||
MASTERGC = GC_get_GC();
|
||||
MASTERGC->dumping_avoid_collection = 1;
|
||||
save_globals_to_gc(MASTERGC);
|
||||
GC_construct_child_gc();
|
||||
}
|
||||
|
@ -2554,6 +2560,7 @@ static void garbage_collect(NewGC *gc, int force_full)
|
|||
mark_roots(gc);
|
||||
mark_immobiles(gc);
|
||||
TIME_STEP("rooted");
|
||||
if (!is_master_gc(gc))
|
||||
GC_mark_variable_stack(GC_variable_stack, 0, get_stack_base(gc), NULL);
|
||||
|
||||
TIME_STEP("stacked");
|
||||
|
@ -2602,6 +2609,7 @@ static void garbage_collect(NewGC *gc, int force_full)
|
|||
repair_weak_finalizer_structs(gc);
|
||||
repair_roots(gc);
|
||||
repair_immobiles(gc);
|
||||
if (!is_master_gc(gc))
|
||||
GC_fixup_variable_stack(GC_variable_stack, 0, get_stack_base(gc), NULL);
|
||||
TIME_STEP("reparied roots");
|
||||
repair_heap(gc);
|
||||
|
|
Loading…
Reference in New Issue
Block a user