• Home
  • Raw
  • Download

Lines Matching refs:eval_info

426   EvalInfo<AddressType>* eval_info = reinterpret_cast<EvalInfo<AddressType>*>(info);  in EvalRegister()  local
427 Memory* regular_memory = eval_info->regular_memory; in EvalRegister()
430 … if (!regular_memory->ReadFully(eval_info->cfa + loc->values[0], reg_ptr, sizeof(AddressType))) { in EvalRegister()
432 last_error_.address = eval_info->cfa + loc->values[0]; in EvalRegister()
437 *reg_ptr = eval_info->cfa + loc->values[0]; in EvalRegister()
441 if (cur_reg >= eval_info->regs_info.Total()) { in EvalRegister()
445 *reg_ptr = eval_info->regs_info.Get(cur_reg) + loc->values[1]; in EvalRegister()
452 if (!EvalExpression(*loc, regular_memory, &value, &eval_info->regs_info, &is_dex_pc)) { in EvalRegister()
464 eval_info->regs_info.regs->set_dex_pc(value); in EvalRegister()
470 if (reg == eval_info->cie->return_address_register) { in EvalRegister()
471 eval_info->return_address_undefined = true; in EvalRegister()
508 EvalInfo<AddressType> eval_info{.loc_regs = &loc_regs, in Eval() local
520 eval_info.cfa = (*cur_regs)[loc->values[0]]; in Eval()
521 eval_info.cfa += loc->values[1]; in Eval()
525 if (!EvalExpression(*loc, regular_memory, &value, &eval_info.regs_info, nullptr)) { in Eval()
529 eval_info.cfa = value; in Eval()
548 if (!eval_info.regs_info.regs->SetPseudoRegister(reg, entry.second.values[0])) { in Eval()
553 reg_ptr = eval_info.regs_info.Save(reg); in Eval()
554 if (!EvalRegister(&entry.second, reg, reg_ptr, &eval_info)) { in Eval()
561 if (eval_info.return_address_undefined) { in Eval()
572 cur_regs->set_sp(eval_info.cfa); in Eval()