Home
last modified time | relevance | path

Searched refs:scratch (Results 1 – 25 of 27) sorted by relevance

12

/art/compiler/utils/arm/
Djni_macro_assembler_arm_vixl.h70 void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) OVERRIDE;
74 ManagedRegister scratch) OVERRIDE;
81 ManagedRegister scratch) OVERRIDE;
106 ManagedRegister scratch) OVERRIDE;
110 ManagedRegister scratch) OVERRIDE;
112 void CopyRef(FrameOffset dest, FrameOffset src, ManagedRegister scratch) OVERRIDE;
114 void Copy(FrameOffset dest, FrameOffset src, ManagedRegister scratch, size_t size) OVERRIDE;
119 ManagedRegister scratch,
125 ManagedRegister scratch,
131 ManagedRegister scratch,
[all …]
Djni_macro_assembler_arm_vixl.cc248 ArmManagedRegister scratch = mscratch.AsArm(); in StoreSpanning() local
251 temps.Exclude(scratch.AsVIXLRegister()); in StoreSpanning()
252 asm_.LoadFromOffset(kLoadWord, scratch.AsVIXLRegister(), sp, in_off.Int32Value()); in StoreSpanning()
253 asm_.StoreToOffset(kStoreWord, scratch.AsVIXLRegister(), sp, dest.Int32Value() + 4); in StoreSpanning()
259 ArmManagedRegister scratch = mscratch.AsArm(); in CopyRef() local
261 temps.Exclude(scratch.AsVIXLRegister()); in CopyRef()
262 asm_.LoadFromOffset(kLoadWord, scratch.AsVIXLRegister(), sp, src.Int32Value()); in CopyRef()
263 asm_.StoreToOffset(kStoreWord, scratch.AsVIXLRegister(), sp, dest.Int32Value()); in CopyRef()
297 ManagedRegister scratch) { in StoreImmediateToFrame() argument
298 ArmManagedRegister mscratch = scratch.AsArm(); in StoreImmediateToFrame()
[all …]
/art/compiler/utils/arm64/
Djni_macro_assembler_arm64.cc160 Arm64ManagedRegister scratch = m_scratch.AsArm64(); in StoreImmediateToFrame() local
161 CHECK(scratch.IsXRegister()) << scratch; in StoreImmediateToFrame()
162 LoadImmediate(scratch.AsXRegister(), imm); in StoreImmediateToFrame()
163 StoreWToOffset(kStoreWord, scratch.AsOverlappingWRegister(), SP, in StoreImmediateToFrame()
170 Arm64ManagedRegister scratch = m_scratch.AsArm64(); in StoreStackOffsetToThread() local
171 CHECK(scratch.IsXRegister()) << scratch; in StoreStackOffsetToThread()
172 AddConstant(scratch.AsXRegister(), SP, fr_offs.Int32Value()); in StoreStackOffsetToThread()
173 StoreToOffset(scratch.AsXRegister(), TR, tr_offs.Int32Value()); in StoreStackOffsetToThread()
188 Arm64ManagedRegister scratch = m_scratch.AsArm64(); in StoreSpanning() local
190 LoadFromOffset(scratch.AsXRegister(), SP, in_off.Int32Value()); in StoreSpanning()
[all …]
Djni_macro_assembler_arm64.h72 void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) OVERRIDE;
75 ManagedRegister scratch) OVERRIDE;
80 ManagedRegister scratch) OVERRIDE;
97 ManagedRegister scratch) OVERRIDE;
98 void CopyRawPtrToThread(ThreadOffset64 thr_offs, FrameOffset fr_offs, ManagedRegister scratch)
100 void CopyRef(FrameOffset dest, FrameOffset src, ManagedRegister scratch) OVERRIDE;
101 void Copy(FrameOffset dest, FrameOffset src, ManagedRegister scratch, size_t size) OVERRIDE;
105 ManagedRegister scratch,
110 ManagedRegister scratch,
115 ManagedRegister scratch,
[all …]
Dassembler_arm64.cc64 Arm64ManagedRegister scratch = m_scratch.AsArm64(); in JumpTo() local
66 CHECK(scratch.IsXRegister()) << scratch; in JumpTo()
69 temps.Exclude(reg_x(base.AsXRegister()), reg_x(scratch.AsXRegister())); in JumpTo()
70 ___ Ldr(reg_x(scratch.AsXRegister()), MEM_OP(reg_x(base.AsXRegister()), offs.Int32Value())); in JumpTo()
71 ___ Br(reg_x(scratch.AsXRegister())); in JumpTo()
/art/compiler/utils/x86/
Djni_macro_assembler_x86.h63 void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) OVERRIDE;
67 ManagedRegister scratch) OVERRIDE;
72 ManagedRegister scratch) OVERRIDE;
93 ManagedRegister scratch) OVERRIDE;
95 void CopyRawPtrToThread(ThreadOffset32 thr_offs, FrameOffset fr_offs, ManagedRegister scratch)
98 void CopyRef(FrameOffset dest, FrameOffset src, ManagedRegister scratch) OVERRIDE;
100 void Copy(FrameOffset dest, FrameOffset src, ManagedRegister scratch, size_t size) OVERRIDE;
102 void Copy(FrameOffset dest, ManagedRegister src_base, Offset src_offset, ManagedRegister scratch,
105 void Copy(ManagedRegister dest_base, Offset dest_offset, FrameOffset src, ManagedRegister scratch,
108 void Copy(FrameOffset dest, FrameOffset src_base, Offset src_offset, ManagedRegister scratch,
[all …]
Djni_macro_assembler_x86.cc170 X86ManagedRegister scratch = mscratch.AsX86(); in StoreStackOffsetToThread() local
171 CHECK(scratch.IsCpuRegister()); in StoreStackOffsetToThread()
172 __ leal(scratch.AsCpuRegister(), Address(ESP, fr_offs)); in StoreStackOffsetToThread()
173 __ fs()->movl(Address::Absolute(thr_offs), scratch.AsCpuRegister()); in StoreStackOffsetToThread()
324 X86ManagedRegister scratch = mscratch.AsX86(); in CopyRef() local
325 CHECK(scratch.IsCpuRegister()); in CopyRef()
326 __ movl(scratch.AsCpuRegister(), Address(ESP, src)); in CopyRef()
327 __ movl(Address(ESP, dest), scratch.AsCpuRegister()); in CopyRef()
333 X86ManagedRegister scratch = mscratch.AsX86(); in CopyRawPtrFromThread() local
334 CHECK(scratch.IsCpuRegister()); in CopyRawPtrFromThread()
[all …]
/art/compiler/utils/x86_64/
Djni_macro_assembler_x86_64.h64 void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) OVERRIDE;
68 ManagedRegister scratch) OVERRIDE;
75 ManagedRegister scratch) OVERRIDE;
98 ManagedRegister scratch) OVERRIDE;
100 void CopyRawPtrToThread(ThreadOffset64 thr_offs, FrameOffset fr_offs, ManagedRegister scratch)
103 void CopyRef(FrameOffset dest, FrameOffset src, ManagedRegister scratch) OVERRIDE;
105 void Copy(FrameOffset dest, FrameOffset src, ManagedRegister scratch, size_t size) OVERRIDE;
110 ManagedRegister scratch,
116 ManagedRegister scratch,
122 ManagedRegister scratch,
[all …]
Djni_macro_assembler_x86_64.cc209 X86_64ManagedRegister scratch = mscratch.AsX86_64(); in StoreStackOffsetToThread() local
210 CHECK(scratch.IsCpuRegister()); in StoreStackOffsetToThread()
211 __ leaq(scratch.AsCpuRegister(), Address(CpuRegister(RSP), fr_offs)); in StoreStackOffsetToThread()
212 __ gs()->movq(Address::Absolute(thr_offs, true), scratch.AsCpuRegister()); in StoreStackOffsetToThread()
374 X86_64ManagedRegister scratch = mscratch.AsX86_64(); in CopyRef() local
375 CHECK(scratch.IsCpuRegister()); in CopyRef()
376 __ movl(scratch.AsCpuRegister(), Address(CpuRegister(RSP), src)); in CopyRef()
377 __ movl(Address(CpuRegister(RSP), dest), scratch.AsCpuRegister()); in CopyRef()
383 X86_64ManagedRegister scratch = mscratch.AsX86_64(); in CopyRawPtrFromThread() local
384 CHECK(scratch.IsCpuRegister()); in CopyRawPtrFromThread()
[all …]
/art/compiler/utils/
Djni_macro_assembler.h86 virtual void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) = 0;
90 ManagedRegister scratch) = 0;
97 ManagedRegister scratch) = 0;
122 ManagedRegister scratch) = 0;
126 ManagedRegister scratch) = 0;
128 virtual void CopyRef(FrameOffset dest, FrameOffset src, ManagedRegister scratch) = 0;
130 virtual void Copy(FrameOffset dest, FrameOffset src, ManagedRegister scratch, size_t size) = 0;
135 ManagedRegister scratch,
141 ManagedRegister scratch,
147 ManagedRegister scratch,
[all …]
Dswap_space_test.cc37 ScratchFile scratch; in SwapTest() local
38 int fd = scratch.GetFd(); in SwapTest()
39 unlink(scratch.GetFilename().c_str()); in SwapTest()
72 scratch.Close(); in SwapTest()
/art/compiler/optimizing/
Dparallel_move_resolver.cc264 int scratch = -1; in AllocateScratchRegister() local
267 scratch = reg; in AllocateScratchRegister()
272 if (scratch == -1) { in AllocateScratchRegister()
274 scratch = if_scratch; in AllocateScratchRegister()
279 return scratch; in AllocateScratchRegister()
381 for (Location scratch : scratches_) { in AddScratchLocation() local
382 CHECK(!loc.Equals(scratch)); in AddScratchLocation()
458 Location scratch = AllocateScratchLocationFor(kind); in PerformMove() local
462 move->SetDestination(scratch); in PerformMove()
465 UpdateMoveSource(source, scratch); in PerformMove()
[all …]
Dcode_generator_vector_arm_vixl.cc831 /*out*/ vixl32::Register* scratch) { in VecAddress() argument
847 *scratch = temps_scope->Acquire(); in VecAddress()
848 __ Add(*scratch, base, Operand(RegisterFrom(index), ShiftType::LSL, shift)); in VecAddress()
850 return MemOperand(*scratch, offset); in VecAddress()
857 /*out*/ vixl32::Register* scratch) { in VecAddressUnaligned() argument
871 __ Add(*scratch, base, offset); in VecAddressUnaligned()
873 *scratch = temps_scope->Acquire(); in VecAddressUnaligned()
874 __ Add(*scratch, base, offset); in VecAddressUnaligned()
875 __ Add(*scratch, *scratch, Operand(RegisterFrom(index), ShiftType::LSL, shift)); in VecAddressUnaligned()
877 return AlignedMemOperand(*scratch, kNoAlignment); in VecAddressUnaligned()
[all …]
Dcode_generator_vector_arm64.cc1253 /*out*/ Register* scratch) { in VecAddress() argument
1275 *scratch = temps_scope->AcquireSameSizeAs(base); in VecAddress()
1276 __ Add(*scratch, base, Operand(WRegisterFrom(index), LSL, shift)); in VecAddress()
1277 return HeapOperand(*scratch, offset); in VecAddress()
1290 Register scratch; in VisitVecLoad() local
1308 VecAddress(instruction, &temps, 1, /*is_string_char_at*/ true, &scratch)); in VisitVecLoad()
1311 if (scratch.IsValid()) { in VisitVecLoad()
1312 temps.Release(scratch); // if used, no longer needed in VisitVecLoad()
1316 __ Ldr(reg, VecAddress(instruction, &temps, size, /*is_string_char_at*/ true, &scratch)); in VisitVecLoad()
1331 __ Ldr(reg, VecAddress(instruction, &temps, size, instruction->IsStringCharAt(), &scratch)); in VisitVecLoad()
[all …]
Dparallel_move_test.cc115 Location scratch = GetScratchLocation(kind); in AllocateScratchLocationFor() local
116 if (scratch.Equals(Location::NoLocation())) { in AllocateScratchLocationFor()
120 scratch = (kind == Location::kRegister) ? Location::RegisterLocation(scratch_index_) in AllocateScratchLocationFor()
124 return scratch; in AllocateScratchLocationFor()
Dcode_generator_arm_vixl.h411 /*out*/ vixl32::Register* scratch);
416 /*out*/ vixl32::Register* scratch);
Dcode_generator_arm64.h338 /*out*/ vixl::aarch64::Register* scratch);
Dcode_generator_arm64.cc1455 Location scratch = GetScratchLocation(kind); in AllocateScratchLocationFor() local
1456 if (!scratch.Equals(Location::NoLocation())) { in AllocateScratchLocationFor()
1457 return scratch; in AllocateScratchLocationFor()
1461 scratch = LocationFrom(vixl_temps_.AcquireX()); in AllocateScratchLocationFor()
1464 scratch = LocationFrom(codegen_->GetGraph()->HasSIMD() in AllocateScratchLocationFor()
1468 AddScratchLocation(scratch); in AllocateScratchLocationFor()
1469 return scratch; in AllocateScratchLocationFor()
/art/dex2oat/
Ddex2oat_image_test.cc119 ScratchFile scratch; in CompileImageAndGetSizes() local
120 std::string scratch_dir = scratch.GetFilename(); in CompileImageAndGetSizes()
124 CHECK(!scratch_dir.empty()) << "No directory " << scratch.GetFilename(); in CompileImageAndGetSizes()
126 if (!CompileBootImage(extra_args, scratch.GetFilename(), &error_msg)) { in CompileImageAndGetSizes()
127 LOG(ERROR) << "Failed to compile image " << scratch.GetFilename() << error_msg; in CompileImageAndGetSizes()
129 std::string art_file = scratch.GetFilename() + ".art"; in CompileImageAndGetSizes()
130 std::string oat_file = scratch.GetFilename() + ".oat"; in CompileImageAndGetSizes()
131 std::string vdex_file = scratch.GetFilename() + ".vdex"; in CompileImageAndGetSizes()
141 scratch.Close(); in CompileImageAndGetSizes()
/art/test/626-checker-arm64-scratch-register/
Dinfo.txt1 Regression test checking that the ARM64 scratch register pool is not
/art/compiler/utils/mips64/
Dassembler_mips64.cc3718 Mips64ManagedRegister scratch = mscratch.AsMips64(); in StoreImmediateToFrame() local
3719 CHECK(scratch.IsGpuRegister()) << scratch; in StoreImmediateToFrame()
3720 LoadConst32(scratch.AsGpuRegister(), imm); in StoreImmediateToFrame()
3721 StoreToOffset(kStoreWord, scratch.AsGpuRegister(), SP, dest.Int32Value()); in StoreImmediateToFrame()
3727 Mips64ManagedRegister scratch = mscratch.AsMips64(); in StoreStackOffsetToThread() local
3728 CHECK(scratch.IsGpuRegister()) << scratch; in StoreStackOffsetToThread()
3729 Daddiu64(scratch.AsGpuRegister(), SP, fr_offs.Int32Value()); in StoreStackOffsetToThread()
3730 StoreToOffset(kStoreDoubleword, scratch.AsGpuRegister(), S1, thr_offs.Int32Value()); in StoreStackOffsetToThread()
3740 Mips64ManagedRegister scratch = mscratch.AsMips64(); in StoreSpanning() local
3742 LoadFromOffset(kLoadDoubleword, scratch.AsGpuRegister(), SP, in_off.Int32Value()); in StoreSpanning()
[all …]
/art/test/635-checker-arm64-volatile-load-cc/
Dinfo.txt1 Regression test checking that the VIXL ARM64 scratch register pool is
/art/test/646-checker-arraycopy-large-cst-pos/
Dinfo.txt1 Regression test for an issue with a depleted VIXL scratch register
/art/test/572-checker-array-get-regression/
Dinfo.txt3 used to require too many scratch (temporary) registers.
/art/compiler/utils/mips/
Dassembler_mips.cc4899 MipsManagedRegister scratch = mscratch.AsMips(); in StoreImmediateToFrame() local
4900 CHECK(scratch.IsCoreRegister()) << scratch; in StoreImmediateToFrame()
4901 LoadConst32(scratch.AsCoreRegister(), imm); in StoreImmediateToFrame()
4902 StoreToOffset(kStoreWord, scratch.AsCoreRegister(), SP, dest.Int32Value()); in StoreImmediateToFrame()
4908 MipsManagedRegister scratch = mscratch.AsMips(); in StoreStackOffsetToThread() local
4909 CHECK(scratch.IsCoreRegister()) << scratch; in StoreStackOffsetToThread()
4910 Addiu32(scratch.AsCoreRegister(), SP, fr_offs.Int32Value()); in StoreStackOffsetToThread()
4911 StoreToOffset(kStoreWord, scratch.AsCoreRegister(), in StoreStackOffsetToThread()
4922 MipsManagedRegister scratch = mscratch.AsMips(); in StoreSpanning() local
4924 LoadFromOffset(kLoadWord, scratch.AsCoreRegister(), SP, in_off.Int32Value()); in StoreSpanning()
[all …]

12