From 2376eb634751f92e6bcb9dc8dbc1ef88b9873319 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Thu, 4 May 2017 10:32:01 -0300 Subject: barrier for prototype's cache (with new gray list 'protogray' to keep prototypes to have their caches visited again) + constant 'MAXMISS' --- ltests.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'ltests.c') diff --git a/ltests.c b/ltests.c index 4ac2c702..93a84284 100644 --- a/ltests.c +++ b/ltests.c @@ -1,5 +1,5 @@ /* -** $Id: ltests.c,v 2.215 2017/04/24 16:59:26 roberto Exp roberto $ +** $Id: ltests.c,v 2.216 2017/04/24 18:06:12 roberto Exp roberto $ ** Internal Module for Debugging of the Lua Implementation ** See Copyright Notice in lua.h */ @@ -409,6 +409,8 @@ static void checkobject (global_State *g, GCObject *o, int maybedead, getage(o) == G_TOUCHED1 || getage(o) == G_OLD0 || o->tt == LUA_TTHREAD || + (o->tt == LUA_TPROTO && + (gco2p(o)->cache != NULL || gco2p(o)->cachemiss >= MAXMISS)) || (o->tt == LUA_TUPVAL && upisopen(gco2upv(o)))); } } @@ -446,6 +448,7 @@ static void markgrays (global_State *g) { checkgraylist(g, g->weak); checkgraylist(g, g->ephemeron); checkgraylist(g, g->allweak); + checkgraylist(g, g->protogray); } -- cgit v1.2.3-55-g6feb