Lines Matching refs:mp
655 Node *mp; in luaH_newkey() local
671 mp = mainpositionTV(t, key); in luaH_newkey()
672 if (!isempty(gval(mp)) || isdummy(t)) { /* main position is taken? */ in luaH_newkey()
682 othern = mainposition(t, keytt(mp), &keyval(mp)); in luaH_newkey()
683 if (othern != mp) { /* is colliding node out of its main position? */ in luaH_newkey()
685 while (othern + gnext(othern) != mp) /* find previous */ in luaH_newkey()
688 *f = *mp; /* copy colliding node into free pos. (mp->next also goes) */ in luaH_newkey()
689 if (gnext(mp) != 0) { in luaH_newkey()
690 gnext(f) += cast_int(mp - f); /* correct 'next' */ in luaH_newkey()
691 gnext(mp) = 0; /* now 'mp' is free */ in luaH_newkey()
693 setempty(gval(mp)); in luaH_newkey()
697 if (gnext(mp) != 0) in luaH_newkey()
698 gnext(f) = cast_int((mp + gnext(mp)) - f); /* chain new position */ in luaH_newkey()
700 gnext(mp) = cast_int(f - mp); in luaH_newkey()
701 mp = f; in luaH_newkey()
704 setnodekey(L, mp, key); in luaH_newkey()
706 lua_assert(isempty(gval(mp))); in luaH_newkey()
707 setobj2t(L, gval(mp), value); in luaH_newkey()