Lines Matching refs:table
18 * Indirect reference table management.
32 pRef->table = (Object**) malloc(initialCount * sizeof(Object*));
33 if (pRef->table == NULL)
36 memset(pRef->table, 0xd1, initialCount * sizeof(Object*));
57 free(pRef->table);
58 pRef->table = NULL;
63 * Remove one or more segments from the top. The table entry identified
66 * Returns false if "cookie" is invalid or the table has only one segment.
74 * this would represent an expansion of the table.
78 LOGE("Attempt to expand table with segment pop (%d to %d)\n",
99 Object* obj = pRef->table[idx];
150 assert(pRef->table != NULL);
169 newTable = (Object**) realloc(pRef->table, newSize * sizeof(Object*));
171 LOGE("Unable to expand iref table (from %d to %d, max=%d)\n",
179 pRef->table = newTable;
186 * We know there's enough room in the table. Now we just need to find
194 Object** pScan = &pRef->table[topIndex - 1];
197 assert(pScan >= pRef->table + prevState.parts.topIndex);
199 updateSlotAdd(pRef, obj, pScan - pRef->table);
200 result = dvmObjectToIndirectRef(pRef, obj, pScan - pRef->table,
208 pRef->table[topIndex++] = obj;
217 * Verify that the indirect table lookup is valid.
242 Object* obj = pRef->table[idx];
254 * Remove "obj" from "pRef". We extract the table offset bits from "iref"
274 assert(pRef->table != NULL);
302 pRef->table[idx] = (IndirectRef) 0xd3d3d3d3;
310 topIndex-1, cookie, pRef->table[topIndex-1]);
311 if (pRef->table[topIndex-1] != NULL)
329 if (pRef->table[idx] == NULL) {
337 pRef->table[idx] = NULL;
412 LOGW("Reference table has no entries\n");
421 LOGW("Last %d entries in %s reference table:\n", kLast, descr);
422 refs = pRef->table; // use unsorted list
445 * Make a copy of the table, and sort it.
450 memcpy(tableCopy, pRef->table, sizeof(Object*) * count);
467 * Dump uniquified table summary. While we're at it, generate a
470 LOGW("%s reference table summary (%d entries / %d holes):\n",