view runtime/rhopefuncs_epilog.c @ 177:e57c151f351e

Get bytecode engine working well enough for naive fib
author Mike Pavone <pavone@retrodev.com>
date Sun, 12 Jun 2011 03:49:51 -0700
parents bac2c74801f0
children ba35ab624ec2
line wrap: on
line source


DO_END:
	for(idx = 0; idx < cdata->num_params; ++idx)	
		params[idx] = cdata->params[idx];
	free_context(ct);
	return cdata->num_params;

DO_END_THREAD:
	for(idx = 0; idx < cdata->num_params; ++idx)
	{ release_ref(cdata->params[idx]); }
	if(ct->runafter)
	{
		temp_ct = ct;
		ct = ct->runafter;
		free_context(temp_ct);
		cdata = ct->resume_cdata;
		func = cdata->func;
		DISPATCH
	}
	free_context(ct);
	if(ct = get_cqueue())
	{
		cdata = ct->resume_cdata;
		func = cdata->func;
		DISPATCH
	}
NOTHING_TO_DO:
	return 0;

_exception:
	puts("Exception! Trace follows:");
	while(cdata && cdata->func < END)
	{
		printf("%d\n", cdata->func);
		cdata = cdata->lastframe;
	}
	return -1;
}