Lines Matching refs:loc
374 bool DwarfSectionImpl<AddressType>::EvalExpression(const DwarfLocation& loc, Memory* regular_memory, in EvalExpression() argument
382 uint64_t end = loc.values[1]; in EvalExpression()
383 uint64_t start = end - loc.values[0]; in EvalExpression()
415 bool DwarfSectionImpl<AddressType>::EvalRegister(const DwarfLocation* loc, uint32_t reg, in EvalRegister() argument
419 switch (loc->type) { in EvalRegister()
421 … if (!regular_memory->ReadFully(eval_info->cfa + loc->values[0], reg_ptr, sizeof(AddressType))) { in EvalRegister()
423 last_error_.address = eval_info->cfa + loc->values[0]; in EvalRegister()
428 *reg_ptr = eval_info->cfa + loc->values[0]; in EvalRegister()
431 uint32_t cur_reg = loc->values[0]; in EvalRegister()
436 *reg_ptr = eval_info->regs_info.Get(cur_reg) + loc->values[1]; in EvalRegister()
443 if (!EvalExpression(*loc, regular_memory, &value, &eval_info->regs_info, &is_dex_pc)) { in EvalRegister()
446 if (loc->type == DWARF_LOCATION_EXPRESSION) { in EvalRegister()
496 const DwarfLocation* loc = &cfa_entry->second; in Eval() local
498 switch (loc->type) { in Eval()
500 if (loc->values[0] >= cur_regs->total_regs()) { in Eval()
504 eval_info.cfa = (*cur_regs)[loc->values[0]]; in Eval()
505 eval_info.cfa += loc->values[1]; in Eval()
509 if (!EvalExpression(*loc, regular_memory, &value, &eval_info.regs_info, nullptr)) { in Eval()