Lines Matching refs:rl_src

284 void Mir2Lir::GenCompareZeroAndBranch(Instruction::Code opcode, RegLocation rl_src, LIR* taken,  in GenCompareZeroAndBranch()  argument
287 DCHECK(!rl_src.fp); in GenCompareZeroAndBranch()
288 rl_src = LoadValue(rl_src); in GenCompareZeroAndBranch()
312 OpCmpImmBranch(cond, rl_src.reg, 0, taken); in GenCompareZeroAndBranch()
315 void Mir2Lir::GenIntToLong(RegLocation rl_dest, RegLocation rl_src) { in GenIntToLong() argument
317 if (rl_src.location == kLocPhysReg) { in GenIntToLong()
318 OpRegCopy(rl_result.reg, rl_src.reg); in GenIntToLong()
320 LoadValueDirect(rl_src, rl_result.reg.GetLow()); in GenIntToLong()
327 RegLocation rl_src) { in GenIntNarrowing() argument
328 rl_src = LoadValue(rl_src, kCoreReg); in GenIntNarrowing()
344 OpRegReg(op, rl_result.reg, rl_src.reg); in GenIntNarrowing()
354 RegLocation rl_src) { in GenNewArray() argument
370 rl_src, true); in GenNewArray()
373 CallRuntimeHelperImmMethodRegLocation(kQuickAllocArrayResolved, direct_type_ptr, rl_src, in GenNewArray()
378 CallRuntimeHelperImmMethodRegLocation(kQuickAllocArray, type_idx, rl_src, true); in GenNewArray()
381 CallRuntimeHelperImmMethodRegLocation(kQuickAllocArrayWithAccessCheck, type_idx, rl_src, true); in GenNewArray()
531 void Mir2Lir::GenSput(MIR* mir, RegLocation rl_src, bool is_long_or_double, in GenSput() argument
596 rl_src = LoadValueWide(rl_src, reg_class); in GenSput()
598 rl_src = LoadValue(rl_src, reg_class); in GenSput()
601 StoreRefDisp(r_base, field_info.FieldOffset().Int32Value(), rl_src.reg, in GenSput()
604 StoreBaseDisp(r_base, field_info.FieldOffset().Int32Value(), rl_src.reg, store_size, in GenSput()
607 if (is_object && !mir_graph_->IsConstantNullRef(rl_src)) { in GenSput()
608 MarkGCCard(rl_src.reg, r_base); in GenSput()
616 CallRuntimeHelperImmRegLocation(target, field_info.FieldIndex(), rl_src, true); in GenSput()
770 RegLocation rl_src, RegLocation rl_obj, bool is_long_or_double, in GenIPut() argument
782 rl_src = LoadValueWide(rl_src, reg_class); in GenIPut()
784 rl_src = LoadValue(rl_src, reg_class); in GenIPut()
790 null_ck_insn = StoreRefDisp(rl_obj.reg, field_offset, rl_src.reg, field_info.IsVolatile() ? in GenIPut()
793 null_ck_insn = StoreBaseDisp(rl_obj.reg, field_offset, rl_src.reg, store_size, in GenIPut()
797 if (is_object && !mir_graph_->IsConstantNullRef(rl_src)) { in GenIPut()
798 MarkGCCard(rl_src.reg, rl_obj.reg); in GenIPut()
804 CallRuntimeHelperImmRegLocationRegLocation(target, field_info.FieldIndex(), rl_obj, rl_src, in GenIPut()
810 RegLocation rl_src) { in GenArrayObjPut() argument
818 CallRuntimeHelperRegLocationRegLocationRegLocation(target, rl_array, rl_index, rl_src, true); in GenArrayObjPut()
1021 void Mir2Lir::GenThrow(RegLocation rl_src) { in GenThrow() argument
1023 CallRuntimeHelperRegLocation(kQuickDeliverException, rl_src, true); in GenThrow()
1029 RegLocation rl_src) { in GenInstanceofFinal() argument
1033 RegLocation object = LoadValue(rl_src, kRefReg); in GenInstanceofFinal()
1085 RegLocation rl_src) { in GenInstanceofCallingHelper() argument
1099 LoadValueDirectFixed(rl_src, ref_reg); // kArg0 <= ref in GenInstanceofCallingHelper()
1101 LoadValueDirectFixed(rl_src, ref_reg); // kArg0 <= ref in GenInstanceofCallingHelper()
1107 LoadValueDirectFixed(rl_src, ref_reg); // kArg0 <= ref in GenInstanceofCallingHelper()
1120 LoadValueDirectFixed(rl_src, ref_reg); // kArg0 <= ref in GenInstanceofCallingHelper()
1125 RegLocation rl_src) in GenInstanceofCallingHelper() argument
1127 rl_src_(rl_src) { in GenInstanceofCallingHelper()
1145 type_idx, rl_src)); in GenInstanceofCallingHelper()
1205 void Mir2Lir::GenInstanceof(uint32_t type_idx, RegLocation rl_dest, RegLocation rl_src) { in GenInstanceof() argument
1217 GenInstanceofFinal(use_declaring_class, type_idx, rl_dest, rl_src); in GenInstanceof()
1221 type_idx, rl_dest, rl_src); in GenInstanceof()
1225 void Mir2Lir::GenCheckCast(uint32_t insn_idx, uint32_t type_idx, RegLocation rl_src) { in GenCheckCast() argument
1295 LoadValueDirectFixed(rl_src, TargetReg(kArg0, kRef)); // kArg0 <= ref in GenCheckCast()
1575 RegLocation rl_src, RegLocation rl_dest, int lit) { in HandleEasyDivRem() argument
1581 return SmallLiteralDivRem(dalvik_opcode, is_div, rl_src, rl_dest, lit); in HandleEasyDivRem()
1588 rl_src = LoadValue(rl_src, kCoreReg); in HandleEasyDivRem()
1594 OpRegRegImm(kOpLsr, t_reg, rl_src.reg, 32 - k); in HandleEasyDivRem()
1595 OpRegRegReg(kOpAdd, t_reg, t_reg, rl_src.reg); in HandleEasyDivRem()
1598 OpRegRegImm(kOpAsr, t_reg, rl_src.reg, 31); in HandleEasyDivRem()
1600 OpRegRegReg(kOpAdd, t_reg, t_reg, rl_src.reg); in HandleEasyDivRem()
1607 OpRegRegImm(kOpLsr, t_reg1, rl_src.reg, 32 - k); in HandleEasyDivRem()
1608 OpRegRegReg(kOpAdd, t_reg2, t_reg1, rl_src.reg); in HandleEasyDivRem()
1612 OpRegRegImm(kOpAsr, t_reg1, rl_src.reg, 31); in HandleEasyDivRem()
1614 OpRegRegReg(kOpAdd, t_reg2, t_reg1, rl_src.reg); in HandleEasyDivRem()
1625 bool Mir2Lir::HandleEasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit) { in HandleEasyMultiply() argument
1636 rl_src = LoadValue(rl_src, kCoreReg); in HandleEasyMultiply()
1638 OpRegCopy(rl_result.reg, rl_src.reg); in HandleEasyMultiply()
1644 return EasyMultiply(rl_src, rl_dest, lit); in HandleEasyMultiply()
1659 rl_src = LoadValue(rl_src, kCoreReg); in HandleEasyMultiply()
1663 OpRegRegImm(kOpLsl, rl_result.reg, rl_src.reg, LowestSetBit(lit)); in HandleEasyMultiply()
1668 GenMultiplyByTwoBitMultiplier(rl_src, rl_result, lit, first_bit, second_bit); in HandleEasyMultiply()
1674 OpRegRegImm(kOpLsl, t_reg, rl_src.reg, LowestSetBit(lit + 1)); in HandleEasyMultiply()
1675 OpRegRegReg(kOpSub, rl_result.reg, t_reg, rl_src.reg); in HandleEasyMultiply()
1681 void Mir2Lir::GenArithOpIntLit(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src, in GenArithOpIntLit() argument
1691 rl_src = LoadValue(rl_src, kCoreReg); in GenArithOpIntLit()
1694 OpRegRegImm(kOpRsub, rl_result.reg, rl_src.reg, lit); in GenArithOpIntLit()
1696 OpRegReg(kOpNeg, rl_result.reg, rl_src.reg); in GenArithOpIntLit()
1717 if (HandleEasyMultiply(rl_src, rl_dest, lit)) { in GenArithOpIntLit()
1783 if (HandleEasyDivRem(opcode, is_div, rl_src, rl_dest, lit)) { in GenArithOpIntLit()
1789 rl_src = LoadValue(rl_src, kCoreReg); in GenArithOpIntLit()
1790 rl_result = GenDivRemLit(rl_dest, rl_src.reg, lit, is_div); in GenArithOpIntLit()
1793 rl_result = GenDivRemLit(rl_dest, rl_src, lit, is_div); in GenArithOpIntLit()
1799 rl_src = LoadValue(rl_src, kCoreReg); in GenArithOpIntLit()
1800 rl_result = GenDivRemLit(rl_dest, rl_src.reg, lit, is_div); in GenArithOpIntLit()
1807 LoadValueDirectFixed(rl_src, TargetReg(kArg0, kNotWide)); in GenArithOpIntLit()
1821 rl_src = LoadValue(rl_src, kCoreReg); in GenArithOpIntLit()
1825 OpRegCopy(rl_result.reg, rl_src.reg); in GenArithOpIntLit()
1827 OpRegRegImm(op, rl_result.reg, rl_src.reg, lit); in GenArithOpIntLit()
1944 RegLocation rl_src) { in GenConversionCall() argument
1951 CallRuntimeHelperRegLocation(trampoline, rl_src, false); in GenConversionCall()
2026 void Mir2Lir::GenMonitorEnter(int opt_flags, RegLocation rl_src) { in GenMonitorEnter() argument
2028 CallRuntimeHelperRegLocation(kQuickLockObject, rl_src, true); in GenMonitorEnter()
2032 void Mir2Lir::GenMonitorExit(int opt_flags, RegLocation rl_src) { in GenMonitorExit() argument
2034 CallRuntimeHelperRegLocation(kQuickUnlockObject, rl_src, true); in GenMonitorExit()
2044 void Mir2Lir::GenSmallPackedSwitch(MIR* mir, DexOffset table_offset, RegLocation rl_src) { in GenSmallPackedSwitch() argument
2051 rl_src = LoadValue(rl_src, kCoreReg); in GenSmallPackedSwitch()
2060 OpCmpImmBranch(kCondEq, rl_src.reg, current_key, &block_label_list_[case_block->id]); in GenSmallPackedSwitch()
2070 OpCmpBranch(kCondEq, rl_src.reg, key_temp, &block_label_list_[case_block->id]); in GenSmallPackedSwitch()
2075 OpCmpBranch(kCondEq, rl_src.reg, key_temp, &block_label_list_[case_block->id]); in GenSmallPackedSwitch()
2081 OpCmpImmBranch(kCondEq, rl_src.reg, current_key, &block_label_list_[case_block->id]); in GenSmallPackedSwitch()
2087 void Mir2Lir::GenPackedSwitch(MIR* mir, DexOffset table_offset, RegLocation rl_src) { in GenPackedSwitch() argument
2095 GenSmallPackedSwitch(mir, table_offset, rl_src); in GenPackedSwitch()
2098 GenLargePackedSwitch(mir, table_offset, rl_src); in GenPackedSwitch()
2102 void Mir2Lir::GenSmallSparseSwitch(MIR* mir, DexOffset table_offset, RegLocation rl_src) { in GenSmallSparseSwitch() argument
2108 rl_src = LoadValue(rl_src, kCoreReg); in GenSmallSparseSwitch()
2113 OpCmpImmBranch(kCondEq, rl_src.reg, key, &block_label_list_[case_block->id]); in GenSmallSparseSwitch()
2117 void Mir2Lir::GenSparseSwitch(MIR* mir, DexOffset table_offset, RegLocation rl_src) { in GenSparseSwitch() argument
2125 GenSmallSparseSwitch(mir, table_offset, rl_src); in GenSparseSwitch()
2128 GenLargeSparseSwitch(mir, table_offset, rl_src); in GenSparseSwitch()