/art/compiler/utils/x86/ |
D | jni_macro_assembler_x86.cc | 178 Register scratch = ECX; in StoreStackPointerToThread() local 179 __ movl(Address(ESP, -32), scratch); in StoreStackPointerToThread() 180 __ movl(scratch, ESP); in StoreStackPointerToThread() 181 __ orl(scratch, Immediate(0x2)); in StoreStackPointerToThread() 182 __ fs()->movl(Address::Absolute(thr_offs), scratch); in StoreStackPointerToThread() 183 __ movl(scratch, Address(ESP, -32)); in StoreStackPointerToThread() 346 Register scratch = GetScratchRegister(); in Copy() local 347 __ movl(scratch, Address(ESP, src)); in Copy() 348 __ movl(Address(ESP, dest), scratch); in Copy() 350 __ movl(scratch, Address(ESP, FrameOffset(src.Int32Value() + 4))); in Copy() [all …]
|
/art/dex2oat/utils/ |
D | swap_space_test.cc | 36 ScratchFile scratch; in SwapTest() local 37 int fd = scratch.GetFd(); in SwapTest() 38 unlink(scratch.GetFilename().c_str()); in SwapTest() 71 scratch.Close(); in SwapTest()
|
/art/compiler/utils/arm64/ |
D | jni_macro_assembler_arm64.cc | 205 Register scratch = temps.AcquireX(); in StoreStackPointerToThread() local 206 ___ Mov(scratch, reg_x(SP)); in StoreStackPointerToThread() 208 ___ Orr(scratch, scratch, 0x2); in StoreStackPointerToThread() 210 ___ Str(scratch, MEM_OP(reg_x(TR), tr_offs.Int32Value())); in StoreStackPointerToThread() 592 Register scratch = (size == 8) ? temps.AcquireX() : temps.AcquireW(); in Copy() local 593 ___ Ldr(scratch, MEM_OP(reg_x(SP), src.Int32Value())); in Copy() 594 ___ Str(scratch, MEM_OP(reg_x(SP), dest.Int32Value())); in Copy() 631 Register scratch = temps.AcquireX(); in Jump() local 632 ___ Ldr(scratch, MEM_OP(reg_x(base.AsXRegister()), offs.Int32Value())); in Jump() 633 ___ Br(scratch); in Jump() [all …]
|
D | assembler_arm64.cc | 100 Arm64ManagedRegister scratch = m_scratch.AsArm64(); in JumpTo() local 102 CHECK(scratch.IsXRegister()) << scratch; in JumpTo() 105 temps.Exclude(reg_x(base.AsXRegister()), reg_x(scratch.AsXRegister())); in JumpTo() 106 ___ Ldr(reg_x(scratch.AsXRegister()), MEM_OP(reg_x(base.AsXRegister()), offs.Int32Value())); in JumpTo() 107 ___ Br(reg_x(scratch.AsXRegister())); in JumpTo()
|
/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 | code_generator_vector_arm_vixl.cc | 903 /*out*/ vixl32::Register* scratch) { in VecAddress() argument 919 *scratch = temps_scope->Acquire(); in VecAddress() 920 __ Add(*scratch, base, Operand(RegisterFrom(index), ShiftType::LSL, shift)); in VecAddress() 922 return MemOperand(*scratch, offset); in VecAddress() 929 /*out*/ vixl32::Register* scratch) { in VecAddressUnaligned() argument 943 __ Add(*scratch, base, offset); in VecAddressUnaligned() 945 *scratch = temps_scope->Acquire(); in VecAddressUnaligned() 946 __ Add(*scratch, base, offset); in VecAddressUnaligned() 947 __ Add(*scratch, *scratch, Operand(RegisterFrom(index), ShiftType::LSL, shift)); in VecAddressUnaligned() 949 return AlignedMemOperand(*scratch, kNoAlignment); in VecAddressUnaligned() [all …]
|
D | parallel_move_test.cc | 117 Location scratch = GetScratchLocation(kind); in AllocateScratchLocationFor() local 118 if (scratch.Equals(Location::NoLocation())) { in AllocateScratchLocationFor() 122 scratch = (kind == Location::kRegister) ? Location::RegisterLocation(scratch_index_) in AllocateScratchLocationFor() 126 return scratch; in AllocateScratchLocationFor()
|
D | code_generator_vector_arm64_sve.cc | 1100 Register scratch; in VisitVecLoad() local 1108 VecSVEAddress(instruction, &temps, size, /*is_string_char_at*/ false, &scratch)); in VisitVecLoad() 1114 VecSVEAddress(instruction, &temps, size, /*is_string_char_at*/ false, &scratch)); in VisitVecLoad() 1119 VecSVEAddress(instruction, &temps, size, /*is_string_char_at*/ false, &scratch)); in VisitVecLoad() 1124 VecSVEAddress(instruction, &temps, size, /*is_string_char_at*/ false, &scratch)); in VisitVecLoad() 1142 Register scratch; in VisitVecStore() local 1151 VecSVEAddress(instruction, &temps, size, /*is_string_char_at*/ false, &scratch)); in VisitVecStore() 1156 VecSVEAddress(instruction, &temps, size, /*is_string_char_at*/ false, &scratch)); in VisitVecStore() 1161 VecSVEAddress(instruction, &temps, size, /*is_string_char_at*/ false, &scratch)); in VisitVecStore() 1166 VecSVEAddress(instruction, &temps, size, /*is_string_char_at*/ false, &scratch)); in VisitVecStore()
|
D | code_generator_vector_arm64_neon.cc | 1431 Register scratch; in VisitVecLoad() local 1450 VecNEONAddress(instruction, &temps, 1, /*is_string_char_at*/ true, &scratch)); in VisitVecLoad() 1453 if (scratch.IsValid()) { in VisitVecLoad() 1454 temps.Release(scratch); // if used, no longer needed in VisitVecLoad() 1459 VecNEONAddress(instruction, &temps, size, /*is_string_char_at*/ true, &scratch)); in VisitVecLoad() 1474 VecNEONAddress(instruction, &temps, size, instruction->IsStringCharAt(), &scratch)); in VisitVecLoad() 1491 Register scratch; in VisitVecStore() local 1506 VecNEONAddress(instruction, &temps, size, /*is_string_char_at*/ false, &scratch)); in VisitVecStore()
|
D | code_generator_arm64.cc | 1168 Location scratch = GetScratchLocation(kind); in AllocateScratchLocationFor() local 1169 if (!scratch.Equals(Location::NoLocation())) { in AllocateScratchLocationFor() 1170 return scratch; in AllocateScratchLocationFor() 1174 scratch = LocationFrom(vixl_temps_.AcquireX()); in AllocateScratchLocationFor() 1177 scratch = codegen_->GetGraph()->HasSIMD() in AllocateScratchLocationFor() 1181 AddScratchLocation(scratch); in AllocateScratchLocationFor() 1182 return scratch; in AllocateScratchLocationFor() 7166 /*out*/ Register* scratch) { in VecNEONAddress() argument 7188 *scratch = temps_scope->AcquireSameSizeAs(base); in VecNEONAddress() 7189 __ Add(*scratch, base, Operand(WRegisterFrom(index), LSL, shift)); in VecNEONAddress() [all …]
|
D | code_generator_arm_vixl.h | 520 /*out*/ vixl32::Register* scratch); 525 /*out*/ vixl32::Register* scratch);
|
D | code_generator_arm64.h | 435 /*out*/ vixl::aarch64::Register* scratch); 443 /*out*/ vixl::aarch64::Register* scratch);
|
/art/compiler/utils/x86_64/ |
D | jni_macro_assembler_x86_64.cc | 412 CpuRegister scratch = GetScratchRegister(); in Copy() local 414 __ movq(scratch, Address(CpuRegister(RSP), src)); in Copy() 415 __ movq(Address(CpuRegister(RSP), dest), scratch); in Copy() 417 __ movl(scratch, Address(CpuRegister(RSP), src)); in Copy() 418 __ movl(Address(CpuRegister(RSP), dest), scratch); in Copy() 454 CpuRegister scratch = GetScratchRegister(); in CreateJObject() local 457 __ movl(scratch, Address(CpuRegister(RSP), spilled_reference_offset)); in CreateJObject() 458 __ testl(scratch, scratch); in CreateJObject() 460 __ leaq(scratch, Address(CpuRegister(RSP), spilled_reference_offset)); in CreateJObject() 463 __ leaq(scratch, Address(CpuRegister(RSP), spilled_reference_offset)); in CreateJObject() [all …]
|
/art/compiler/utils/arm/ |
D | jni_macro_assembler_arm_vixl.cc | 783 vixl32::Register scratch = temps.Acquire(); in Copy() local 785 asm_.LoadFromOffset(kLoadWord, scratch, sp, src.Int32Value()); in Copy() 786 asm_.StoreToOffset(kStoreWord, scratch, sp, dest.Int32Value()); in Copy() 788 asm_.LoadFromOffset(kLoadWord, scratch, sp, src.Int32Value()); in Copy() 789 asm_.StoreToOffset(kStoreWord, scratch, sp, dest.Int32Value()); in Copy() 790 asm_.LoadFromOffset(kLoadWord, scratch, sp, src.Int32Value() + 4); in Copy() 791 asm_.StoreToOffset(kStoreWord, scratch, sp, dest.Int32Value() + 4); in Copy() 868 vixl32::Register scratch = temps.Acquire(); in Jump() local 869 asm_.LoadFromOffset(kLoadWord, scratch, base, offset.Int32Value()); in Jump() 870 ___ Bx(scratch); in Jump() [all …]
|
/art/test/626-checker-arm64-scratch-register/ |
D | info.txt | 1 Regression test checking that the ARM64 scratch register pool is not
|
/art/compiler/utils/riscv64/ |
D | jni_macro_assembler_riscv64.cc | 467 XRegister scratch = scratch_regs[0].AsRiscv64().AsXRegister(); in TryToTransitionFromRunnableToNative() local 474 __ LrW(scratch, TR, AqRl::kNone); in TryToTransitionFromRunnableToNative() 480 __ Bnez(scratch, Riscv64JNIMacroLabel::Cast(label)->AsRiscv64()); in TryToTransitionFromRunnableToNative() 482 __ ScW(scratch, scratch2, TR, AqRl::kRelease); in TryToTransitionFromRunnableToNative() 483 __ Bnez(scratch, &retry); in TryToTransitionFromRunnableToNative() 503 XRegister scratch = scratch_regs[0].AsRiscv64().AsXRegister(); in TryToTransitionFromNativeToRunnable() local 511 __ LrW(scratch, TR, AqRl::kAcquire); in TryToTransitionFromNativeToRunnable() 518 __ Bne(scratch, scratch2, Riscv64JNIMacroLabel::Cast(label)->AsRiscv64()); in TryToTransitionFromNativeToRunnable() 521 __ ScW(scratch, Zero, TR, AqRl::kNone); in TryToTransitionFromNativeToRunnable() 522 __ Bnez(scratch, &retry); in TryToTransitionFromNativeToRunnable() [all …]
|
/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.
|
/art/runtime/ |
D | dexopt_test.cc | 138 std::optional<ScratchDir> scratch; in GenerateOatForTest() local 140 scratch.emplace(); // Create the scratch directory for the generated boot image. in GenerateOatForTest() 141 std::string alternate_image_location = GenerateAlternateImage(scratch->GetPath()); in GenerateOatForTest()
|
/art/dex2oat/ |
D | dex2oat_image_test.cc | 88 ScratchDir scratch; in CompileImageAndGetSizes() local 89 std::string filename_prefix = scratch.GetPath() + "boot"; in CompileImageAndGetSizes() 256 ScratchDir scratch; in TEST_F() local 257 const std::string& scratch_dir = scratch.GetPath(); in TEST_F()
|
/art/runtime/gc/space/ |
D | image_space_test.cc | 55 ScratchDir scratch; in TEST_F() local 56 const std::string& scratch_dir = scratch.GetPath(); in TEST_F()
|
/art/profman/ |
D | profile_assistant_test.cc | 329 std::string scratch; in GetDexPcOfCallTo() local 330 if (desc == klass->GetDescriptor(&scratch)) { in GetDexPcOfCallTo()
|
/art/test/626-checker-arm64-scratch-register/smali/ |
D | Main2.smali | 259 # // resolver's scratch register pool (provided by VIXL) was in the
|
/art/tools/fuzzer/ |
D | Android.bp | 952 "host_626-checker-arm64-scratch-register_classes.dex",
|