fix cosmoB_loadObjLib()

- wrong # of pairs passed to cosmoV_makeTable
- minor refactoring of cmem.c:sweep()
This commit is contained in:
CPunch 2023-12-26 12:27:45 -06:00
parent 5296495e47
commit 39060a67e9
2 changed files with 4 additions and 4 deletions

View File

@ -243,7 +243,7 @@ COSMO_API void cosmoB_loadObjLib(CState *state)
cosmoV_pushString(state, "__proto"); // key
cosmoV_pushCFunction(state, cosmoB_ogetProto); // value
cosmoV_makeTable(state, 2);
cosmoV_makeTable(state, 1);
// make __setter table
cosmoV_pushString(state, "__setter");

View File

@ -231,11 +231,11 @@ static void traceGrays(CState *state)
static void sweep(CState *state)
{
CObj *prev = NULL;
CObj *object = state->objects;
CObj *prev = NULL, *object = state->objects;
while (object != NULL) {
if (object->isMarked) { // skip over it
object->isMarked = false; // rest to white
object->isMarked = false; // reset to white
prev = object;
object = object->next;
} else { // free it!