Home
last modified time | relevance | path

Searched refs:sp (Results 1 – 25 of 45) sorted by relevance

12

/art/runtime/arch/mips/
Djni_entrypoints_mips.S27 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 …]
Dquick_entrypoints_mips.S40 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 …]
Dfault_handler_mips.cc120 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/
Djni_entrypoints_mips64.S27 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 …]
Dquick_entrypoints_mips64.S48 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 …]
Dfault_handler_mips64.cc122 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/
Djni_entrypoints_arm64.S26 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 …]
Dquick_entrypoints_arm64.S24 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 …]
Dfault_handler_arm64.cc46 *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/
Dassembler_thumb_test_expected.cc.inc2 " 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/
Doptimizing_cfi_test_expected.inc20 // 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/
Dmain.S52 #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/
Dquick_trampoline_entrypoints.cc312 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/
Djni_macro_assembler_arm_vixl.cc119 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 …]
Dassembler_arm_vixl.cc389 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/
Dquick_entrypoints_arm.S52 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 …]
Djni_entrypoints_arm.S31 sub sp, #12 @ pad stack pointer to align frame
35 add sp, #12 @ restore stack pointer
Dfault_handler_arm.cc205 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/
Dmanaged_stack.h131 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()
Dfault_handler.cc293 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/
Djni_cfi_test_expected.inc47 // 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/
Dassembler_arm64.cc117 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/
Dentrypoint_utils.cc183 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/
Dfault_handler_x86.cc330 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/
DRegisterAllocator.smali23 ## 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)

12