Lines Matching refs:p
71 static void dumpRegPool(RegisterInfo *p, int numRegs) in dumpRegPool() argument
77 p[i].reg, p[i].inUse, p[i].pair, p[i].partner, p[i].live, in dumpRegPool()
78 p[i].dirty, p[i].sReg,(int)p[i].defStart, (int)p[i].defEnd); in dumpRegPool()
86 RegisterInfo *p = cUnit->regPool->coreTemps; in getRegInfo() local
89 if (p[i].reg == reg) { in getRegInfo()
90 return &p[i]; in getRegInfo()
93 p = cUnit->regPool->FPTemps; in getRegInfo()
96 if (p[i].reg == reg) { in getRegInfo()
97 return &p[i]; in getRegInfo()
136 static bool clobberRegBody(CompilationUnit *cUnit, RegisterInfo *p, in clobberRegBody() argument
141 if (p[i].reg == reg) { in clobberRegBody()
142 if (p[i].live && p[i].dirty) { in clobberRegBody()
143 if (p[i].pair) { in clobberRegBody()
144 dvmCompilerFlushRegWide(cUnit, p[i].reg, p[i].partner); in clobberRegBody()
146 dvmCompilerFlushReg(cUnit, p[i].reg); in clobberRegBody()
149 p[i].live = false; in clobberRegBody()
150 p[i].sReg = INVALID_SREG; in clobberRegBody()
151 p[i].defStart = NULL; in clobberRegBody()
152 p[i].defEnd = NULL; in clobberRegBody()
153 if (p[i].pair) { in clobberRegBody()
154 p[i].pair = false; in clobberRegBody()
156 clobberRegBody(cUnit, p, numTemps, p[i].partner); in clobberRegBody()
174 static void clobberSRegBody(RegisterInfo *p, int numTemps, int sReg) in clobberSRegBody() argument
178 if (p[i].sReg == sReg) { in clobberSRegBody()
179 p[i].live = false; in clobberSRegBody()
180 p[i].defStart = NULL; in clobberSRegBody()
181 p[i].defEnd = NULL; in clobberSRegBody()
195 static int allocTempBody(CompilationUnit *cUnit, RegisterInfo *p, int numTemps, in allocTempBody() argument
203 if (!p[next].inUse && !p[next].live) { in allocTempBody()
204 dvmCompilerClobber(cUnit, p[next].reg); in allocTempBody()
205 p[next].inUse = true; in allocTempBody()
206 p[next].pair = false; in allocTempBody()
208 return p[next].reg; in allocTempBody()
216 if (!p[next].inUse) { in allocTempBody()
217 dvmCompilerClobber(cUnit, p[next].reg); in allocTempBody()
218 p[next].inUse = true; in allocTempBody()
219 p[next].pair = false; in allocTempBody()
221 return p[next].reg; in allocTempBody()
235 RegisterInfo *p = cUnit->regPool->FPTemps; in dvmCompilerAllocTempDouble() local
246 if ((!p[next].inUse && !p[next].live) && in dvmCompilerAllocTempDouble()
247 (!p[next+1].inUse && !p[next+1].live)) { in dvmCompilerAllocTempDouble()
248 dvmCompilerClobber(cUnit, p[next].reg); in dvmCompilerAllocTempDouble()
249 dvmCompilerClobber(cUnit, p[next+1].reg); in dvmCompilerAllocTempDouble()
250 p[next].inUse = true; in dvmCompilerAllocTempDouble()
251 p[next+1].inUse = true; in dvmCompilerAllocTempDouble()
252 assert((p[next].reg+1) == p[next+1].reg); in dvmCompilerAllocTempDouble()
253 assert((p[next].reg & 0x1) == 0); in dvmCompilerAllocTempDouble()
255 return p[next].reg; in dvmCompilerAllocTempDouble()
263 if (!p[next].inUse && !p[next+1].inUse) { in dvmCompilerAllocTempDouble()
264 dvmCompilerClobber(cUnit, p[next].reg); in dvmCompilerAllocTempDouble()
265 dvmCompilerClobber(cUnit, p[next+1].reg); in dvmCompilerAllocTempDouble()
266 p[next].inUse = true; in dvmCompilerAllocTempDouble()
267 p[next+1].inUse = true; in dvmCompilerAllocTempDouble()
268 assert((p[next].reg+1) == p[next+1].reg); in dvmCompilerAllocTempDouble()
269 assert((p[next].reg & 0x1) == 0); in dvmCompilerAllocTempDouble()
271 return p[next].reg; in dvmCompilerAllocTempDouble()
302 static RegisterInfo *allocLiveBody(RegisterInfo *p, int numTemps, int sReg) in allocLiveBody() argument
308 if (p[i].live && (p[i].sReg == sReg)) { in allocLiveBody()
309 p[i].inUse = true; in allocLiveBody()
310 return &p[i]; in allocLiveBody()
344 RegisterInfo *p = cUnit->regPool->coreTemps; in dvmCompilerFreeTemp() local
348 if (p[i].reg == reg) { in dvmCompilerFreeTemp()
349 p[i].inUse = false; in dvmCompilerFreeTemp()
350 p[i].pair = false; in dvmCompilerFreeTemp()
354 p = cUnit->regPool->FPTemps; in dvmCompilerFreeTemp()
357 if (p[i].reg == reg) { in dvmCompilerFreeTemp()
358 p[i].inUse = false; in dvmCompilerFreeTemp()
359 p[i].pair = false; in dvmCompilerFreeTemp()
369 RegisterInfo *p = cUnit->regPool->coreTemps; in dvmCompilerIsLive() local
373 if (p[i].reg == reg) { in dvmCompilerIsLive()
374 return p[i].live ? &p[i] : NULL; in dvmCompilerIsLive()
377 p = cUnit->regPool->FPTemps; in dvmCompilerIsLive()
380 if (p[i].reg == reg) { in dvmCompilerIsLive()
381 return p[i].live ? &p[i] : NULL; in dvmCompilerIsLive()
389 RegisterInfo *p = cUnit->regPool->coreTemps; in dvmCompilerIsTemp() local
393 if (p[i].reg == reg) { in dvmCompilerIsTemp()
394 return &p[i]; in dvmCompilerIsTemp()
397 p = cUnit->regPool->FPTemps; in dvmCompilerIsTemp()
400 if (p[i].reg == reg) { in dvmCompilerIsTemp()
401 return &p[i]; in dvmCompilerIsTemp()
414 RegisterInfo *p = cUnit->regPool->coreTemps; in dvmCompilerLockTemp() local
418 if (p[i].reg == reg) { in dvmCompilerLockTemp()
419 p[i].inUse = true; in dvmCompilerLockTemp()
420 p[i].live = false; in dvmCompilerLockTemp()
424 p = cUnit->regPool->FPTemps; in dvmCompilerLockTemp()
427 if (p[i].reg == reg) { in dvmCompilerLockTemp()
428 p[i].inUse = true; in dvmCompilerLockTemp()
429 p[i].live = false; in dvmCompilerLockTemp()
439 RegisterInfo *p = getRegInfo(cUnit, reg); in dvmCompilerResetDef() local
440 p->defStart = NULL; in dvmCompilerResetDef()
441 p->defEnd = NULL; in dvmCompilerResetDef()
448 LIR *p; in nullifyRange() local
450 for (p = start; ;p = p->next) { in nullifyRange()
451 ((ArmLIR *)p)->flags.isNop = true; in nullifyRange()
452 if (p == finish) in nullifyRange()
469 RegisterInfo *p = getRegInfo(cUnit, rl.lowReg); in dvmCompilerMarkDef() local
470 p->defStart = start->next; in dvmCompilerMarkDef()
471 p->defEnd = finish; in dvmCompilerMarkDef()
485 RegisterInfo *p = getRegInfo(cUnit, rl.lowReg); in dvmCompilerMarkDefWide() local
487 p->defStart = start->next; in dvmCompilerMarkDefWide()
488 p->defEnd = finish; in dvmCompilerMarkDefWide()
527 RegisterInfo *p = getRegInfo(cUnit, rl.lowReg); in dvmCompilerResetDefLoc() local
528 assert(!p->pair); in dvmCompilerResetDefLoc()
529 nullifyRange(cUnit, p->defStart, p->defEnd, in dvmCompilerResetDefLoc()
530 p->sReg, rl.sRegLow); in dvmCompilerResetDefLoc()
539 RegisterInfo *p = getRegInfo(cUnit, rl.lowReg); in dvmCompilerResetDefLocWide() local
540 assert(p->pair); in dvmCompilerResetDefLocWide()
541 nullifyRange(cUnit, p->defStart, p->defEnd, in dvmCompilerResetDefLocWide()
542 p->sReg, rl.sRegLow); in dvmCompilerResetDefLocWide()