| /arkcompiler/runtime_core/static_core/runtime/include/ |
| D | cframe.h | 96 … return CFrameLayout::FrameKindField::Get(*GetPtr<SlotType>(CFrameLayout::FlagsSlot::Start())) == in IsOsr() 97 CFrameLayout::FrameKind::OSR; in IsOsr() 102 … return CFrameLayout::FrameKindField::Get(*GetPtr<SlotType>(CFrameLayout::FlagsSlot::Start())) == in IsNative() 103 CFrameLayout::FrameKind::NATIVE; in IsNative() 106 void SetFrameKind(CFrameLayout::FrameKind kind) in SetFrameKind() 108 CFrameLayout::FrameKindField::Set(kind, GetPtr<SlotType>(CFrameLayout::FlagsSlot::Start())); in SetFrameKind() 115 …return CFrameLayout::ShouldDeoptimizeFlag::Get(*GetPtr<SlotType>(CFrameLayout::FlagsSlot::Start())… in ShouldDeoptimize() 120 … CFrameLayout::ShouldDeoptimizeFlag::Set(v, GetPtr<SlotType>(CFrameLayout::FlagsSlot::Start())); in SetShouldDeoptimize() 125 … CFrameLayout::HasFloatRegsFlag::Set(has, GetPtr<SlotType>(CFrameLayout::FlagsSlot::Start())); in SetHasFloatRegs() 130 return *GetPtr<SlotType *>(CFrameLayout::PrevFrameSlot::Start()); in GetPrevFrame() [all …]
|
| D | cframe_iterators.h | 40 CFrameLayout cframeLayout(ARCH, 0); in MakeRange() 395 CFrameLayout cframeLayout(ARCH, 0); in MakeRange()
|
| D | stack_walker.h | 315 …return *reinterpret_cast<Method **>(reinterpret_cast<SlotType *>(ptr) - CFrameLayout::MethodSlot::… in GetMethodFromCBoundary()
|
| /arkcompiler/runtime_core/static_core/irtoc/backend/compiler/ |
| D | codegen_interpreter.h | 44 frame->SetFrameSize(fl.GetFrameSize<CFrameLayout::OffsetUnit::BYTES>()); in CreateFrameInfo() 47 …frame->SetCallersOffset(fl.GetOffset<CFrameLayout::OffsetOrigin::SP, CFrameLayout::OffsetUnit::SLO… in CreateFrameInfo() 49 …frame->SetFpCallersOffset(fl.GetOffset<CFrameLayout::OffsetOrigin::SP, CFrameLayout::OffsetUnit::S… in CreateFrameInfo() 51 …frame->SetCalleesOffset(-fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::SL… in CreateFrameInfo() 53 …frame->SetFpCalleesOffset(-fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::… in CreateFrameInfo() 66 GetEncoder()->SetFrameLayout(ark::CFrameLayout(GetGraph()->GetArch(), SPILL_SLOTS)); in GeneratePrologue()
|
| D | codegen_boundary.cpp | 76 … ssize_t offset = fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::SLOTS>( in GeneratePrologue() 77 CFrameLayout::GetStackStartSlot() + fl.GetCallerLastSlot(false)); in GeneratePrologue() 79 offset = fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::SLOTS>( in GeneratePrologue() 80 CFrameLayout::GetStackStartSlot() + fl.GetCallerLastSlot(true)); in GeneratePrologue() 108 …(CFrameLayout::HEADER_SIZE - (target.SupportLinkReg() ? 0 : 1) + GetCalleeRegsCount(target.GetArch… in CreateFrameInfo() 178 ssize_t offset = fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::SLOTS>( in RemoveBoundaryFrame() 179 CFrameLayout::GetStackStartSlot() + fl.GetCallerLastSlot(false)); in RemoveBoundaryFrame() 181 offset = fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::SLOTS>( in RemoveBoundaryFrame() 182 CFrameLayout::GetStackStartSlot() + fl.GetCallerLastSlot(true)); in RemoveBoundaryFrame()
|
| D | codegen_fastpath.cpp | 22 static void SaveCallerRegistersInFrame(RegMask mask, Encoder *encoder, const CFrameLayout &fl, bool… in SaveCallerRegistersInFrame() 34 static void RestoreCallerRegistersFromFrame(RegMask mask, Encoder *encoder, const CFrameLayout &fl,… in RestoreCallerRegistersFromFrame() 184 CFrameLayout fl(GetGraph()->GetArch(), GetGraph()->GetStackSlotsCount()); in CreateFrameInfo() 186 …frame->SetCallersOffset(fl.GetOffset<CFrameLayout::OffsetOrigin::SP, CFrameLayout::OffsetUnit::SLO… in CreateFrameInfo() 188 …frame->SetFpCallersOffset(fl.GetOffset<CFrameLayout::OffsetOrigin::SP, CFrameLayout::OffsetUnit::S… in CreateFrameInfo() 190 …frame->SetCalleesOffset(-fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::SL… in CreateFrameInfo() 192 …frame->SetFpCalleesOffset(-fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::… in CreateFrameInfo()
|
| /arkcompiler/runtime_core/libpandabase/tests/ |
| D | cframe_layout_test.cpp | 25 CFrameLayout cfl1(Arch::AARCH64, 4U); 28 CFrameLayout cfl2(Arch::X86_64, 0U); 31 CFrameLayout cfl3(Arch::AARCH32, 2U); 34 CFrameLayout cfl4(Arch::AARCH32, 1U); 37 CFrameLayout cfl5(Arch::X86, 5U);
|
| /arkcompiler/runtime_core/libpandabase/utils/ |
| D | cframe_layout.h | 64 class CFrameLayout { 66 constexpr CFrameLayout(Arch arch, size_t spills_count) in CFrameLayout() function 70 ~CFrameLayout() = default; 71 DEFAULT_COPY_SEMANTIC(CFrameLayout); 72 DEFAULT_MOVE_SEMANTIC(CFrameLayout); 201 return GetSpillOffset<CFrameLayout::SP, CFrameLayout::BYTES>(spill_slot); in GetSpillOffsetFromSpInBytes() 286 return GetOffset<CFrameLayout::FP, CFrameLayout::BYTES>(GetOsrFpLrSlot()); in GetOsrFpLrOffset() 326 static_assert(CFrameLayout::GetLocalsCount() >= 2U); 327 static_assert(CFrameLayout::GetFpLrSlotsCount() == 2U); 350 using CFrameReturnAddr = CFrameLayout::LrSlot; [all …]
|
| /arkcompiler/runtime_core/static_core/compiler/optimizer/code_generator/ |
| D | codegen_native.cpp | 27 frame->SetFrameSize(fl.GetFrameSize<CFrameLayout::OffsetUnit::BYTES>()); in CreateFrameInfo() 30 …frame->SetCallersOffset(fl.GetOffset<CFrameLayout::OffsetOrigin::SP, CFrameLayout::OffsetUnit::SLO… in CreateFrameInfo() 32 …frame->SetFpCallersOffset(fl.GetOffset<CFrameLayout::OffsetOrigin::SP, CFrameLayout::OffsetUnit::S… in CreateFrameInfo() 34 …frame->SetCalleesOffset(-fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::SL… in CreateFrameInfo() 36 …frame->SetFpCalleesOffset(-fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::… in CreateFrameInfo()
|
| D | spill_fill_encoder.h | 69 CFrameLayout fl_;
|
| D | codegen.cpp | 118 ssize_t slot = CFrameLayout::LOCALS_START_SLOT + CFrameLayout::GetLocalsCount() - 1U; in Generate() 122 … -fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::BYTES>(slot))); in Generate() 150 frameLayout_(CFrameLayout(graph->GetArch(), graph->GetStackSlotsCount())), in Codegen() 214 frame->SetFrameSize(fl.GetFrameSize<CFrameLayout::OffsetUnit::BYTES>()); in CreateFrameInfo() 217 …frame->SetCallersOffset(fl.GetOffset<CFrameLayout::OffsetOrigin::SP, CFrameLayout::OffsetUnit::SLO… in CreateFrameInfo() 219 …frame->SetFpCallersOffset(fl.GetOffset<CFrameLayout::OffsetOrigin::SP, CFrameLayout::OffsetUnit::S… in CreateFrameInfo() 221 …frame->SetCalleesOffset(-fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::SL… in CreateFrameInfo() 223 …frame->SetFpCalleesOffset(-fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::… in CreateFrameInfo() 390 codeBuilder_->BeginMethod(GetFrameLayout().GetFrameSize<CFrameLayout::OffsetUnit::BYTES>(), in BeginMethod() 1822 …Imm(GetFrameLayout().GetOffset<CFrameLayout::OffsetOrigin::SP, CFrameLayout::OffsetUnit::BYTES>(0)… in EmitCallDynamic() [all …]
|
| D | encode.h | 419 void SetFrameLayout(CFrameLayout fl); 421 const CFrameLayout &GetFrameLayout() const; 474 CFrameLayout frameLayout_;
|
| D | codegen.h | 310 const CFrameLayout &GetFrameLayout() const in GetFrameLayout() 452 const CFrameLayout frameLayout_;
|
| D | encode.cpp | 783 void Encoder::SetFrameLayout(CFrameLayout fl) in SetFrameLayout() 788 const CFrameLayout &Encoder::GetFrameLayout() const in GetFrameLayout()
|
| D | encode_visitor.h | 70 static bool CanCombineSpillFills(SpillFillData pred, SpillFillData succ, const CFrameLayout &fl,
|
| /arkcompiler/runtime_core/static_core/libpandabase/utils/ |
| D | cframe_layout.h | 64 class CFrameLayout { 66 constexpr CFrameLayout(Arch arch, size_t spillsCount) in CFrameLayout() function 70 ~CFrameLayout() = default; 71 DEFAULT_COPY_SEMANTIC(CFrameLayout); 72 DEFAULT_MOVE_SEMANTIC(CFrameLayout); 198 … return GetSpillOffset<CFrameLayout::OffsetOrigin::SP, CFrameLayout::OffsetUnit::BYTES>(spillSlot); in GetSpillOffsetFromSpInBytes() 283 …return GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::BYTES>(GetOsrFpLrSlot()… in GetOsrFpLrOffset() 321 static_assert(CFrameLayout::GetLocalsCount() >= 2U); 322 static_assert(CFrameLayout::GetFpLrSlotsCount() == 2U); 345 using CFrameReturnAddr = CFrameLayout::LrSlot; [all …]
|
| /arkcompiler/runtime_core/static_core/compiler/optimizer/code_generator/target/aarch64/ |
| D | callconv.cpp | 134 auto flags {static_cast<uint64_t>(hasFloatRegs) << CFrameLayout::HasFloatRegsFlag::START_BIT}; in InitFlagsReg() 145 void Aarch64CallingConvention::SaveCalleeSavedRegs(const FrameInfo &frameInfo, const CFrameLayout &… in SaveCalleeSavedRegs() 169 static_assert((CFrameLayout::GetLocalsCount() & 1U) == 0); in GeneratePrologue() 171 const CFrameLayout &fl = encoder->GetFrameLayout(); in GeneratePrologue() 175 auto spToRegsSlots = CFrameLayout::GetTopToRegsSlotsCount(); in GeneratePrologue() 179 static_assert(CFrameLayout::GetTopToRegsSlotsCount() > CFrameLayout::GetFpLrSlotsCount()); in GeneratePrologue() 182 spToRegsSlots -= CFrameLayout::GetFpLrSlotsCount(); in GeneratePrologue() 239 const CFrameLayout &fl = encoder->GetFrameLayout(); in GenerateEpilogue() 265 auto spToRegsSlots = CFrameLayout::GetTopToRegsSlotsCount(); in GenerateEpilogue() 268 spToRegsSlots -= CFrameLayout::GetFpLrSlotsCount(); in GenerateEpilogue() [all …]
|
| /arkcompiler/runtime_core/static_core/runtime/asm_defines/ |
| D | asm_defines.def | 58 DEFINE_VALUE(CFRAME_CALLEE_REGS_START_SLOT, CFrameLayout::RegsRegion::Start()) 63 DEFINE_VALUE(CFRAME_KIND_OSR, (helpers::ToUnderlying(CFrameLayout::FrameKind::OSR) << CFrameLayout:… 64 …NE_VALUE(CFRAME_KIND_NATIVE, (helpers::ToUnderlying(CFrameLayout::FrameKind::NATIVE) << CFrameLayo… 65 DEFINE_VALUE(CFRAME_HAS_FLOAT_REGS_FLAG_MASK, (1U << CFrameLayout::HasFloatRegsFlag::START_BIT)) 66 DEFINE_VALUE(CFRAME_HAS_FLOAT_REGS_FLAG_BIT, (CFrameLayout::HasFloatRegsFlag::START_BIT)) 156 …(static_cast<size_t>(CFrameLayout::HEADER_SIZE) + GetCalleeRegsCount(RUNTIME_ARCH, false) + GetCal… 160 DEFINE_VALUE(CALLER_REG0_OFFSET, (CFrameLayout(RUNTIME_ARCH, 0).GetCallerRegsStartSlot() + 161 … GetCallerRegsCount(RUNTIME_ARCH, false) - 1) * CFrameLayout(RUNTIME_ARCH, 0).GetSlotSize()) 162 DEFINE_VALUE(CALLER_VREG0_OFFSET, (CFrameLayout(RUNTIME_ARCH, 0).GetCallerRegsStartSlot() + 163 …(RUNTIME_ARCH, false) + GetCallerRegsCount(RUNTIME_ARCH, true) - 1) * CFrameLayout(RUNTIME_ARCH, 0… [all …]
|
| /arkcompiler/runtime_core/static_core/libllvmbackend/transforms/passes/ark_frame_lowering/ |
| D | frame_builder.cpp | 117 constexpr ark::CFrameLayout FL(ark::Arch::X86_64, 0); in InsertPrologue() 118 constexpr auto SP_ORIGIN = ark::CFrameLayout::OffsetOrigin::SP; in InsertPrologue() 119 constexpr auto BYTES_UNITS = ark::CFrameLayout::OffsetUnit::BYTES; in InsertPrologue() 123 …constexpr ssize_t METHOD_OFFSET = FL.GetOffset<SP_ORIGIN, BYTES_UNITS>(ark::CFrameLayout::MethodSl… in InsertPrologue() 124 …constexpr ssize_t FLAGS_OFFSET = FL.GetOffset<SP_ORIGIN, BYTES_UNITS>(ark::CFrameLayout::FlagsSlot… in InsertPrologue() 163 constexpr ark::CFrameLayout FL(ark::Arch::X86_64, 0); in InsertEpilogue() 165 constexpr auto SP_ORIGIN = ark::CFrameLayout::OffsetOrigin::SP; in InsertEpilogue() 166 constexpr auto BYTES_UNITS = ark::CFrameLayout::OffsetUnit::BYTES; in InsertEpilogue() 211 constexpr ark::CFrameLayout FL(ark::Arch::AARCH64, 0); 214 constexpr auto FP_ORIGIN = ark::CFrameLayout::OffsetOrigin::FP; [all …]
|
| /arkcompiler/runtime_core/static_core/runtime/ |
| D | cframe.cpp | 101 CFrameLayout fl(ARCH, 0); in GetVRegValueRegister() 176 CFrameLayout fl(ARCH, 0); in SetVRegValue() 227 printMem(os, fp_ - CFrameLayout::LrSlot::Start(), "lr", GetLr()); in Dump() 229 …printMem(os, fp_ - CFrameLayout::PrevFrameSlot::Start(), "prev", reinterpret_cast<uintptr_t>(GetPr… in Dump() 231 …printMem(os, fp_ - CFrameLayout::MethodSlot::Start(), "method", reinterpret_cast<uintptr_t>(GetMet… in Dump() 251 printMem(os, fp_ - CFrameLayout::STACK_START_SLOT - *slot, *dscr, GetValueFromSlot(*slot)); in DumpCalleeRegs() 262 printMem(os, fp_ - CFrameLayout::STACK_START_SLOT - *slot, *dscr, GetValueFromSlot(*slot)); in DumpCalleeFPRegs() 274 printMem(os, fp_ - CFrameLayout::STACK_START_SLOT - *slot, *dscr, GetValueFromSlot(*slot)); in DumpCallerRegs() 285 printMem(os, fp_ - CFrameLayout::STACK_START_SLOT - *slot, *dscr, GetValueFromSlot(*slot)); in DumpCallerFPRegs() 295 printMem(os, fp_ - CFrameLayout::STACK_START_SLOT - *slot, *dscr, GetValueFromSlot(*slot)); in DumpLocals()
|
| D | osr.cpp | 142 cframe.SetFrameKind(CFrameLayout::FrameKind::OSR); in PrepareOsrEntry()
|
| /arkcompiler/runtime_core/static_core/compiler/optimizer/code_generator/target/amd64/ |
| D | callconv.cpp | 141 const CFrameLayout &fl = encoder->GetFrameLayout(); in GeneratePrologue() 174 …auto flags {static_cast<uint64_t>(frameInfo.GetHasFloatRegs()) << CFrameLayout::HasFloatRegsFlag::… in GeneratePrologue() 178 static_assert((CFrameLayout::GetLocalsCount() & 1U) == 0); in GeneratePrologue() 197 const CFrameLayout &fl = encoder->GetFrameLayout(); in GenerateEpilogue()
|
| /arkcompiler/runtime_core/static_core/compiler/optimizer/code_generator/target/aarch32/ |
| D | callconv.cpp | 283 const CFrameLayout &fl = encoder->GetFrameLayout(); in GeneratePrologue() 312 …auto flags {static_cast<uint32_t>(frameInfo.GetHasFloatRegs()) << CFrameLayout::HasFloatRegsFlag::… in GeneratePrologue() 325 const CFrameLayout &fl = encoder->GetFrameLayout(); in GenerateEpilogue()
|
| /arkcompiler/runtime_core/static_core/libllvmbackend/object_code/ |
| D | code_info_producer.cpp | 131 slot -= CFrameLayout::CALLEE_REGS_START_SLOT; in GetArkFrameSlot() 141 CFrameLayout fl(arch_, 0); in CollectRoots() 184 CFrameLayout fl(arch_, 0); in BuildSingleRegMap()
|
| /arkcompiler/runtime_core/static_core/compiler/docs/ |
| D | codegen_doc.md | 14 3. CFrameLayout - is responsible for stack-frame layout in runtime(class described in `libpandabase…
|