/art/runtime/arch/mips/ |
D | jni_entrypoints_mips.S | 27 addiu $sp, $sp, -48 # leave room for $f12, $f13, $f14, $f15, $a0, $a1, $a2, $a3, and $ra 29 sw $ra, 32($sp) 31 CHECK_ALIGNMENT $sp, $t0 32 sdc1 $f14, 24($sp) 33 sdc1 $f12, 16($sp) 34 sw $a3, 12($sp) 36 sw $a2, 8($sp) 38 sw $a1, 4($sp) 40 sw $a0, 0($sp) 45 lw $a0, 0($sp) # restore registers from stack [all …]
|
D | quick_entrypoints_mips.S | 40 addiu $sp, $sp, -112 48 sw $ra, 108($sp) 50 sw $s8, 104($sp) 52 sw $gp, 100($sp) 54 sw $s7, 96($sp) 56 sw $s6, 92($sp) 58 sw $s5, 88($sp) 60 sw $s4, 84($sp) 62 sw $s3, 80($sp) 64 sw $s2, 76($sp) [all …]
|
D | fault_handler_mips.cc | 120 uintptr_t sp = sc->sc_regs[mips::SP]; in Action() local 121 VLOG(signals) << "sp: " << std::hex << sp; in Action() 125 VLOG(signals) << "checking for stack overflow, sp: " << std::hex << sp << in Action() 128 uintptr_t overflow_addr = sp - GetStackOverflowReservedBytes(InstructionSet::kMips); in Action()
|
/art/runtime/arch/mips64/ |
D | jni_entrypoints_mips64.S | 27 daddiu $sp, $sp, -80 # save a0-a7 and $ra 29 sd $ra, 64($sp) 31 sd $a7, 56($sp) 33 sd $a6, 48($sp) 35 sd $a5, 40($sp) 37 sd $a4, 32($sp) 39 sd $a3, 24($sp) 41 sd $a2, 16($sp) 43 sd $a1, 8($sp) 45 sd $a0, 0($sp) [all …]
|
D | quick_entrypoints_mips64.S | 48 daddiu $sp, $sp, -160 56 sd $ra, 152($sp) 58 sd $s8, 144($sp) 60 sd $t8, 136($sp) # t8 holds caller's gp, now save it to the stack. 119 sd $s7, 48($sp) 121 sd $s6, 40($sp) 123 sd $s5, 32($sp) 125 sd $s4, 24($sp) 127 sd $s3, 16($sp) 129 sd $s2, 8($sp) [all …]
|
D | fault_handler_mips64.cc | 122 uintptr_t sp = sc->sc_regs[mips64::SP]; in Action() local 123 VLOG(signals) << "sp: " << std::hex << sp; in Action() 127 VLOG(signals) << "checking for stack overflow, sp: " << std::hex << sp << in Action() 130 uintptr_t overflow_addr = sp - GetStackOverflowReservedBytes(InstructionSet::kMips64); in Action()
|
/art/runtime/arch/arm64/ |
D | jni_entrypoints_arm64.S | 26 stp x29, x30, [sp, #-16]! 30 mov x29, sp 31 stp d6, d7, [sp, #-16]! 33 stp d4, d5, [sp, #-16]! 35 stp d2, d3, [sp, #-16]! 37 stp d0, d1, [sp, #-16]! 39 stp x6, x7, [sp, #-16]! 41 stp x4, x5, [sp, #-16]! 43 stp x2, x3, [sp, #-16]! 45 stp x0, x1, [sp, #-16]! [all …]
|
D | quick_entrypoints_arm64.S | 24 sub sp, sp, #(\frame_adjustment) 29 add sp, sp, #(\frame_adjustment) 34 str \reg, [sp, #(\offset)] 39 ldr \reg, [sp, #(\offset)] 44 str \reg, [sp, #-(\frame_adjustment)]! 50 ldr \reg, [sp], #(\frame_adjustment) 56 stp \reg1, \reg2, [sp, #(\offset)] 62 ldp \reg1, \reg2, [sp, #(\offset)] 68 stp \reg1, \reg2, [sp, #-(\frame_adjustment)]! 75 ldp \reg1, \reg2, [sp], #(\frame_adjustment) [all …]
|
D | fault_handler_arm64.cc | 46 *out_sp = static_cast<uintptr_t>(sc->sp); in GetMethodAndReturnPcAndSp() 84 sc->sp -= sizeof(uintptr_t); in Action() 85 *reinterpret_cast<uintptr_t*>(sc->sp) = sc->pc + 4; in Action() 160 uintptr_t sp = sc->sp; in Action() local 161 VLOG(signals) << "sp: " << std::hex << sp; in Action() 165 VLOG(signals) << "checking for stack overflow, sp: " << std::hex << sp << in Action() 168 uintptr_t overflow_addr = sp - GetStackOverflowReservedBytes(InstructionSet::kArm64); in Action()
|
/art/compiler/utils/ |
D | assembler_thumb_test_expected.cc.inc | 2 " 0: e92d 4de0 stmdb sp!, {r5, r6, r7, r8, sl, fp, lr}\n", 4 " 8: b089 sub sp, #36 ; 0x24\n", 5 " a: 9000 str r0, [sp, #0]\n", 6 " c: 9121 str r1, [sp, #132] ; 0x84\n", 7 " e: ed8d 0a22 vstr s0, [sp, #136] ; 0x88\n", 8 " 12: 9223 str r2, [sp, #140] ; 0x8c\n", 9 " 14: 9324 str r3, [sp, #144] ; 0x90\n", 10 " 16: b088 sub sp, #32\n", 11 " 18: f5ad 5d80 sub.w sp, sp, #4096 ; 0x1000\n", 12 " 1c: 9808 ldr r0, [sp, #32]\n", [all …]
|
/art/compiler/optimizing/ |
D | optimizing_cfi_test_expected.inc | 20 // 0x00000006: sub sp, sp, #44 23 // 0x00000008: add sp, sp, #44 43 // 0x00000000: sub sp, sp, #0x40 (64) 45 // 0x00000004: str x21, [sp, #40] 47 // 0x00000008: stp x22, lr, [sp, #48] 50 // 0x0000000c: stp d8, d9, [sp, #24] 54 // 0x00000010: ldp d8, d9, [sp, #24] 57 // 0x00000014: ldr x21, [sp, #40] 59 // 0x00000018: ldp x22, lr, [sp, #48] 62 // 0x0000001c: add sp, sp, #0x40 (64) [all …]
|
/art/runtime/interpreter/mterp/mips64/ |
D | main.S | 52 #define sp $$29 /* stack pointer */ macro 370 .cfi_def_cfa sp, 0 371 daddu sp, sp, -STACK_SIZE 374 sd t8, STACK_OFFSET_GP(sp) 376 sd ra, STACK_OFFSET_RA(sp) 379 sd s0, STACK_OFFSET_S0(sp) 381 sd s1, STACK_OFFSET_S1(sp) 383 sd s2, STACK_OFFSET_S2(sp) 385 sd s3, STACK_OFFSET_S3(sp) 387 sd s4, STACK_OFFSET_S4(sp) [all …]
|
/art/runtime/entrypoints/quick/ |
D | quick_trampoline_entrypoints.cc | 312 static StackReference<mirror::Object>* GetProxyThisObjectReference(ArtMethod** sp) in GetProxyThisObjectReference() argument 314 CHECK((*sp)->IsProxyMethod()); in GetProxyThisObjectReference() 319 uint8_t* this_arg_address = reinterpret_cast<uint8_t*>(sp) + this_arg_offset; in GetProxyThisObjectReference() 323 static ArtMethod* GetCallingMethod(ArtMethod** sp) REQUIRES_SHARED(Locks::mutator_lock_) { in GetCallingMethod() argument 324 DCHECK((*sp)->IsCalleeSaveMethod()); in GetCallingMethod() 325 return GetCalleeSaveMethodCaller(sp, CalleeSaveType::kSaveRefsAndArgs); in GetCallingMethod() 328 static ArtMethod* GetOuterMethod(ArtMethod** sp) REQUIRES_SHARED(Locks::mutator_lock_) { in GetOuterMethod() argument 329 DCHECK((*sp)->IsCalleeSaveMethod()); in GetOuterMethod() 331 reinterpret_cast<uint8_t*>(sp) + kQuickCalleeSaveFrame_RefAndArgs_FrameSize; in GetOuterMethod() 335 static uint32_t GetCallingDexPc(ArtMethod** sp) REQUIRES_SHARED(Locks::mutator_lock_) { in GetCallingDexPc() argument [all …]
|
/art/compiler/utils/arm/ |
D | jni_macro_assembler_arm_vixl.cc | 119 asm_.StoreToOffset(kStoreWord, r0, sp, 0); in BuildFrame() 129 asm_.StoreToOffset(kStoreWord, AsVIXLRegister(reg), sp, offset); in BuildFrame() 132 asm_.StoreSToOffset(AsVIXLSRegister(reg), sp, offset); in BuildFrame() 135 asm_.StoreDToOffset(AsVIXLDRegister(reg), sp, offset); in BuildFrame() 217 asm_.AddConstant(sp, -adjust); in IncreaseFrameSize() 222 asm_.AddConstant(sp, adjust); in DecreaseFrameSize() 234 asm_.StoreToOffset(kStoreWord, AsVIXLRegister(src), sp, dest.Int32Value()); in Store() 237 asm_.StoreToOffset(kStoreWord, AsVIXLRegisterPairLow(src), sp, dest.Int32Value()); in Store() 238 asm_.StoreToOffset(kStoreWord, AsVIXLRegisterPairHigh(src), sp, dest.Int32Value() + 4); in Store() 241 asm_.StoreSToOffset(AsVIXLSRegister(src), sp, dest.Int32Value()); in Store() [all …]
|
D | assembler_arm_vixl.cc | 389 vixl32::Register base = sp; in StoreRegisterList() 393 ___ Add(base, sp, Operand::From(stack_offset)); in StoreRegisterList() 398 ___ Str(vixl32::Register(i), MemOperand(sp, stack_offset)); in StoreRegisterList() 410 vixl32::Register base = sp; in LoadRegisterList() 413 ___ Add(base, sp, Operand::From(stack_offset)); in LoadRegisterList() 418 ___ Ldr(vixl32::Register(i), MemOperand(sp, stack_offset)); in LoadRegisterList()
|
/art/runtime/arch/arm/ |
D | quick_entrypoints_arm.S | 52 sub sp, #12 @ 3 words of space, bottom word will hold Method* 57 str \rTemp, [sp, #0] @ Place Method* at bottom of stack. 58 … str sp, [rSELF, #THREAD_TOP_QUICK_FRAME_OFFSET] @ Place sp in Thread::Current()->top_quick_frame. 83 sub sp, #4 @ bottom word will hold Method* 88 str \rTemp, [sp, #0] @ Place Method* at bottom of stack. 89 … str sp, [rSELF, #THREAD_TOP_QUICK_FRAME_OFFSET] @ Place sp in Thread::Current()->top_quick_frame. 98 add sp, #4 @ bottom word holds Method* 136 sub sp, #8 @ 2 words of space, alignment padding and Method* 149 str \rTemp, [sp, #0] @ Place Method* at bottom of stack. 150 … str sp, [rSELF, #THREAD_TOP_QUICK_FRAME_OFFSET] @ Place sp in Thread::Current()->top_quick_frame. [all …]
|
D | jni_entrypoints_arm.S | 31 sub sp, #12 @ pad stack pointer to align frame 35 add sp, #12 @ restore stack pointer
|
D | fault_handler_arm.cc | 205 uintptr_t sp = sc->arm_sp; in Action() local 206 VLOG(signals) << "sp: " << std::hex << sp; in Action() 210 VLOG(signals) << "checking for stack overflow, sp: " << std::hex << sp << in Action() 213 uintptr_t overflow_addr = sp - GetStackOverflowReservedBytes(InstructionSet::kArm); in Action()
|
/art/runtime/ |
D | managed_stack.h | 131 static TaggedTopQuickFrame CreateNotTagged(ArtMethod** sp) { in CreateNotTagged() argument 132 DCHECK_ALIGNED(sp, 4u); in CreateNotTagged() 133 return TaggedTopQuickFrame(reinterpret_cast<uintptr_t>(sp)); in CreateNotTagged() 136 static TaggedTopQuickFrame CreateTagged(ArtMethod** sp) { in CreateTagged() argument 137 DCHECK_ALIGNED(sp, 4u); in CreateTagged() 138 return TaggedTopQuickFrame(reinterpret_cast<uintptr_t>(sp) | 1u); in CreateTagged()
|
D | fault_handler.cc | 293 uintptr_t sp = 0; in IsInGeneratedCode() local 297 GetMethodAndReturnPcAndSp(siginfo, context, &method_obj, &return_pc, &sp); in IsInGeneratedCode() 382 uintptr_t sp = 0; in Action() local 385 manager_->GetMethodAndReturnPcAndSp(siginfo, context, &method, &return_pc, &sp); in Action() 387 self->SetTopOfStack(reinterpret_cast<ArtMethod**>(sp)); in Action()
|
/art/compiler/jni/ |
D | jni_cfi_test_expected.inc | 47 // 0x00000008: sub sp, #36 49 // 0x0000000a: str r0, [sp] 50 // 0x0000000c: str r1, [sp, #132] 51 // 0x0000000e: vstr s0, [sp, #136] 52 // 0x00000012: str r2, [sp, #140] 53 // 0x00000014: str r3, [sp, #144] 54 // 0x00000016: sub sp, #32 56 // 0x00000018: add sp, #32 59 // 0x0000001a: add sp, #36 110 // 0x00000000: sub sp, sp, #0xc0 (192) [all …]
|
/art/compiler/utils/arm64/ |
D | assembler_arm64.cc | 117 const Register sp = vixl_masm_.StackPointer(); in SpillRegisters() local 123 ___ Str(dst0, MemOperand(sp, offset)); in SpillRegisters() 130 ___ Stp(dst0, dst1, MemOperand(sp, offset)); in SpillRegisters() 137 ___ Str(dst0, MemOperand(sp, offset)); in SpillRegisters() 145 const Register sp = vixl_masm_.StackPointer(); in UnspillRegisters() local 149 ___ Ldr(dst0, MemOperand(sp, offset)); in UnspillRegisters() 156 ___ Ldp(dst0, dst1, MemOperand(sp, offset)); in UnspillRegisters() 163 ___ Ldr(dst0, MemOperand(sp, offset)); in UnspillRegisters()
|
/art/runtime/entrypoints/ |
D | entrypoint_utils.cc | 183 ArtMethod** sp, CalleeSaveType type) REQUIRES_SHARED(Locks::mutator_lock_) { in DoGetCalleeSaveMethodOuterCallerAndPc() argument 184 DCHECK_EQ(*sp, Runtime::Current()->GetCalleeSaveMethod(type)); in DoGetCalleeSaveMethodOuterCallerAndPc() 188 reinterpret_cast<uintptr_t>(sp) + callee_frame_size); in DoGetCalleeSaveMethodOuterCallerAndPc() 191 (reinterpret_cast<uint8_t*>(sp) + callee_return_pc_offset)); in DoGetCalleeSaveMethodOuterCallerAndPc() 232 ArtMethod* GetCalleeSaveMethodCaller(ArtMethod** sp, CalleeSaveType type, bool do_caller_check) in GetCalleeSaveMethodCaller() argument 235 auto outer_caller_and_pc = DoGetCalleeSaveMethodOuterCallerAndPc(sp, type); in GetCalleeSaveMethodCaller() 245 ArtMethod** sp = self->GetManagedStack()->GetTopQuickFrameKnownNotTagged(); in GetCalleeSaveMethodCallerAndOuterMethod() local 246 auto outer_caller_and_pc = DoGetCalleeSaveMethodOuterCallerAndPc(sp, type); in GetCalleeSaveMethodCallerAndOuterMethod() 256 ArtMethod** sp = self->GetManagedStack()->GetTopQuickFrameKnownNotTagged(); in GetCalleeSaveOuterMethod() local 257 return DoGetCalleeSaveMethodOuterCallerAndPc(sp, type).first; in GetCalleeSaveOuterMethod()
|
/art/runtime/arch/x86/ |
D | fault_handler_x86.cc | 330 uint8_t* sp = reinterpret_cast<uint8_t*>(uc->CTX_ESP); in Action() local 345 uintptr_t* next_sp = reinterpret_cast<uintptr_t*>(sp - 2 * sizeof(uintptr_t)); in Action() 386 uint8_t* sp = reinterpret_cast<uint8_t*>(uc->CTX_ESP); in Action() local 417 uintptr_t* next_sp = reinterpret_cast<uintptr_t*>(sp - sizeof(uintptr_t)); in Action() 441 uintptr_t sp = static_cast<uintptr_t>(uc->CTX_ESP); in Action() local 445 VLOG(signals) << "checking for stack overflow, sp: " << std::hex << sp << in Action() 449 uintptr_t overflow_addr = sp - GetStackOverflowReservedBytes(InstructionSet::kX86_64); in Action() 451 uintptr_t overflow_addr = sp - GetStackOverflowReservedBytes(InstructionSet::kX86); in Action()
|
/art/test/510-checker-try-catch/smali/ |
D | RegisterAllocator.smali | 23 ## CHECK-DAG: Phi reg:0 is_catch_phi:true locations:{{\[.*\]}}-><<SlotA1:\d+>>(sp) 24 ## CHECK-DAG: Phi reg:0 is_catch_phi:true locations:{{\[.*\]}}-><<SlotA2:\d+>>(sp) 25 ## CHECK-DAG: Phi reg:1 is_catch_phi:true locations:{{\[.*\]}}-><<SlotB:\d+>>(sp) 61 ## CHECK-DAG: Phi reg:0 is_catch_phi:true locations:{{\[.*\]}}->2x<<SlotB1:\d+>>(sp) 62 ## CHECK-DAG: Phi reg:0 is_catch_phi:true locations:{{\[.*\]}}->2x<<SlotB2:\d+>>(sp) 63 ## CHECK-DAG: Phi reg:2 is_catch_phi:true locations:{{\[.*\]}}-><<SlotA:\d+>>(sp)
|