Home
last modified time | relevance | path

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

/art/compiler/utils/arm/
Djni_macro_assembler_arm.cc37 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 …]
Djni_macro_assembler_arm_vixl.h67 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 …]
Djni_macro_assembler_arm.h68 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 …]
Djni_macro_assembler_arm_vixl.cc212 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/
Djni_macro_assembler_arm64.cc161 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 …]
Djni_macro_assembler_arm64.h69 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 …]
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.h62 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 …]
Djni_macro_assembler_x86.cc169 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/
Djni_macro_assembler_x86_64.h63 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 …]
Djni_macro_assembler_x86_64.cc208 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/
Djni_macro_assembler.h79 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 …]
Dswap_space_test.cc35 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/
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 …]
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_arm64.cc1497 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/
Dassembler_mips64.cc2893 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 …]
Dassembler_mips64.h395 explicit Mips64ExceptionSlowPath(Mips64ManagedRegister scratch, size_t stack_adjust) in Mips64ExceptionSlowPath() argument
396 : scratch_(scratch), stack_adjust_(stack_adjust) {} in Mips64ExceptionSlowPath()
/art/compiler/utils/mips/
Dassembler_mips.cc3448 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 …]
Dassembler_mips.h162 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/
Dinfo.txt1 Regression test checking that the ARM64 scratch register pool is not
/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.