diff options
Diffstat (limited to 'lapi.c')
-rw-r--r-- | lapi.c | 6 |
1 files changed, 2 insertions, 4 deletions
@@ -1141,22 +1141,21 @@ LUA_API int lua_gc (lua_State *L, int what, ...) { | |||
1141 | break; | 1141 | break; |
1142 | } | 1142 | } |
1143 | case LUA_GCGEN: { | 1143 | case LUA_GCGEN: { |
1144 | int oldmode = g->gckind; | ||
1145 | int minormul = va_arg(argp, int); | 1144 | int minormul = va_arg(argp, int); |
1146 | int majormul = va_arg(argp, int); | 1145 | int majormul = va_arg(argp, int); |
1146 | res = isdecGCmodegen(g) ? LUA_GCGEN : LUA_GCINC; | ||
1147 | if (minormul != 0) | 1147 | if (minormul != 0) |
1148 | g->genminormul = minormul; | 1148 | g->genminormul = minormul; |
1149 | if (majormul != 0) | 1149 | if (majormul != 0) |
1150 | setgcparam(g->genmajormul, majormul); | 1150 | setgcparam(g->genmajormul, majormul); |
1151 | luaC_changemode(L, KGC_GEN); | 1151 | luaC_changemode(L, KGC_GEN); |
1152 | res = (oldmode == KGC_GEN) ? LUA_GCGEN : LUA_GCINC; | ||
1153 | break; | 1152 | break; |
1154 | } | 1153 | } |
1155 | case LUA_GCINC: { | 1154 | case LUA_GCINC: { |
1156 | int oldmode = g->gckind; | ||
1157 | int pause = va_arg(argp, int); | 1155 | int pause = va_arg(argp, int); |
1158 | int stepmul = va_arg(argp, int); | 1156 | int stepmul = va_arg(argp, int); |
1159 | int stepsize = va_arg(argp, int); | 1157 | int stepsize = va_arg(argp, int); |
1158 | res = isdecGCmodegen(g) ? LUA_GCGEN : LUA_GCINC; | ||
1160 | if (pause != 0) | 1159 | if (pause != 0) |
1161 | setgcparam(g->gcpause, pause); | 1160 | setgcparam(g->gcpause, pause); |
1162 | if (stepmul != 0) | 1161 | if (stepmul != 0) |
@@ -1164,7 +1163,6 @@ LUA_API int lua_gc (lua_State *L, int what, ...) { | |||
1164 | if (stepsize != 0) | 1163 | if (stepsize != 0) |
1165 | g->gcstepsize = stepsize; | 1164 | g->gcstepsize = stepsize; |
1166 | luaC_changemode(L, KGC_INC); | 1165 | luaC_changemode(L, KGC_INC); |
1167 | res = (oldmode == KGC_GEN) ? LUA_GCGEN : LUA_GCINC; | ||
1168 | break; | 1166 | break; |
1169 | } | 1167 | } |
1170 | default: res = -1; /* invalid option */ | 1168 | default: res = -1; /* invalid option */ |