Beispiel #1
0
void
GCInit(void)
{
	init_int(&minOffRequest, 1 * TILT_PAGESIZE);
	init_int(&maxOffRequest, 8 * TILT_PAGESIZE);
	init_int(&minOnRequest, 1 * TILT_PAGESIZE);
	init_int(&copyPageSize, TILT_PAGESIZE / 2);
	init_int(&copyCheckSize, TILT_PAGESIZE / 2);
	init_int(&copyChunkSize, 256);
	minOffRequest = RoundUp(minOffRequest, TILT_PAGESIZE);
	minOnRequest = RoundUp(minOnRequest, TILT_PAGESIZE);

	reset_statistic(&minorSurvivalStatistic);
	reset_statistic(&heapSizeStatistic);
	reset_statistic(&majorSurvivalStatistic);

	switch (collector_type) {
	case Semispace:
		GCFun = GC_Semi;
		GCReleaseFun = GCRelease_Semi;
		GCPollFun = NULL;
		GCInit_Semi();
		break;
	case Generational:
		GCFun = GC_Gen;
		GCReleaseFun = GCRelease_Gen;
		GCPollFun = NULL;
		GCInit_Gen();
		break;
	case SemispaceParallel:
		GCFun = GC_SemiPara;
		GCReleaseFun = GCRelease_SemiPara;
		GCPollFun = GCPoll_SemiPara;
		GCInit_SemiPara();
		break;
	case GenerationalParallel:
		GCFun = GC_GenPara;
		GCReleaseFun = GCRelease_GenPara;
		GCPollFun = GCPoll_GenPara;
		GCInit_GenPara();
		break;
	case SemispaceConcurrent:
		GCFun = GC_SemiConc;
		GCReleaseFun = GCRelease_SemiConc;
		GCPollFun = GCPoll_SemiConc;
		GCInit_SemiConc();
		break;
	case GenerationalConcurrent:
		GCFun = GC_GenConc;
		GCReleaseFun = GCRelease_GenConc;
		GCPollFun = GCPoll_GenConc;
		GCInit_GenConc();
		break;
	default:
		DIE("bad collector type");
	}
	if (forceMirrorArray)
		mirrorArray = 1;
}
Beispiel #2
0
void Port::reset_all_statistic()
{
	reset_statistic();

	global_time = 0.0;

	ships_generated = 0;

	max_wait_time = 0.0;

	Ship::mean_wait_time_all_exp = 0.0;

	ships_after_track_impact_all_exp = 0;

	for(int i = 0 ; i < NUM_OF_SHIPS_TYPE; i ++)
		ships_generated_type[i] = 0;

	for(int i = 0; i < 30; i ++)
		ShipArrives::hist_appear_interval[i] = 0;

	for(int i = 0; i < 20; i ++)
		Tanker::hist_tanker_weight[i] = 0;
}