Ejemplo n.º 1
0
/*
** performs a basic GC step even if the collector is stopped
*/
void luaC_forcestep (lua_State *L) {
  global_State *g = G(L);
  int i;
  if (isgenerational(g)) generationalcollection(L);
  else step(L);
  for (i = 0; i < GCFINALIZENUM && g->tobefnz; i++)
    GCTM(L, 1);  /* Call a few pending finalizers */
}
Ejemplo n.º 2
0
/*
** performs a basic GC step
*/
void luaC_forcestep (lua_State *L) {
	global_State *g = G(L);
	int i;
	if (isgenerational(g)) generationalcollection(L);
	else incstep(L);
	/* run a few finalizers (or all of them at the end of a collect cycle) */
	for (i = 0; g->tobefnz && (i < GCFINALIZENUM || g->gcstate == GCSpause); i++)
	GCTM(L, 1);  /* call one finalizer */
}