Home | History | Annotate | Download | only in analysis

Lines Matching defs:vdata

24 static bool processInstruction(VerifierData* vdata, u4 curIdx,
26 static bool markDebugLocals(VerifierData* vdata);
27 static void dumpLiveState(const VerifierData* vdata, u4 curIdx,
34 * in "vdata", not derived from the instruction stream.
38 static InstructionWidth* createBackwardWidthTable(VerifierData* vdata)
43 calloc(vdata->insnsSize, sizeof(InstructionWidth));
48 for (u4 idx = 0; idx < vdata->insnsSize; ) {
50 insnWidth = dvmInsnGetWidth(vdata->insnFlags, idx);
60 bool dvmComputeLiveness(VerifierData* vdata)
62 const InsnFlags* insnFlags = vdata->insnFlags;
68 bool verbose = false; //= dvmWantVerboseVerification(vdata->method);
70 const Method* meth = vdata->method;
75 assert(vdata->registerLines != NULL);
77 backwardWidth = createBackwardWidthTable(vdata);
87 workBits = dvmAllocBitVector(vdata->insnRegCount, false);
103 LOG_VFY_METH(vdata->method, "oh dear");
121 for (u4 idx = 0; idx < vdata->insnsSize; idx++) {
122 VfyBasicBlock* block = vdata->basicBlocks[idx];
151 dumpLiveState(vdata, 0xfffd, workBlock->liveRegs);
152 dumpLiveState(vdata, 0xffff, workBits);
175 if (!processInstruction(vdata, curIdx, workBits))
179 dumpLiveState(vdata, curIdx + 0x8000, workBits);
183 BitVector* lineBits = vdata->registerLines[curIdx].liveRegs;
185 lineBits = vdata->registerLines[curIdx].liveRegs =
186 dvmAllocBitVector(vdata->insnRegCount, false);
201 dumpLiveState(vdata, curIdx, workBits);
220 dumpLiveState(vdata, 0xfffa, pred->liveRegs);
221 dumpLiveState(vdata, 0xfffb, workBits);
249 for (checkIdx = 0; checkIdx < vdata->insnsSize; ) {
251 if (vdata->registerLines[checkIdx].liveRegs == NULL) {
252 LOG_VFY_METH(vdata->method,
256 } else if (vdata->registerLines[checkIdx].liveRegs != NULL) {
257 LOG_VFY_METH(vdata->method,
269 if (!markDebugLocals(vdata))
319 static bool processInstruction(VerifierData* vdata, u4 insnIdx,
322 const Method* meth = vdata->method;
996 VerifierData* vdata = (VerifierData*) ctxt;
997 bool verbose = dvmWantVerboseVerification(vdata->method);
1005 assert(reg <= vdata->insnRegCount + (wide ? 1 : 0));
1013 BitVector* liveRegs = vdata->registerLines[idx].liveRegs;
1040 static bool markDebugLocals(VerifierData* vdata)
1042 const Method* meth = vdata->method;
1046 NULL, markLocalsCb, vdata);
1057 static void dumpLiveState(const VerifierData* vdata, u4 curIdx,
1060 u4 insnRegCount = vdata->insnRegCount;