diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2013-08-05 13:58:28 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2013-08-05 13:58:28 -0300 |
| commit | 677d90165ffef728231340c6328e9661824dbc34 (patch) | |
| tree | 3338e6f1b0c2f82db84def5751ea418a58fbc31a /lapi.c | |
| parent | 4244da96bfcf205624487b99b69e9d8dd1857293 (diff) | |
| download | lua-677d90165ffef728231340c6328e9661824dbc34.tar.gz lua-677d90165ffef728231340c6328e9661824dbc34.tar.bz2 lua-677d90165ffef728231340c6328e9661824dbc34.zip | |
no more generational collection !!!
Diffstat (limited to 'lapi.c')
| -rw-r--r-- | lapi.c | 35 |
1 files changed, 8 insertions, 27 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: lapi.c,v 2.184 2013/06/20 15:12:43 roberto Exp roberto $ | 2 | ** $Id: lapi.c,v 2.185 2013/07/05 14:29:51 roberto Exp roberto $ |
| 3 | ** Lua API | 3 | ** Lua API |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -1068,19 +1068,13 @@ LUA_API int lua_gc (lua_State *L, int what, int data) { | |||
| 1068 | break; | 1068 | break; |
| 1069 | } | 1069 | } |
| 1070 | case LUA_GCSTEP: { | 1070 | case LUA_GCSTEP: { |
| 1071 | if (g->gckind == KGC_GEN) { /* generational mode? */ | 1071 | lu_mem debt = cast(lu_mem, data) * 1024 - GCSTEPSIZE; |
| 1072 | res = (g->GCestimate == 0); /* true if it will do major collection */ | 1072 | if (g->gcrunning) |
| 1073 | luaC_forcestep(L); /* do a single step */ | 1073 | debt += g->GCdebt; /* include current debt */ |
| 1074 | } | 1074 | luaE_setdebt(g, debt); |
| 1075 | else { | 1075 | luaC_forcestep(L); |
| 1076 | lu_mem debt = cast(lu_mem, data) * 1024 - GCSTEPSIZE; | 1076 | if (g->gcstate == GCSpause) /* end of cycle? */ |
| 1077 | if (g->gcrunning) | 1077 | res = 1; /* signal it */ |
| 1078 | debt += g->GCdebt; /* include current debt */ | ||
| 1079 | luaE_setdebt(g, debt); | ||
| 1080 | luaC_forcestep(L); | ||
| 1081 | if (g->gcstate == GCSpause) /* end of cycle? */ | ||
| 1082 | res = 1; /* signal it */ | ||
| 1083 | } | ||
| 1084 | break; | 1078 | break; |
| 1085 | } | 1079 | } |
| 1086 | case LUA_GCSETPAUSE: { | 1080 | case LUA_GCSETPAUSE: { |
| @@ -1088,11 +1082,6 @@ LUA_API int lua_gc (lua_State *L, int what, int data) { | |||
| 1088 | g->gcpause = data; | 1082 | g->gcpause = data; |
| 1089 | break; | 1083 | break; |
| 1090 | } | 1084 | } |
| 1091 | case LUA_GCSETMAJORINC: { | ||
| 1092 | res = g->gcmajorinc; | ||
| 1093 | g->gcmajorinc = data; | ||
| 1094 | break; | ||
| 1095 | } | ||
| 1096 | case LUA_GCSETSTEPMUL: { | 1085 | case LUA_GCSETSTEPMUL: { |
| 1097 | res = g->gcstepmul; | 1086 | res = g->gcstepmul; |
| 1098 | g->gcstepmul = data; | 1087 | g->gcstepmul = data; |
| @@ -1102,14 +1091,6 @@ LUA_API int lua_gc (lua_State *L, int what, int data) { | |||
| 1102 | res = g->gcrunning; | 1091 | res = g->gcrunning; |
| 1103 | break; | 1092 | break; |
| 1104 | } | 1093 | } |
| 1105 | case LUA_GCGEN: { /* change collector to generational mode */ | ||
| 1106 | luaC_changemode(L, KGC_GEN); | ||
| 1107 | break; | ||
| 1108 | } | ||
| 1109 | case LUA_GCINC: { /* change collector to incremental mode */ | ||
| 1110 | luaC_changemode(L, KGC_NORMAL); | ||
| 1111 | break; | ||
| 1112 | } | ||
| 1113 | default: res = -1; /* invalid option */ | 1094 | default: res = -1; /* invalid option */ |
| 1114 | } | 1095 | } |
| 1115 | lua_unlock(L); | 1096 | lua_unlock(L); |
