blob: 5843b1b8893778d020a5e68a69dd7fb34ba17edd [file] [log] [blame]
//===--------------- gcinit.cc - Mvm Garbage Collector -------------------===//
//
// Mvm
//
// This file is distributed under the University of Illinois Open Source
// License. See LICENSE.TXT for details.
//
//===----------------------------------------------------------------------===//
#include "MvmGC.h"
using namespace mvm;
static const size_t def_collect_freq_auto = 64*1024*1024;
static const size_t def_collect_freq_maybe = 64*1024*1024;
void Collector::initialise() {
used_nodes = new GCChunkNode();
unused_nodes = new GCChunkNode();
allocator = new GCAllocator();
used_nodes->alone();
unused_nodes->alone();
current_mark = 0;
status = stat_alloc;
_collect_freq_auto = def_collect_freq_auto;
_collect_freq_maybe = def_collect_freq_maybe;
_since_last_collection = _collect_freq_auto;
_enable_auto = 1;
_enable_collection = 1;
_enable_maybe = 1;
}
void Collector::destroy() {
delete allocator;
allocator = 0;
}