diff --git a/src/ltable.c b/src/ltable.c index b7f88f6..40ed1f6 100644 --- a/src/ltable.c +++ b/src/ltable.c @@ -803,7 +803,15 @@ Table *luaH_new (lua_State *L) { t->flags = maskflags; /* table has no metamethod fields */ t->array = NULL; t->asize = 0; +#ifdef USE_YK + // We don't want to make `setnodevector` "unroll" because the non-zero case + // may not be constant. + t->node = cast(Node *, dummynode); /* use common 'dummynode' */ + t->lsizenode = 0; + setdummy(t); /* signal that it is using dummy node */ +#else setnodevector(L, t, 0); +#endif return t; }