Home | History | Annotate | Download | only in analysis

Lines Matching full:pmap

43 static bool verifyMap(VerifierData* vdata, const RegisterMap* pMap);
47 static void computeMapStats(RegisterMap* pMap, const Method* method);
49 static RegisterMap* compressMapDifferential(const RegisterMap* pMap,\
51 static RegisterMap* uncompressMapDifferential(const RegisterMap* pMap);
191 RegisterMap* pMap = NULL;
248 pMap = (RegisterMap*) malloc(bufSize);
249 dvmRegisterMapSetFormat(pMap, format);
250 dvmRegisterMapSetOnHeap(pMap, true);
251 dvmRegisterMapSetRegWidth(pMap, regWidth);
252 dvmRegisterMapSetNumEntries(pMap, gcPointCount);
257 mapData = pMap->data;
273 ALOGV("mapData=%p pMap=%p bufSize=%d", mapData, pMap, bufSize);
274 assert(mapData - (const u1*) pMap == bufSize);
276 if (REGISTER_MAP_VERIFY && !verifyMap(vdata, pMap))
279 computeMapStats(pMap, vdata->method);
287 pCompMap = compressMapDifferential(pMap, vdata->method);
304 if (compareMaps(pMap, pUncompMap) != 0) {
323 free(pMap);
324 pMap = pCompMap;
330 dvmRegisterMapGetNumEntries(pMap),
331 dvmRegisterMapGetRegWidth(pMap));
335 pResult = pMap;
344 void dvmFreeRegisterMap(RegisterMap* pMap)
346 if (pMap == NULL)
349 assert(dvmRegisterMapGetOnHeap(pMap));
350 free(pMap);
399 static void dumpRegisterMap(const RegisterMap* pMap, int registersSize)
401 const u1* rawMap = pMap->data;
402 const RegisterMapFormat format = dvmRegisterMapGetFormat(pMap);
403 const int numEntries = dvmRegisterMapGetNumEntries(pMap);
404 const int regWidth = dvmRegisterMapGetRegWidth(pMap);
466 static bool verifyMap(VerifierData* vdata, const RegisterMap* pMap)
468 const u1* rawMap = pMap->data;
469 const RegisterMapFormat format = dvmRegisterMapGetFormat(pMap);
470 const int numEntries = dvmRegisterMapGetNumEntries(pMap);
490 if ((vdata->method->registersSize + 7) / 8 != pMap->regWidth) {
492 vdata->method->registersSize, pMap->regWidth);
549 dumpRegisterMap(pMap, vdata->method->registersSize);
572 static size_t computeRegisterMapSize(const RegisterMap* pMap)
575 u1 format = dvmRegisterMapGetFormat(pMap);
576 pMap);
578 assert(pMap != NULL);
584 return kHeaderSize + (1 + pMap->regWidth) * numEntries;
586 return kHeaderSize + (2 + pMap->regWidth) * numEntries;
590 const u1* ptr = pMap->data;
592 return len + (ptr - (u1*) pMap);
876 const RegisterMap* pMap = (const RegisterMap*) *pPtr;
878 *pPtr = /*align32*/(((u1*) pMap) + computeRegisterMapSize(pMap));
880 pMap, *pPtr, pMap->format, pMap->regWidth,
881 dvmRegisterMapGetNumEntries(pMap));
882 return pMap;
897 const u1* dvmRegisterMapGetLine(const RegisterMap* pMap, int addr)
900 u1 format = dvmRegisterMapGetFormat(pMap);
901 u2 numEntries = dvmRegisterMapGetNumEntries(pMap);
920 lineWidth = addrWidth + pMap->regWidth;
932 data = pMap->data;
942 assert(data == pMap->data + lineWidth * numEntries);
951 data = pMap->data + lineWidth * mid;
1250 static void computeMapStats(RegisterMap* pMap, const Method* method)
1253 const u1 format = dvmRegisterMapGetFormat(pMap);
1254 const u2 numEntries = dvmRegisterMapGetNumEntries(pMap);
1255 const u1* rawMap = pMap->data;
1314 for (regByte = 0; regByte < pMap->regWidth; regByte++) {
1362 rawMap += pMap->regWidth;
1444 static RegisterMap* compressMapDifferential(const RegisterMap* pMap,
1448 int origSize = computeRegisterMapSize(pMap);
1460 u1 format = dvmRegisterMapGetFormat(pMap);
1473 regWidth = dvmRegisterMapGetRegWidth(pMap);
1474 numEntries = dvmRegisterMapGetNumEntries(pMap);
1480 dumpRegisterMap(pMap, -1);
1511 const u1* mapData = pMap->data;
1674 computeRegisterMapSize(pMap), computeRegisterMapSize(pNewMap),
1697 static RegisterMap* uncompressMapDifferential(const RegisterMap* pMap)
1700 u1 format = dvmRegisterMapGetFormat(pMap);
1709 regWidth = dvmRegisterMapGetRegWidth(pMap);
1710 numEntries = dvmRegisterMapGetNumEntries(pMap);
1713 const u1* srcPtr = pMap->data;
1831 computeRegisterMapSize(pMap), computeRegisterMapSize(pNewMap));