Home
last modified time | relevance | path

Searched full:frame (Results 1 – 25 of 647) sorted by relevance

12345678910>>...26

/arkcompiler/runtime_core/docs/
Druntime-compiled_code-interaction.md50 … StackFrameKind | A kind of the current stack frame (compiled code or interpreter stack fra…
82 ## Stack frame
83 A stack frame contains data necessary to execute the function the frame belongs to.
84 … code must have the structure described in [Compiled code stack frame](#compiled-code-stack-frame).
86 ### Interpreter stack frame argument
87 …ter stack frame is decribed by `panda::Frame` class. The class has fields to store virtual registe…
88 …a linked list. The field `panda::Frame::prev_` contains a pointer to the previous interpreter (or …
90 ### Compiled code stack frame argument
91 Each compiled function is responsible to reserve stack frame for its purpose and then release it wh…
92 Generaly compiled function builds the stack frame in prolog and releases it in epilog. If a compile…
[all …]
/arkcompiler/runtime_core/static_core/docs/
Druntime-compiled_code-interaction.md56 … StackFrameKind | A kind of the current stack frame (compiled code or interpreter stack fra…
88 ## Stack frame
89 A stack frame contains data necessary to execute the function the frame belongs to.
90 … code must have the structure described in [Compiled code stack frame](#compiled-code-stack-frame).
92 ### Interpreter stack frame argument
93 …eter stack frame is decribed by `ark::Frame` class. The class has fields to store virtual register…
94 …o a linked list. The field `ark::Frame::prev_` contains a pointer to the previous interpreter (or …
96 ### Compiled code stack frame argument
97 Each compiled function is responsible to reserve stack frame for its purpose and then release it wh…
98 Generaly compiled function builds the stack frame in prolog and releases it in epilog. If a compile…
[all …]
Ddeoptimization.md23 1. fill the `Frame`(saves pointer to current CFrame) and `is_compiled_frame_`(saves true) fields in…
32 …e we should start executing code in the interpreter, restores interpreter frame from current CFram…
40 Frame* iframe = frame.ConvertToIFrame(&prev_frame_kind, &num_inlined_methods);
41 Frame* last_iframe = iframe;
52 Frame* StackWalker::ConvertToIFrame(CFrameType& cframe, uint32_t* num_inlined_methods) {
61 Frame* frame = CreateFrameAndSetsVRegs(cframe, prev_frame);
62 frame->SetBytecodeOffset(cframe.GetBytecodePc());
70 * pointer to first restoring interpreter Frame
72 * pointer to last restoring interpreter Frame
84 …C(Interpreter To Compile) bridge, set last IFrame's previous frame to this C2I bridge frame and ca…
[all …]
/arkcompiler/ets_runtime/ecmascript/
Dframes.cpp53 auto frame = GetFrame<OptimizedJSFunctionFrame>(); in GetFunction() local
54 return frame->GetFunction(); in GetFunction()
58 auto frame = GetFrame<AsmInterpretedFrame>(); in GetFunction() local
59 return frame->function; in GetFunction()
63 auto frame = GetFrame<InterpretedFrame>(); in GetFunction() local
64 return frame->function; in GetFunction()
67 auto frame = GetFrame<InterpretedBuiltinFrame>(); in GetFunction() local
68 return frame->function; in GetFunction()
71 auto *frame = BuiltinWithArgvFrame::GetFrameFromSp(GetSp()); in GetFunction() local
72 return frame->GetFunction(); in GetFunction()
[all …]
/arkcompiler/runtime_core/static_core/runtime/entrypoints/
Dentrypoints.h24 class Frame; variable
26 extern "C" Frame *CreateFrameWithSize(uint32_t size, uint32_t nregs, Method *method, Frame *prev);
28 extern "C" Frame *CreateFrameWithActualArgsAndSize(uint32_t size, uint32_t nregs, uint32_t numActua…
29 Method *method, Frame *prev);
31 extern "C" PANDA_PUBLIC_API Frame *CreateNativeFrameWithActualArgsAndSize(uint32_t size, uint32_t n…
33 Frame *prev);
35 extern "C" Frame *CreateFrameForMethod(Method *method, Frame *prev);
37 extern "C" Frame *CreateFrameForMethodDyn(Method *method, Frame *prev);
39 extern "C" Frame *CreateFrameForMethodWithActualArgs(uint32_t numActualArgs, Method *method, Frame
41 extern "C" Frame *CreateFrameForMethodWithActualArgsDyn(uint32_t numActualArgs, Method *method, Fra…
[all …]
/arkcompiler/runtime_core/static_core/runtime/interpreter/
Dstate.h21 #include "runtime/interpreter/frame.h"
32 ALWAYS_INLINE inline explicit StateIface(Frame *frame) : acc_(frame->GetAcc()) {} in StateIface() argument
44 ALWAYS_INLINE inline Frame *GetFrame() const in GetFrame()
49 ALWAYS_INLINE inline void SetFrame(Frame *frame) in SetFrame() argument
51 static_cast<T *>(this)->SetFrame(frame); in SetFrame()
92 …ALWAYS_INLINE inline State(ManagedThread *thread, const uint8_t *pc, Frame *frame, const void *con… in State() argument
93 : StateIface(frame) in State()
96 SetFrame(frame); in State()
101 ALWAYS_INLINE inline void UpdateState(const uint8_t *pc, Frame *frame) in UpdateState() argument
104 SetFrame(frame); in UpdateState()
[all …]
Dframe.h31 // ========== Compatible Frame Layout ==========
33 // Frame layout - Static Languages
35 // | ark::Frame |
50 // Frame layout - Dynamic Languages
52 // | ark::Frame |
72 class Frame {
74 // Instrumentation: indicate what the frame must be force poped
76 // Instrumentation: indicate what the frame must retry last instruction
78 // Instrumentation: indicate what the frame must notify when poped
80 // Indicate that the frame was created after deoptimization.
[all …]
Dinterpreter_impl.cpp37 …teImplType(InterpreterType interpreterType, ManagedThread *thread, const uint8_t *pc, Frame *frame, in ExecuteImplType() argument
45 ExecuteImplFastEH_LLVM(thread, const_cast<uint8_t *>(pc), frame, dispathTable); in ExecuteImplType()
47 ExecuteImplFast_LLVM(thread, const_cast<uint8_t *>(pc), frame, dispathTable); in ExecuteImplType()
57 ExecuteImplFastEH(thread, const_cast<uint8_t *>(pc), frame, dispathTable); in ExecuteImplType()
59 ExecuteImplFast(thread, const_cast<uint8_t *>(pc), frame, dispathTable); in ExecuteImplType()
65 if (frame->IsDynamic()) { in ExecuteImplType()
67 ExecuteImplInner<RuntimeInterface, true, true>(thread, pc, frame, jumpToEh); in ExecuteImplType()
69 ExecuteImplInner<RuntimeInterface, true, false>(thread, pc, frame, jumpToEh); in ExecuteImplType()
72 ExecuteImplInner<RuntimeInterface, false>(thread, pc, frame, jumpToEh); in ExecuteImplType()
77 void ExecuteImpl(ManagedThread *thread, const uint8_t *pc, Frame *frame, bool jumpToEh) in ExecuteImpl() argument
[all …]
Dinstruction_handler_state.h27 ALWAYS_INLINE InstructionHandlerState(ManagedThread *thread, const uint8_t *pc, Frame *frame, in InstructionHandlerState() argument
29 : state_(thread, pc, frame, dispatchTable) in InstructionHandlerState()
33 ALWAYS_INLINE void UpdateInstructionHandlerState(const uint8_t *pc, Frame *frame) in UpdateInstructionHandlerState() argument
35 state_.UpdateState(pc, frame); in UpdateInstructionHandlerState()
53 ALWAYS_INLINE Frame *GetFrame() const in GetFrame()
58 ALWAYS_INLINE void SetFrame(Frame *frame) in SetFrame() argument
60 state_.SetFrame(frame); in SetFrame()
/arkcompiler/ets_runtime/ecmascript/interpreter/
Dframe_handler.cpp61 auto frame = it.GetFrame<AsmInterpretedFrame>(); in PrevJSFrame() local
63 fp_ = frame->GetCurrentFramePointer(); in PrevJSFrame()
80 auto *frame = AsmInterpretedFrame::GetFrameFromSp(sp_); in GetNumberArgs() local
81 return static_cast<uint32_t>(frame->GetCurrentFramePointer() - sp_); in GetNumberArgs()
87 auto *frame = it.GetFrame<AsmInterpretedFrame>(); in GetNumberArgs() local
88 prevSp = frame->GetPrevFrameFp(); in GetNumberArgs()
90 auto *frame = it.GetFrame<InterpretedFrame>(); in GetNumberArgs() local
91 prevSp = frame->GetPrevFrameFp(); in GetNumberArgs()
114 auto *frame = it.GetFrame<BaselineBuiltinFrame>(); in FindAndSetBaselineNativePc() local
115 baselineNativePc_ = frame->GetReturnAddr(); in FindAndSetBaselineNativePc()
[all …]
/arkcompiler/ets_runtime/ecmascript/dfx/stackinfo/tests/
Djs_stackinfo_test.cpp60 uintptr_t ToUintPtr(T frame) in ToUintPtr() argument
62 return static_cast<uintptr_t>(frame); in ToUintPtr()
457 uintptr_t frame[10][3]; in HWTEST_F_L0() local
460 frame[i][0] = 0; in HWTEST_F_L0()
461 frame[i][1] = 0; in HWTEST_F_L0()
463 fp[0] = reinterpret_cast<uintptr_t>(&frame[0][2]) + 8; in HWTEST_F_L0()
468 frame[0][2] = static_cast<uintptr_t>(FrameType::INTERPRETER_CONSTRUCTOR_FRAME); in HWTEST_F_L0()
470 frame[1][2] = static_cast<uintptr_t>(FrameType::INTERPRETER_FAST_NEW_FRAME); in HWTEST_F_L0()
473 frame[2][2] = static_cast<uintptr_t>(FrameType::OPTIMIZED_JS_FUNCTION_ARGS_CONFIG_FRAME); in HWTEST_F_L0()
476 frame[3][2] = static_cast<uintptr_t>(FrameType::ASM_INTERPRETER_ENTRY_FRAME); in HWTEST_F_L0()
[all …]
Djs_stackinfo_test2.cpp20 void mem_zero_s(unwind_stack_frame_s &frame) in mem_zero_s() argument
22 frame.fp = 0; in mem_zero_s()
23 frame.pc = 0; in mem_zero_s()
84 unwind_stack_frame_s *frame, bool *ret_frame_avail) in next_ark_frame() argument
109 frame->fp = fp; in next_ark_frame()
110 frame->pc = pc; in next_ark_frame()
117 unwind_stack_frame_s *frame, unsigned int *ret_frame_type) in next_ark_frame() argument
133 err = next_ark_frame(ctx, fp_addr, (unsigned int)frame_type, frame, &frame_avail); in next_ark_frame()
136 fp_addr = frame->fp; in next_ark_frame()
151 unwind_stack_frame_s frame = UNWIND_FRAME_EMPTY; in step_ark_frame() local
[all …]
/arkcompiler/runtime_core/static_core/runtime/bridge/
Dbridge.cpp62 …upposed to be called from the deoptimization code. It aims to call interpreter for given frame from
63 * specific pc. Note, that it releases input interpreter's frame at the exit.
65 extern "C" int64_t InvokeInterpreter(ManagedThread *thread, const uint8_t *pc, Frame *frame, Frame in InvokeInterpreter() argument
68 thread->SetCurrentFrame(frame); in InvokeInterpreter()
70 LOG(DEBUG, INTEROP) << "InvokeInterpreter for method: " << frame->GetMethod()->GetFullName(); in InvokeInterpreter()
72 interpreter::Execute(thread, pc, frame, thread->HasPendingException()); in InvokeInterpreter()
75 auto acc = frame->GetAcc(); in InvokeInterpreter()
76 if (frame->IsDynamic()) { in InvokeInterpreter()
82 auto prevFrame = frame->GetPrevFrame(); in InvokeInterpreter()
84 FreeFrame(frame); in InvokeInterpreter()
[all …]
Dbridge.h25 class Frame; variable
28 extern "C" void InterpreterToCompiledCodeBridge(const uint8_t *, const Frame *, const Method *, Man…
29 extern "C" void InterpreterToCompiledCodeBridgeDyn(const uint8_t *, const Frame *, const Method *, …
30 extern "C" uint64_t InvokeCompiledCodeWithArgArray(const int64_t *, const Frame *, const Method *, …
31 extern "C" uint64_t InvokeCompiledCodeWithArgArrayDyn(const uint64_t *, uint32_t, const Frame *, co…
34 extern "C" int64_t InvokeInterpreter(ManagedThread *thread, const uint8_t *pc, Frame *frame, Frame
/arkcompiler/runtime_core/static_core/runtime/tests/
Di2c_bridge_test.cpp31 #include "runtime/interpreter/frame.h"
137 static Frame *CreateFrame(size_t nregs, Method *method, Frame *prev) in CreateFrame()
139 return ark::CreateFrameWithSize(Frame::GetActualSize<IS_DYNAMIC>(nregs), nregs, method, prev); in CreateFrame()
147 Frame *frame = CreateFrame(0, nullptr, nullptr); in TEST_F() local
151 InterpreterToCompiledCodeBridge(insn, frame, &callee, thread_); in TEST_F()
156 InterpreterToCompiledCodeBridge(insn2, frame, &callee, thread_); in TEST_F()
160 InvokeCompiledCodeWithArgArray(nullptr, frame, &callee, thread_); in TEST_F()
163 FreeFrame(frame); in TEST_F()
176 Frame *frame = CreateFrame(1, nullptr, nullptr); in TEST_F() local
177 auto frameHandler = StaticFrameHandler(frame); in TEST_F()
[all …]
Ddebugger_test.cpp68 static Frame *CreateFrame(size_t nregs, Method *method, Frame *prev) in CreateFrame()
71 … void *mem = aligned_alloc(8, Frame::GetAllocSize(Frame::GetActualSize<IS_DYNAMIC>(nregs), extSz)); in CreateFrame()
72 return new (Frame::FromExt(mem, extSz)) Frame(mem, method, prev, nregs); in CreateFrame()
75 static void FreeFrame(Frame *frame) in FreeFrame() argument
78 std::free(frame->GetExt()); in FreeFrame()
86 static void SetVRegs(Frame *frame, std::vector<VRegValue> &regs) in SetVRegs() argument
88 auto frameHandler = StaticFrameHandler(frame); in SetVRegs()
106 static void CheckFrame(Frame *frame, std::vector<VRegValue> &regs, const MethodInfo &methodInfo) in CheckFrame() argument
108 SetVRegs(frame, regs); in CheckFrame()
116 frame->GetAccAsVReg().SetPrimitive(static_cast<int64_t>(acc.value)); in CheckFrame()
[all …]
/arkcompiler/runtime_core/static_core/runtime/
Dosr.cpp41 void WriteOsrEventError(Frame *frame, FrameKind kind, uintptr_t loopHeadBc) in WriteOsrEventError() argument
57 …EVENT_OSR_ENTRY(std::string(frame->GetMethod()->GetFullName()), loopHeadBc, osrKind, events::OsrEn… in WriteOsrEventError()
61 static size_t GetStackParamsSize(const Frame *frame);
66 Frame *frame = stack.GetIFrame(); in OsrEntry() local
72 WriteOsrEventError(frame, stack.GetPreviousFrameKind(), loopHeadBc); in OsrEntry()
79 LOG(DEBUG, INTEROP) << "OSR: after interpreter frame"; in OsrEntry()
80 EVENT_OSR_ENTRY(std::string(frame->GetMethod()->GetFullName()), loopHeadBc, in OsrEntry()
82 …OsrEntryAfterIFrame(frame, loopHeadBc, osrCode, codeInfo.GetFrameSize(), GetStackParamsSize(frame)… in OsrEntry()
85 … if (frame->IsDynamic() && frame->GetNumActualArgs() < frame->GetMethod()->GetNumArgs()) { in OsrEntry()
86 frame->DisableOsr(); in OsrEntry()
[all …]
Dosr.h20 #include "runtime/interpreter/frame.h"
26 extern "C" void *PrepareOsrEntry(const Frame *iframe, uintptr_t bcOffset, const void *osrCode, void…
31 extern "C" void OsrEntryAfterCFrame(Frame *frame, uintptr_t loopHeadBc, const void *osrCode, size_t…
32 extern "C" void OsrEntryAfterIFrame(Frame *frame, uintptr_t loopHeadBc, const void *osrCode, size_t…
34 extern "C" void OsrEntryTopFrame(Frame *frame, uintptr_t loopHeadBc, const void *osrCode, size_t fr…
37 extern "C" void SetOsrResult(Frame *frame, uint64_t uval, double fval);
/arkcompiler/runtime_core/static_core/runtime/include/
Dmethod-inl.h40 inline void FrameDeleter::operator()(Frame *frame) const in operator()
42 interpreter::RuntimeInterface::FreeFrame(thread_, frame); in operator()
55 …ALWAYS_INLINE inline static void InitActualArgs(Frame *frame, Span<Value> argsSpan, uint32_t numVr… in InitActualArgs() argument
58 StaticFrameHandler staticFrameHelper(frame); in InitActualArgs()
69 …NLINE inline static void InterpreterExecute(ManagedThread *thread, const uint8_t *pc, Frame *frame) in InterpreterExecute() argument
71 interpreter::Execute(thread, pc, frame); in InterpreterExecute()
74 …ALWAYS_INLINE static Frame *CreateFrame([[maybe_unused]] ManagedThread *thread, uint32_t nregsSize… in CreateFrame()
75 Frame *prev, uint32_t nregs, uint32_t numActualArgs) in CreateFrame()
92 …ALWAYS_INLINE inline static void InitActualArgs(Frame *frame, Span<coretypes::TaggedValue> argsSpa… in InitActualArgs() argument
95 frame->SetDynamic(); in InitActualArgs()
[all …]
/arkcompiler/runtime_core/static_core/compiler/optimizer/code_generator/
Dcodegen_native.cpp24 auto frame = GetGraph()->GetLocalAllocator()->New<FrameInfo>( in CreateFrameInfo() local
27 ASSERT(frame != nullptr); in CreateFrameInfo()
28 frame->SetFrameSize(fl.GetFrameSize<CFrameLayout::OffsetUnit::BYTES>()); in CreateFrameInfo()
29 frame->SetSpillsCount(fl.GetSpillsCount()); in CreateFrameInfo()
31frame->SetCallersOffset(fl.GetOffset<CFrameLayout::OffsetOrigin::SP, CFrameLayout::OffsetUnit::SLO… in CreateFrameInfo()
33frame->SetFpCallersOffset(fl.GetOffset<CFrameLayout::OffsetOrigin::SP, CFrameLayout::OffsetUnit::S… in CreateFrameInfo()
35frame->SetCalleesOffset(-fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::SL… in CreateFrameInfo()
37frame->SetFpCalleesOffset(-fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::… in CreateFrameInfo()
41 // we don't need to setup frame in native mode in CreateFrameInfo()
42 frame->SetSetupFrame(false); in CreateFrameInfo()
[all …]
/arkcompiler/runtime_core/compiler/tests/x86/
Dasmjit_test.cpp68 FuncFrame frame; in TEST_F() local
69 frame.init(func); in TEST_F()
70 frame.addDirtyRegs(lhs, rhs); in TEST_F()
74 args.updateFuncFrame(frame); in TEST_F()
75 frame.finalize(); in TEST_F()
77 a.emitProlog(frame); in TEST_F()
78 a.emitArgsAssignment(frame, args); in TEST_F()
80 a.emitEpilog(frame); in TEST_F()
110 FuncFrame frame; in TEST_F() local
111 frame.init(func); in TEST_F()
[all …]
/arkcompiler/runtime_core/static_core/compiler/tests/x86/
Dasmjit_test.cpp67 FuncFrame frame; in TEST_F() local
68 frame.init(func); in TEST_F()
69 frame.addDirtyRegs(lhs, rhs); in TEST_F()
73 args.updateFuncFrame(frame); in TEST_F()
74 frame.finalize(); in TEST_F()
76 a.emitProlog(frame); in TEST_F()
77 a.emitArgsAssignment(frame, args); in TEST_F()
79 a.emitEpilog(frame); in TEST_F()
109 FuncFrame frame; in TEST_F() local
110 frame.init(func); in TEST_F()
[all …]
/arkcompiler/runtime_core/static_core/irtoc/backend/compiler/
Dcodegen_interpreter.h41 auto frame = GetGraph()->GetLocalAllocator()->New<FrameInfo>( in CreateFrameInfo() local
44 ASSERT(frame != nullptr); in CreateFrameInfo()
45 frame->SetFrameSize(fl.GetFrameSize<CFrameLayout::OffsetUnit::BYTES>()); in CreateFrameInfo()
46 frame->SetSpillsCount(fl.GetSpillsCount()); in CreateFrameInfo()
48frame->SetCallersOffset(fl.GetOffset<CFrameLayout::OffsetOrigin::SP, CFrameLayout::OffsetUnit::SLO… in CreateFrameInfo()
50frame->SetFpCallersOffset(fl.GetOffset<CFrameLayout::OffsetOrigin::SP, CFrameLayout::OffsetUnit::S… in CreateFrameInfo()
52frame->SetCalleesOffset(-fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::SL… in CreateFrameInfo()
54frame->SetFpCalleesOffset(-fl.GetOffset<CFrameLayout::OffsetOrigin::FP, CFrameLayout::OffsetUnit::… in CreateFrameInfo()
57 frame->SetSetupFrame(true); in CreateFrameInfo()
58 frame->SetSaveFrameAndLinkRegs(true); in CreateFrameInfo()
[all …]
/arkcompiler/runtime_core/static_core/runtime/bridge/arch/amd64/
Dcompiled_code_to_interpreter_bridge_dyn_amd64.S19 // Frame* CreateFrameForMethodWithActualArgsDyn(uint32_t num_actual_args, Method* method, Frame* pr…
21 // void InterpreterEntryPoint(Method* pc, Frame* frame, bool is_dynamic);
23 // void FreeFrame(Frame* frame);
46 // construct the frame
50 movq %rsp, %rbp // set frame pointer
70 // Before we call DecrementHotnessCounterDyn we should set pointer to C2I frame in the TLS,
83 // Compilation successfully done, so recover caller's frame in the TLS, since C2I is not needed.
104 // Create an interpreter frame
108 …// Frame* CreateFrameForMethodWithActualArgsDyn(uint32_t num_actual_args, Method* method, Frame* p…
180 // void InterpreterEntryPoint(Method *method, Frame* frame);
[all …]
/arkcompiler/runtime_core/static_core/runtime/bridge/arch/arm/
Dcompiled_code_to_interpreter_bridge_dyn_arm.S19 // Frame* CreateFrameForMethodDyn(Method* method, Frame* prev);
21 // void FreeFrame(Frame* frame)
23 // void InterpreterEntryPoint(const uint8_t* pc, Frame* frame);

12345678910>>...26