/art/compiler/utils/arm/ |
D | jni_macro_assembler_arm.cc | 37 ArmExceptionSlowPath(ArmManagedRegister scratch, size_t stack_adjust) in ArmExceptionSlowPath() argument 38 : scratch_(scratch), stack_adjust_(stack_adjust) { in ArmExceptionSlowPath() 229 ArmManagedRegister scratch = mscratch.AsArm(); in StoreSpanning() local 231 __ LoadFromOffset(kLoadWord, scratch.AsCoreRegister(), SP, in_off.Int32Value()); in StoreSpanning() 232 __ StoreToOffset(kStoreWord, scratch.AsCoreRegister(), SP, dest.Int32Value() + sizeof(uint32_t)); in StoreSpanning() 236 ArmManagedRegister scratch = mscratch.AsArm(); in CopyRef() local 237 __ LoadFromOffset(kLoadWord, scratch.AsCoreRegister(), SP, src.Int32Value()); in CopyRef() 238 __ StoreToOffset(kStoreWord, scratch.AsCoreRegister(), SP, dest.Int32Value()); in CopyRef() 280 ArmManagedRegister scratch = mscratch.AsArm(); in StoreImmediateToFrame() local 281 CHECK(scratch.IsCoreRegister()) << scratch; in StoreImmediateToFrame() [all …]
|
D | jni_macro_assembler_arm_vixl.h | 67 void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) OVERRIDE; 71 ManagedRegister scratch) OVERRIDE; 78 ManagedRegister scratch) OVERRIDE; 103 ManagedRegister scratch) OVERRIDE; 107 ManagedRegister scratch) OVERRIDE; 109 void CopyRef(FrameOffset dest, FrameOffset src, ManagedRegister scratch) OVERRIDE; 111 void Copy(FrameOffset dest, FrameOffset src, ManagedRegister scratch, size_t size) OVERRIDE; 116 ManagedRegister scratch, 122 ManagedRegister scratch, 128 ManagedRegister scratch, [all …]
|
D | jni_macro_assembler_arm.h | 68 void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) OVERRIDE; 72 ManagedRegister scratch) OVERRIDE; 77 ManagedRegister scratch) OVERRIDE; 98 ManagedRegister scratch) OVERRIDE; 100 void CopyRawPtrToThread(ThreadOffset32 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; 107 void Copy(FrameOffset dest, ManagedRegister src_base, Offset src_offset, ManagedRegister scratch, 110 void Copy(ManagedRegister dest_base, Offset dest_offset, FrameOffset src, ManagedRegister scratch, 113 void Copy(FrameOffset dest, FrameOffset src_base, Offset src_offset, ManagedRegister scratch, [all …]
|
D | jni_macro_assembler_arm_vixl.cc | 212 ArmManagedRegister scratch = mscratch.AsArm(); in StoreSpanning() local 215 temps.Exclude(scratch.AsVIXLRegister()); in StoreSpanning() 216 asm_.LoadFromOffset(kLoadWord, scratch.AsVIXLRegister(), sp, in_off.Int32Value()); in StoreSpanning() 217 asm_.StoreToOffset(kStoreWord, scratch.AsVIXLRegister(), sp, dest.Int32Value() + 4); in StoreSpanning() 223 ArmManagedRegister scratch = mscratch.AsArm(); in CopyRef() local 225 temps.Exclude(scratch.AsVIXLRegister()); in CopyRef() 226 asm_.LoadFromOffset(kLoadWord, scratch.AsVIXLRegister(), sp, src.Int32Value()); in CopyRef() 227 asm_.StoreToOffset(kStoreWord, scratch.AsVIXLRegister(), sp, dest.Int32Value()); in CopyRef() 261 ManagedRegister scratch) { in StoreImmediateToFrame() argument 262 ArmManagedRegister mscratch = scratch.AsArm(); in StoreImmediateToFrame() [all …]
|
/art/compiler/utils/arm64/ |
D | jni_macro_assembler_arm64.cc | 161 Arm64ManagedRegister scratch = m_scratch.AsArm64(); in StoreImmediateToFrame() local 162 CHECK(scratch.IsXRegister()) << scratch; in StoreImmediateToFrame() 163 LoadImmediate(scratch.AsXRegister(), imm); in StoreImmediateToFrame() 164 StoreWToOffset(kStoreWord, scratch.AsOverlappingWRegister(), SP, in StoreImmediateToFrame() 171 Arm64ManagedRegister scratch = m_scratch.AsArm64(); in StoreStackOffsetToThread() local 172 CHECK(scratch.IsXRegister()) << scratch; in StoreStackOffsetToThread() 173 AddConstant(scratch.AsXRegister(), SP, fr_offs.Int32Value()); in StoreStackOffsetToThread() 174 StoreToOffset(scratch.AsXRegister(), TR, tr_offs.Int32Value()); in StoreStackOffsetToThread() 189 Arm64ManagedRegister scratch = m_scratch.AsArm64(); in StoreSpanning() local 191 LoadFromOffset(scratch.AsXRegister(), SP, in_off.Int32Value()); in StoreSpanning() [all …]
|
D | jni_macro_assembler_arm64.h | 69 void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) OVERRIDE; 72 ManagedRegister scratch) OVERRIDE; 77 ManagedRegister scratch) OVERRIDE; 94 ManagedRegister scratch) OVERRIDE; 95 void CopyRawPtrToThread(ThreadOffset64 thr_offs, FrameOffset fr_offs, ManagedRegister scratch) 97 void CopyRef(FrameOffset dest, FrameOffset src, ManagedRegister scratch) OVERRIDE; 98 void Copy(FrameOffset dest, FrameOffset src, ManagedRegister scratch, size_t size) OVERRIDE; 102 ManagedRegister scratch, 107 ManagedRegister scratch, 112 ManagedRegister scratch, [all …]
|
D | assembler_arm64.cc | 64 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/ |
D | jni_macro_assembler_x86.h | 62 void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) OVERRIDE; 66 ManagedRegister scratch) OVERRIDE; 71 ManagedRegister scratch) OVERRIDE; 92 ManagedRegister scratch) OVERRIDE; 94 void CopyRawPtrToThread(ThreadOffset32 thr_offs, FrameOffset fr_offs, ManagedRegister scratch) 97 void CopyRef(FrameOffset dest, FrameOffset src, ManagedRegister scratch) OVERRIDE; 99 void Copy(FrameOffset dest, FrameOffset src, ManagedRegister scratch, size_t size) OVERRIDE; 101 void Copy(FrameOffset dest, ManagedRegister src_base, Offset src_offset, ManagedRegister scratch, 104 void Copy(ManagedRegister dest_base, Offset dest_offset, FrameOffset src, ManagedRegister scratch, 107 void Copy(FrameOffset dest, FrameOffset src_base, Offset src_offset, ManagedRegister scratch, [all …]
|
D | jni_macro_assembler_x86.cc | 169 X86ManagedRegister scratch = mscratch.AsX86(); in StoreStackOffsetToThread() local 170 CHECK(scratch.IsCpuRegister()); in StoreStackOffsetToThread() 171 __ leal(scratch.AsCpuRegister(), Address(ESP, fr_offs)); in StoreStackOffsetToThread() 172 __ fs()->movl(Address::Absolute(thr_offs), scratch.AsCpuRegister()); in StoreStackOffsetToThread() 323 X86ManagedRegister scratch = mscratch.AsX86(); in CopyRef() local 324 CHECK(scratch.IsCpuRegister()); in CopyRef() 325 __ movl(scratch.AsCpuRegister(), Address(ESP, src)); in CopyRef() 326 __ movl(Address(ESP, dest), scratch.AsCpuRegister()); in CopyRef() 332 X86ManagedRegister scratch = mscratch.AsX86(); in CopyRawPtrFromThread() local 333 CHECK(scratch.IsCpuRegister()); in CopyRawPtrFromThread() [all …]
|
/art/compiler/utils/x86_64/ |
D | jni_macro_assembler_x86_64.h | 63 void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) OVERRIDE; 67 ManagedRegister scratch) OVERRIDE; 74 ManagedRegister scratch) OVERRIDE; 97 ManagedRegister scratch) OVERRIDE; 99 void CopyRawPtrToThread(ThreadOffset64 thr_offs, FrameOffset fr_offs, ManagedRegister scratch) 102 void CopyRef(FrameOffset dest, FrameOffset src, ManagedRegister scratch) OVERRIDE; 104 void Copy(FrameOffset dest, FrameOffset src, ManagedRegister scratch, size_t size) OVERRIDE; 109 ManagedRegister scratch, 115 ManagedRegister scratch, 121 ManagedRegister scratch, [all …]
|
D | jni_macro_assembler_x86_64.cc | 208 X86_64ManagedRegister scratch = mscratch.AsX86_64(); in StoreStackOffsetToThread() local 209 CHECK(scratch.IsCpuRegister()); in StoreStackOffsetToThread() 210 __ leaq(scratch.AsCpuRegister(), Address(CpuRegister(RSP), fr_offs)); in StoreStackOffsetToThread() 211 __ gs()->movq(Address::Absolute(thr_offs, true), scratch.AsCpuRegister()); in StoreStackOffsetToThread() 373 X86_64ManagedRegister scratch = mscratch.AsX86_64(); in CopyRef() local 374 CHECK(scratch.IsCpuRegister()); in CopyRef() 375 __ movl(scratch.AsCpuRegister(), Address(CpuRegister(RSP), src)); in CopyRef() 376 __ movl(Address(CpuRegister(RSP), dest), scratch.AsCpuRegister()); in CopyRef() 382 X86_64ManagedRegister scratch = mscratch.AsX86_64(); in CopyRawPtrFromThread() local 383 CHECK(scratch.IsCpuRegister()); in CopyRawPtrFromThread() [all …]
|
/art/compiler/utils/ |
D | jni_macro_assembler.h | 79 virtual void StoreImmediateToFrame(FrameOffset dest, uint32_t imm, ManagedRegister scratch) = 0; 83 ManagedRegister scratch) = 0; 90 ManagedRegister scratch) = 0; 115 ManagedRegister scratch) = 0; 119 ManagedRegister scratch) = 0; 121 virtual void CopyRef(FrameOffset dest, FrameOffset src, ManagedRegister scratch) = 0; 123 virtual void Copy(FrameOffset dest, FrameOffset src, ManagedRegister scratch, size_t size) = 0; 128 ManagedRegister scratch, 134 ManagedRegister scratch, 140 ManagedRegister scratch, [all …]
|
D | swap_space_test.cc | 35 ScratchFile scratch; in SwapTest() local 36 int fd = scratch.GetFd(); in SwapTest() 37 unlink(scratch.GetFilename().c_str()); in SwapTest() 70 scratch.Close(); in SwapTest()
|
/art/compiler/optimizing/ |
D | parallel_move_resolver.cc | 264 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 …]
|
D | parallel_move_test.cc | 115 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()
|
D | code_generator_arm64.cc | 1497 Location scratch = GetScratchLocation(kind); in AllocateScratchLocationFor() local 1498 if (!scratch.Equals(Location::NoLocation())) { in AllocateScratchLocationFor() 1499 return scratch; in AllocateScratchLocationFor() 1503 scratch = LocationFrom(vixl_temps_.AcquireX()); in AllocateScratchLocationFor() 1506 scratch = LocationFrom(codegen_->GetGraph()->HasSIMD() in AllocateScratchLocationFor() 1510 AddScratchLocation(scratch); in AllocateScratchLocationFor() 1511 return scratch; in AllocateScratchLocationFor()
|
/art/compiler/utils/mips64/ |
D | assembler_mips64.cc | 2893 Mips64ManagedRegister scratch = mscratch.AsMips64(); in StoreImmediateToFrame() local 2894 CHECK(scratch.IsGpuRegister()) << scratch; in StoreImmediateToFrame() 2895 LoadConst32(scratch.AsGpuRegister(), imm); in StoreImmediateToFrame() 2896 StoreToOffset(kStoreWord, scratch.AsGpuRegister(), SP, dest.Int32Value()); in StoreImmediateToFrame() 2902 Mips64ManagedRegister scratch = mscratch.AsMips64(); in StoreStackOffsetToThread() local 2903 CHECK(scratch.IsGpuRegister()) << scratch; in StoreStackOffsetToThread() 2904 Daddiu64(scratch.AsGpuRegister(), SP, fr_offs.Int32Value()); in StoreStackOffsetToThread() 2905 StoreToOffset(kStoreDoubleword, scratch.AsGpuRegister(), S1, thr_offs.Int32Value()); in StoreStackOffsetToThread() 2915 Mips64ManagedRegister scratch = mscratch.AsMips64(); in StoreSpanning() local 2917 LoadFromOffset(kLoadDoubleword, scratch.AsGpuRegister(), SP, in_off.Int32Value()); in StoreSpanning() [all …]
|
D | assembler_mips64.h | 395 explicit Mips64ExceptionSlowPath(Mips64ManagedRegister scratch, size_t stack_adjust) in Mips64ExceptionSlowPath() argument 396 : scratch_(scratch), stack_adjust_(stack_adjust) {} in Mips64ExceptionSlowPath()
|
/art/compiler/utils/mips/ |
D | assembler_mips.cc | 3448 MipsManagedRegister scratch = mscratch.AsMips(); in StoreImmediateToFrame() local 3449 CHECK(scratch.IsCoreRegister()) << scratch; in StoreImmediateToFrame() 3450 LoadConst32(scratch.AsCoreRegister(), imm); in StoreImmediateToFrame() 3451 StoreToOffset(kStoreWord, scratch.AsCoreRegister(), SP, dest.Int32Value()); in StoreImmediateToFrame() 3457 MipsManagedRegister scratch = mscratch.AsMips(); in StoreStackOffsetToThread() local 3458 CHECK(scratch.IsCoreRegister()) << scratch; in StoreStackOffsetToThread() 3459 Addiu32(scratch.AsCoreRegister(), SP, fr_offs.Int32Value()); in StoreStackOffsetToThread() 3460 StoreToOffset(kStoreWord, scratch.AsCoreRegister(), in StoreStackOffsetToThread() 3471 MipsManagedRegister scratch = mscratch.AsMips(); in StoreSpanning() local 3473 LoadFromOffset(kLoadWord, scratch.AsCoreRegister(), SP, in_off.Int32Value()); in StoreSpanning() [all …]
|
D | assembler_mips.h | 162 explicit MipsExceptionSlowPath(MipsManagedRegister scratch, size_t stack_adjust) in MipsExceptionSlowPath() argument 163 : scratch_(scratch), stack_adjust_(stack_adjust) {} in MipsExceptionSlowPath()
|
/art/test/626-checker-arm64-scratch-register/ |
D | info.txt | 1 Regression test checking that the ARM64 scratch register pool is not
|
/art/test/635-checker-arm64-volatile-load-cc/ |
D | info.txt | 1 Regression test checking that the VIXL ARM64 scratch register pool is
|
/art/test/646-checker-arraycopy-large-cst-pos/ |
D | info.txt | 1 Regression test for an issue with a depleted VIXL scratch register
|
/art/test/572-checker-array-get-regression/ |
D | info.txt | 3 used to require too many scratch (temporary) registers.
|