Lines Matching defs:lir

652 uint8_t* Arm64Mir2Lir::EncodeLIRs(uint8_t* write_pos, LIR* lir) {
653 for (; lir != nullptr; lir = NEXT_LIR(lir)) {
654 bool opcode_is_wide = IS_WIDE(lir->opcode);
655 ArmOpcode opcode = UNWIDE(lir->opcode);
661 if (LIKELY(!lir->flags.is_nop)) {
670 uint32_t operand = lir->operands[i];
747 << " @ 0x" << std::hex << lir->dalvik_offset;
815 LIR* lir;
839 lir = first_fixup_;
841 while (lir != NULL) {
843 * NOTE: the lir being considered here will be encoded following the switch (so long as
849 lir->offset += offset_adjustment;
851 lir->flags.generation = generation;
852 switch (static_cast<FixupKind>(lir->flags.fixup)) {
858 LIR *target_lir = lir->target;
860 CodeOffset pc = lir->offset;
862 ((target_lir->flags.generation == lir->flags.generation) ? 0 : offset_adjustment);
867 lir->operands[0] = delta >> 2;
873 LIR *target_lir = lir->target;
875 CodeOffset pc = lir->offset;
877 ((target_lir->flags.generation == lir->flags.generation) ? 0 : offset_adjustment);
882 lir->operands[1] = delta >> 2;
886 LIR* target_lir = lir->target;
889 CodeOffset target_offs = ((target_lir->flags.generation == lir->flags.generation) ?
891 delta = target_offs - lir->offset;
892 } else if (lir->operands[2] >= 0) {
893 EmbeddedData* tab = reinterpret_cast<EmbeddedData*>(UnwrapPointer(lir->operands[2]));
894 delta = tab->offset + offset_adjustment - lir->offset;
897 delta = lir->operands[1];
902 lir->operands[1] = delta;
906 LOG(FATAL) << "Unexpected case " << lir->flags.fixup;
908 prev_lir = lir;
909 lir = lir->u.a.pcrel_next;
953 size_t Arm64Mir2Lir::GetInsnSize(LIR* lir) {
954 ArmOpcode opcode = UNWIDE(lir->opcode);
964 for (LIR* lir = head_lir; lir != end_lir; lir = NEXT_LIR(lir)) {
965 ArmOpcode opcode = UNWIDE(lir->opcode);
966 if (!lir->flags.is_nop) {
967 if (lir->flags.fixup != kFixupNone) {
969 lir->flags.size = EncodingMap[opcode].size;
970 lir->flags.fixup = EncodingMap[opcode].fixup;
973 lir->flags.size = 0;
974 lir->flags.fixup = kFixupLabel;
977 lir->flags.use_def_invalid = true;
978 lir->u.a.pcrel_next = NULL;
980 first_fixup_ = lir;
982 last_fixup->u.a.pcrel_next = lir;
984 last_fixup = lir;
985 lir->offset = offset;
987 offset += lir->flags.size;