• Home
  • Raw
  • Download

Lines Matching refs:pSet

34 static bool verifySorted(PointerSet* pSet)  in verifySorted()  argument
39 for (i = 0; i < pSet->count; i++) { in verifySorted()
40 const void* cur = pSet->list[i]; in verifySorted()
57 PointerSet* pSet = (PointerSet*)calloc(1, sizeof(PointerSet)); in dvmPointerSetAlloc() local
58 if (pSet != NULL) { in dvmPointerSetAlloc()
60 pSet->list = (const void**)malloc(sizeof(void*) * initialSize); in dvmPointerSetAlloc()
61 if (pSet->list == NULL) { in dvmPointerSetAlloc()
62 free(pSet); in dvmPointerSetAlloc()
65 pSet->alloc = initialSize; in dvmPointerSetAlloc()
69 return pSet; in dvmPointerSetAlloc()
75 void dvmPointerSetFree(PointerSet* pSet) in dvmPointerSetFree() argument
77 if (pSet == NULL) in dvmPointerSetFree()
80 if (pSet->list != NULL) { in dvmPointerSetFree()
81 free(pSet->list); in dvmPointerSetFree()
82 pSet->list = NULL; in dvmPointerSetFree()
84 free(pSet); in dvmPointerSetFree()
90 void dvmPointerSetClear(PointerSet* pSet) in dvmPointerSetClear() argument
92 pSet->count = 0; in dvmPointerSetClear()
98 int dvmPointerSetGetCount(const PointerSet* pSet) in dvmPointerSetGetCount() argument
100 return pSet->count; in dvmPointerSetGetCount()
106 const void* dvmPointerSetGetEntry(const PointerSet* pSet, int i) in dvmPointerSetGetEntry() argument
108 return pSet->list[i]; in dvmPointerSetGetEntry()
117 bool dvmPointerSetAddEntry(PointerSet* pSet, const void* ptr) in dvmPointerSetAddEntry() argument
121 if (dvmPointerSetHas(pSet, ptr, &nearby)) in dvmPointerSetAddEntry()
125 if (pSet->count == pSet->alloc) { in dvmPointerSetAddEntry()
129 if (pSet->alloc == 0) in dvmPointerSetAddEntry()
130 pSet->alloc = 4; in dvmPointerSetAddEntry()
132 pSet->alloc *= 2; in dvmPointerSetAddEntry()
133 LOGVV("expanding %p to %d", pSet, pSet->alloc); in dvmPointerSetAddEntry()
134 newList = (const void**)realloc(pSet->list, pSet->alloc * sizeof(void*)); in dvmPointerSetAddEntry()
136 ALOGE("Failed expanding ptr set (alloc=%d)", pSet->alloc); in dvmPointerSetAddEntry()
139 pSet->list = newList; in dvmPointerSetAddEntry()
142 if (pSet->count == 0) { in dvmPointerSetAddEntry()
150 if (nearby != 0 && ptr < pSet->list[nearby-1]) { in dvmPointerSetAddEntry()
154 } else if (ptr < pSet->list[nearby]) { in dvmPointerSetAddEntry()
166 if (nearby != pSet->count) { in dvmPointerSetAddEntry()
168 memmove(&pSet->list[nearby+1], &pSet->list[nearby], in dvmPointerSetAddEntry()
169 (pSet->count - nearby) * sizeof(pSet->list[0])); in dvmPointerSetAddEntry()
173 pSet->list[nearby] = ptr; in dvmPointerSetAddEntry()
174 pSet->count++; in dvmPointerSetAddEntry()
176 assert(verifySorted(pSet)); in dvmPointerSetAddEntry()
183 bool dvmPointerSetRemoveEntry(PointerSet* pSet, const void* ptr) in dvmPointerSetRemoveEntry() argument
187 if (!dvmPointerSetHas(pSet, ptr, &where)) in dvmPointerSetRemoveEntry()
190 if (where != pSet->count-1) { in dvmPointerSetRemoveEntry()
192 memmove(&pSet->list[where], &pSet->list[where+1], in dvmPointerSetRemoveEntry()
193 (pSet->count-1 - where) * sizeof(pSet->list[0])); in dvmPointerSetRemoveEntry()
196 pSet->count--; in dvmPointerSetRemoveEntry()
197 pSet->list[pSet->count] = (const void*) 0xdecadead; // debug in dvmPointerSetRemoveEntry()
205 bool dvmPointerSetHas(const PointerSet* pSet, const void* ptr, int* pIndex) in dvmPointerSetHas() argument
210 hi = pSet->count-1; in dvmPointerSetHas()
215 const void* listVal = pSet->list[mid]; in dvmPointerSetHas()
238 void dvmPointerSetIntersect(PointerSet* pSet, const void** ptrArray, int count) in dvmPointerSetIntersect() argument
242 for (i = 0; i < pSet->count; i++) { in dvmPointerSetIntersect()
244 if (pSet->list[i] == ptrArray[j]) { in dvmPointerSetIntersect()
252 if (i != pSet->count-1) { in dvmPointerSetIntersect()
254 memmove(&pSet->list[i], &pSet->list[i+1], in dvmPointerSetIntersect()
255 (pSet->count-1 - i) * sizeof(pSet->list[0])); in dvmPointerSetIntersect()
258 pSet->count--; in dvmPointerSetIntersect()
259 pSet->list[pSet->count] = (const void*) 0xdecadead; // debug in dvmPointerSetIntersect()
268 void dvmPointerSetDump(const PointerSet* pSet) in dvmPointerSetDump() argument
270 ALOGI("PointerSet %p", pSet); in dvmPointerSetDump()
272 for (i = 0; i < pSet->count; i++) in dvmPointerSetDump()
273 ALOGI(" %2d: %p", i, pSet->list[i]); in dvmPointerSetDump()