packages feed

epic-0.1.7: evm/mainprog.c

#include <gc_header.h>
#include "closure.h"

void* _do__U_main();

void** _epic_top_of_stack;

VMState* vm;

int main(int argc, char* argv[]) {
    void* stacktop = NULL;
    _epic_top_of_stack = (void**)&stacktop;

    GC_init();
    vm = init_evm(argc, argv);

//    GC_use_entire_heap = 1;
//    GC_free_space_divisor = 2;
//    GC_enable_incremental();
//    GC_time_limit = GC_TIME_UNLIMITED;

//    GC_full_freq=15;
//    fprintf(stderr, "Heap: %d\n", GC_get_heap_size());
    GC_expand_hp(1000000);
//    fprintf(stderr, "Heap: %d\n", GC_get_heap_size());

//    GC_disable();

    _do___U__main();

//    GC_gcollect();
/*    fprintf(stderr, "%d\n", GC_gc_no);
    fprintf(stderr, "Heap: %d\n", GC_get_heap_size());
    fprintf(stderr, "Free: %d\n", GC_get_free_bytes());
    fprintf(stderr, "Total: %d\n", GC_get_total_bytes());*/

/*
    if (vm->start_roots!=vm->roots) {
	fprintf(stderr, "Warning: roots left %d\n", vm->roots-vm->start_roots);
    }
*/

    close_evm(vm);

    return 0; 
}