diff --git a/include/cyclone/runtime-main.h b/include/cyclone/runtime-main.h index 9e7a26f4..c99cee8b 100644 --- a/include/cyclone/runtime-main.h +++ b/include/cyclone/runtime-main.h @@ -28,7 +28,6 @@ static void Cyc_heap_init(long heap_size) printf("main: Allocating and initializing heap...\n"); #endif gc_init_heap(heap_size); - gc_initialize(); gc_start_collector(); } diff --git a/scheme/cyclone/cgen.sld b/scheme/cyclone/cgen.sld index 50ca02ae..9ebbf111 100644 --- a/scheme/cyclone/cgen.sld +++ b/scheme/cyclone/cgen.sld @@ -81,13 +81,14 @@ mclosure0(entry_pt,&c_entry_pt); // First function to execute _cyc_argc = argc; _cyc_argv = argv; - Cyc_heap_init(heap_size); + gc_initialize(); thd = malloc(sizeof(gc_thread_data)); gc_thread_data_init(thd, 0, (char *) &stack_size, stack_size); thd->gc_cont = &entry_pt; thd->gc_args[0] = &clos_halt; thd->gc_num_args = 1; gc_add_mutator(thd); + Cyc_heap_init(heap_size); Cyc_start_thread(thd); return 0;}")