MCPcopy Create free account
hub / github.com/EmmyLua/EmmyLuaDebugger / rehash

Function rehash

third-party/lua-5.1.5/src/ltable.c:333–349  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

331
332
333static void rehash (lua_State *L, Table *t, const TValue *ek) {
334 int nasize, na;
335 int nums[MAXBITS+1]; /* nums[i] = number of keys between 2^(i-1) and 2^i */
336 int i;
337 int totaluse;
338 for (i=0; i<=MAXBITS; i++) nums[i] = 0; /* reset counts */
339 nasize = numusearray(t, nums); /* count keys in array part */
340 totaluse = nasize; /* all those keys are integer keys */
341 totaluse += numusehash(t, nums, &nasize); /* count keys in hash part */
342 /* count extra key */
343 nasize += countint(ek, nums);
344 totaluse++;
345 /* compute new size for array part */
346 na = computesizes(nums, &nasize);
347 /* resize the table to new computed sizes */
348 resize(L, t, nasize, totaluse - na);
349}
350
351
352

Callers 1

newkeyFunction · 0.70

Calls 5

resizeFunction · 0.85
numusearrayFunction · 0.70
numusehashFunction · 0.70
countintFunction · 0.70
computesizesFunction · 0.70

Tested by

no test coverage detected