Home
last modified time | relevance | path

Searched refs:CFrameLayout (Results 1 – 25 of 36) sorted by relevance

12

/arkcompiler/runtime_core/static_core/runtime/include/
Dcframe.h96 … 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()
120CFrameLayout::ShouldDeoptimizeFlag::Set(v, GetPtr<SlotType>(CFrameLayout::FlagsSlot::Start())); in SetShouldDeoptimize()
125CFrameLayout::HasFloatRegsFlag::Set(has, GetPtr<SlotType>(CFrameLayout::FlagsSlot::Start())); in SetHasFloatRegs()
130 return *GetPtr<SlotType *>(CFrameLayout::PrevFrameSlot::Start()); in GetPrevFrame()
[all …]
Dcframe_iterators.h40 CFrameLayout cframeLayout(ARCH, 0); in MakeRange()
395 CFrameLayout cframeLayout(ARCH, 0); in MakeRange()
Dstack_walker.h315 …return *reinterpret_cast<Method **>(reinterpret_cast<SlotType *>(ptr) - CFrameLayout::MethodSlot::… in GetMethodFromCBoundary()
/arkcompiler/runtime_core/static_core/irtoc/backend/compiler/
Dcodegen_interpreter.h44 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()
Dcodegen_boundary.cpp76 … 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()
Dcodegen_fastpath.cpp22 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/
Dcframe_layout_test.cpp25 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/
Dcframe_layout.h64 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/
Dcodegen_native.cpp27 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()
Dspill_fill_encoder.h69 CFrameLayout fl_;
Dcodegen.cpp118 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 …]
Dencode.h419 void SetFrameLayout(CFrameLayout fl);
421 const CFrameLayout &GetFrameLayout() const;
474 CFrameLayout frameLayout_;
Dcodegen.h310 const CFrameLayout &GetFrameLayout() const in GetFrameLayout()
452 const CFrameLayout frameLayout_;
Dencode.cpp783 void Encoder::SetFrameLayout(CFrameLayout fl) in SetFrameLayout()
788 const CFrameLayout &Encoder::GetFrameLayout() const in GetFrameLayout()
Dencode_visitor.h70 static bool CanCombineSpillFills(SpillFillData pred, SpillFillData succ, const CFrameLayout &fl,
/arkcompiler/runtime_core/static_core/libpandabase/utils/
Dcframe_layout.h64 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/
Dcallconv.cpp134 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/
Dasm_defines.def58 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/
Dframe_builder.cpp117 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/
Dcframe.cpp101 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()
Dosr.cpp142 cframe.SetFrameKind(CFrameLayout::FrameKind::OSR); in PrepareOsrEntry()
/arkcompiler/runtime_core/static_core/compiler/optimizer/code_generator/target/amd64/
Dcallconv.cpp141 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/
Dcallconv.cpp283 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/
Dcode_info_producer.cpp131 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/
Dcodegen_doc.md14 3. CFrameLayout - is responsible for stack-frame layout in runtime(class described in `libpandabase…

12