Home
last modified time | relevance | path

Searched refs:stack_index (Results 1 – 18 of 18) sorted by relevance

/art/compiler/optimizing/
Dlocations.h247 static uintptr_t EncodeStackIndex(intptr_t stack_index) { in EncodeStackIndex() argument
248 DCHECK(-kStackIndexBias <= stack_index); in EncodeStackIndex()
249 DCHECK(stack_index < kStackIndexBias); in EncodeStackIndex()
250 return static_cast<uintptr_t>(kStackIndexBias + stack_index); in EncodeStackIndex()
253 static Location StackSlot(intptr_t stack_index) { in StackSlot() argument
254 uintptr_t payload = EncodeStackIndex(stack_index); in StackSlot()
257 DCHECK_EQ(loc.GetStackIndex(), stack_index); in StackSlot()
265 static Location DoubleStackSlot(intptr_t stack_index) { in DoubleStackSlot() argument
266 uintptr_t payload = EncodeStackIndex(stack_index); in DoubleStackSlot()
269 DCHECK_EQ(loc.GetStackIndex(), stack_index); in DoubleStackSlot()
[all …]
Dcode_generator_x86_64.h400 size_t SaveCoreRegister(size_t stack_index, uint32_t reg_id) override;
401 size_t RestoreCoreRegister(size_t stack_index, uint32_t reg_id) override;
402 size_t SaveFloatingPointRegister(size_t stack_index, uint32_t reg_id) override;
403 size_t RestoreFloatingPointRegister(size_t stack_index, uint32_t reg_id) override;
Dcode_generator_x86.h422 size_t SaveCoreRegister(size_t stack_index, uint32_t reg_id) override;
423 size_t RestoreCoreRegister(size_t stack_index, uint32_t reg_id) override;
424 size_t SaveFloatingPointRegister(size_t stack_index, uint32_t reg_id) override;
425 size_t RestoreFloatingPointRegister(size_t stack_index, uint32_t reg_id) override;
Dcode_generator_riscv64.h488 size_t SaveCoreRegister(size_t stack_index, uint32_t reg_id) override;
489 size_t RestoreCoreRegister(size_t stack_index, uint32_t reg_id) override;
490 size_t SaveFloatingPointRegister(size_t stack_index, uint32_t reg_id) override;
491 size_t RestoreFloatingPointRegister(size_t stack_index, uint32_t reg_id) override;
Dcode_generator.h276 virtual size_t SaveCoreRegister(size_t stack_index, uint32_t reg_id) = 0;
278 virtual size_t RestoreCoreRegister(size_t stack_index, uint32_t reg_id) = 0;
280 virtual size_t SaveFloatingPointRegister(size_t stack_index, uint32_t reg_id) = 0;
281 virtual size_t RestoreFloatingPointRegister(size_t stack_index, uint32_t reg_id) = 0;
Dcode_generator_arm_vixl.h547 size_t SaveCoreRegister(size_t stack_index, uint32_t reg_id) override;
548 size_t RestoreCoreRegister(size_t stack_index, uint32_t reg_id) override;
549 size_t SaveFloatingPointRegister(size_t stack_index, uint32_t reg_id) override;
550 size_t RestoreFloatingPointRegister(size_t stack_index, uint32_t reg_id) override;
Dcode_generator_arm64.h684 size_t SaveCoreRegister(size_t stack_index, uint32_t reg_id) override;
685 size_t RestoreCoreRegister(size_t stack_index, uint32_t reg_id) override;
686 size_t SaveFloatingPointRegister(size_t stack_index, uint32_t reg_id) override;
687 size_t RestoreFloatingPointRegister(size_t stack_index, uint32_t reg_id) override;
Dcode_generator_x86_64.cc1518 size_t CodeGeneratorX86_64::SaveCoreRegister(size_t stack_index, uint32_t reg_id) { in SaveCoreRegister() argument
1519 __ movq(Address(CpuRegister(RSP), stack_index), CpuRegister(reg_id)); in SaveCoreRegister()
1523 size_t CodeGeneratorX86_64::RestoreCoreRegister(size_t stack_index, uint32_t reg_id) { in RestoreCoreRegister() argument
1524 __ movq(CpuRegister(reg_id), Address(CpuRegister(RSP), stack_index)); in RestoreCoreRegister()
1528 size_t CodeGeneratorX86_64::SaveFloatingPointRegister(size_t stack_index, uint32_t reg_id) { in SaveFloatingPointRegister() argument
1530 __ movups(Address(CpuRegister(RSP), stack_index), XmmRegister(reg_id)); in SaveFloatingPointRegister()
1532 __ movsd(Address(CpuRegister(RSP), stack_index), XmmRegister(reg_id)); in SaveFloatingPointRegister()
1537 size_t CodeGeneratorX86_64::RestoreFloatingPointRegister(size_t stack_index, uint32_t reg_id) { in RestoreFloatingPointRegister() argument
1539 __ movups(XmmRegister(reg_id), Address(CpuRegister(RSP), stack_index)); in RestoreFloatingPointRegister()
1541 __ movsd(XmmRegister(reg_id), Address(CpuRegister(RSP), stack_index)); in RestoreFloatingPointRegister()
Dcode_generator_arm_vixl.cc1097 size_t CodeGeneratorARMVIXL::SaveCoreRegister([[maybe_unused]] size_t stack_index, in SaveCoreRegister() argument
1104 size_t CodeGeneratorARMVIXL::RestoreCoreRegister([[maybe_unused]] size_t stack_index, in RestoreCoreRegister() argument
1110 size_t CodeGeneratorARMVIXL::SaveFloatingPointRegister([[maybe_unused]] size_t stack_index, in SaveFloatingPointRegister() argument
1116 size_t CodeGeneratorARMVIXL::RestoreFloatingPointRegister([[maybe_unused]] size_t stack_index, in RestoreFloatingPointRegister() argument
2568 uint32_t stack_index = stack_index_++; in GetNextLocation() local
2572 return Location::StackSlot(calling_convention.GetStackOffsetOf(stack_index)); in GetNextLocation()
2578 uint32_t stack_index = stack_index_; in GetNextLocation() local
2595 return Location::DoubleStackSlot(calling_convention.GetStackOffsetOf(stack_index)); in GetNextLocation()
2600 uint32_t stack_index = stack_index_++; in GetNextLocation() local
2607 return Location::StackSlot(calling_convention.GetStackOffsetOf(stack_index)); in GetNextLocation()
[all …]
Dcode_generator_riscv64.cc6313 size_t CodeGeneratorRISCV64::SaveCoreRegister(size_t stack_index, uint32_t reg_id) { in SaveCoreRegister() argument
6314 __ Stored(XRegister(reg_id), SP, stack_index); in SaveCoreRegister()
6318 size_t CodeGeneratorRISCV64::RestoreCoreRegister(size_t stack_index, uint32_t reg_id) { in RestoreCoreRegister() argument
6319 __ Loadd(XRegister(reg_id), SP, stack_index); in RestoreCoreRegister()
6323 size_t CodeGeneratorRISCV64::SaveFloatingPointRegister(size_t stack_index, uint32_t reg_id) { in SaveFloatingPointRegister() argument
6329 __ FStored(FRegister(reg_id), SP, stack_index); in SaveFloatingPointRegister()
6333 size_t CodeGeneratorRISCV64::RestoreFloatingPointRegister(size_t stack_index, uint32_t reg_id) { in RestoreFloatingPointRegister() argument
6339 __ FLoadd(FRegister(reg_id), SP, stack_index); in RestoreFloatingPointRegister()
Dcode_generator_x86.cc1078 size_t CodeGeneratorX86::SaveCoreRegister(size_t stack_index, uint32_t reg_id) { in SaveCoreRegister() argument
1079 __ movl(Address(ESP, stack_index), static_cast<Register>(reg_id)); in SaveCoreRegister()
1083 size_t CodeGeneratorX86::RestoreCoreRegister(size_t stack_index, uint32_t reg_id) { in RestoreCoreRegister() argument
1084 __ movl(static_cast<Register>(reg_id), Address(ESP, stack_index)); in RestoreCoreRegister()
1088 size_t CodeGeneratorX86::SaveFloatingPointRegister(size_t stack_index, uint32_t reg_id) { in SaveFloatingPointRegister() argument
1090 __ movups(Address(ESP, stack_index), XmmRegister(reg_id)); in SaveFloatingPointRegister()
1092 __ movsd(Address(ESP, stack_index), XmmRegister(reg_id)); in SaveFloatingPointRegister()
1097 size_t CodeGeneratorX86::RestoreFloatingPointRegister(size_t stack_index, uint32_t reg_id) { in RestoreFloatingPointRegister() argument
1099 __ movups(XmmRegister(reg_id), Address(ESP, stack_index)); in RestoreFloatingPointRegister()
1101 __ movsd(XmmRegister(reg_id), Address(ESP, stack_index)); in RestoreFloatingPointRegister()
Dcode_generator_arm64.cc1603 size_t CodeGeneratorARM64::SaveCoreRegister(size_t stack_index, uint32_t reg_id) { in SaveCoreRegister() argument
1605 __ Str(reg, MemOperand(sp, stack_index)); in SaveCoreRegister()
1609 size_t CodeGeneratorARM64::RestoreCoreRegister(size_t stack_index, uint32_t reg_id) { in RestoreCoreRegister() argument
1611 __ Ldr(reg, MemOperand(sp, stack_index)); in RestoreCoreRegister()
1615 size_t CodeGeneratorARM64::SaveFloatingPointRegister([[maybe_unused]] size_t stack_index, in SaveFloatingPointRegister() argument
1622 size_t CodeGeneratorARM64::RestoreFloatingPointRegister([[maybe_unused]] size_t stack_index, in RestoreFloatingPointRegister() argument
/art/runtime/interpreter/mterp/arm64ng/
Dmain.S1064 .macro LOOP_RANGE_OVER_SHORTY_LOADING_FPS dreg, sreg, shorty, arg_index, stack_index, finished
1073 add \stack_index, \stack_index, #1
1078 add \stack_index, \stack_index, #1
1083 add \stack_index, \stack_index, #2
1088 add \stack_index, \stack_index, #1
1101 .macro LOOP_RANGE_OVER_FPs shorty, arg_index, stack_index, finished
1110 add \stack_index, \stack_index, #1
1115 add \stack_index, \stack_index, #1
1119 add ip2, sp, \stack_index, uxtw #2
1122 add \stack_index, \stack_index, #2
[all …]
/art/runtime/interpreter/mterp/armng/
Dmain.S1159 .macro LOOP_RANGE_OVER_SHORTY_LOADING_GPRS reg32, shorty, arg_index, stack_index, finished, if_long…
1172 add \stack_index, \stack_index, #1
1181 add \stack_index, \stack_index, #1
1184 add \stack_index, \stack_index, #1
1189 add \stack_index, \stack_index, #1
1193 add \stack_index, \stack_index, #2
1201 .macro LOOP_RANGE_OVER_INTs shorty, arg_index, stack_index, finished
1213 str ip, [sp, \stack_index, lsl #2]
1215 add \stack_index, \stack_index, #1
1219 str ip, [sp, \stack_index, lsl #2]
[all …]
/art/runtime/interpreter/mterp/x86_64ng/
Dmain.S534 .macro LOOP_RANGE_OVER_SHORTY_LOADING_XMMS xmm_reg, shorty, arg_index, stack_index, finished
545 addq MACRO_LITERAL(1), REG_VAR(stack_index)
550 addq MACRO_LITERAL(1), REG_VAR(stack_index)
555 addq MACRO_LITERAL(2), REG_VAR(stack_index)
560 addq MACRO_LITERAL(1), REG_VAR(stack_index)
573 .macro LOOP_RANGE_OVER_FPs shorty, arg_index, stack_index, finished
584 addq MACRO_LITERAL(1), REG_VAR(stack_index)
589 addq MACRO_LITERAL(1), REG_VAR(stack_index)
593 movq %rax, 8(%rsp, REG_VAR(stack_index), 4)
595 addq MACRO_LITERAL(2), REG_VAR(stack_index)
[all …]
/art/runtime/interpreter/mterp/x86ng/
Dmain.S673 .macro LOOP_RANGE_OVER_SHORTY_LOADING_XMMS xmm_reg, shorty, arg_index, stack_index, finished
684 addl MACRO_LITERAL(1), REG_VAR(stack_index)
689 addl MACRO_LITERAL(1), REG_VAR(stack_index)
694 addl MACRO_LITERAL(2), REG_VAR(stack_index)
699 add MACRO_LITERAL(1), REG_VAR(stack_index)
712 .macro LOOP_RANGE_OVER_FPs shorty, arg_index, stack_index, finished
723 addl MACRO_LITERAL(1), REG_VAR(stack_index)
728 addl MACRO_LITERAL(1), REG_VAR(stack_index)
732 movq %xmm4, 4(%esp, REG_VAR(stack_index), 4)
734 addl MACRO_LITERAL(2), REG_VAR(stack_index)
[all …]
/art/runtime/interpreter/mterp/
Dnterp.cc191 uint32_t stack_index, in NterpSetupArm32Fprs() argument
208 stack_index += 2; in NterpSetupArm32Fprs()
210 stack_args[stack_index++] = registers[dex_register++]; in NterpSetupArm32Fprs()
211 stack_args[stack_index++] = registers[dex_register++]; in NterpSetupArm32Fprs()
221 stack_index++; in NterpSetupArm32Fprs()
223 stack_args[stack_index++] = registers[dex_register++]; in NterpSetupArm32Fprs()
228 stack_index += 2; in NterpSetupArm32Fprs()
233 stack_index++; in NterpSetupArm32Fprs()
/art/runtime/
Dthread.cc4322 [[maybe_unused]] size_t stack_index, in VisitQuickFrameNonPrecise()
4374 void VisitStack(mirror::Object** ref, size_t stack_index, const StackVisitor* stack_visitor) in VisitQuickFramePrecise()
4376 const size_t stack_offset = stack_index * kFrameSlotSize; in VisitQuickFramePrecise()