/* Finish a raw "set table" operation, where 'slot' is where the value should have been (the result of a previous "get table"). Beware: when using this function you probably need to check a GC barrier and invalidate the TM cache.  */
void luaH_finishset(lua_State *L, Table *t, const TValue *key, const TValue *slot, TValue *value)
/* Finish a raw "set table" operation, where 'slot' is where the value should have been (the result of a previous "get table"). Beware: when using this function you probably need to check a GC barrier and invalidate the TM cache.  */
void luaH_finishset(lua_State *L, Table *t, const TValue *key, const TValue *slot, TValue *value)
{
  if (isabstkey(slot))
    luaH_newkey(L, t, key, value);
  else
    setobj2t(L, cast(TValue *, slot), value);
}