Lines Matching full:frame
40 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> args_span, uint32_t num_… in InitActualArgs() argument
58 StaticFrameHandler static_frame_helper(frame); in InitActualArgs()
73 …NLINE inline static void InterpreterExecute(ManagedThread *thread, const uint8_t *pc, Frame *frame) in InterpreterExecute() argument
75 interpreter::Execute(thread, pc, frame); in InterpreterExecute()
78 …ALWAYS_INLINE static Frame *CreateFrame([[maybe_unused]] ManagedThread *thread, uint32_t nregs_siz… in CreateFrame()
79 Frame *prev, uint32_t nregs, uint32_t num_actual_args) in CreateFrame()
96 …ALWAYS_INLINE inline static void InitActualArgs(Frame *frame, Span<coretypes::TaggedValue> args_sp… in InitActualArgs() argument
99 frame->SetDynamic(); in InitActualArgs()
101 DynamicFrameHandler dynamic_frame_helper(frame); in InitActualArgs()
112 …NLINE inline static void InterpreterExecute(ManagedThread *thread, const uint8_t *pc, Frame *frame) in InterpreterExecute() argument
114 interpreter::Execute(thread, pc, frame); in InterpreterExecute()
121 Frame *current_frame = thread->GetCurrentFrame(); in CompiledCodeExecute()
135 …ALWAYS_INLINE static Frame *CreateFrame([[maybe_unused]] ManagedThread *thread, uint32_t nregs_siz… in CreateFrame()
136 Frame *prev, uint32_t nregs, uint32_t num_actual_args) in CreateFrame()
176 Frame *current_frame = thread->GetCurrentFrame(); in InvokeCompiledCode()
180 // Use frame allocator to alloc memory for parameters as thread can be terminated and in InvokeCompiledCode()
226 Frame *current_frame = thread->GetCurrentFrame(); in InvokeInterpretedCode()
227 …PandaUniquePtr<Frame, FrameDeleter> frame = InitFrame<InvokeHelper>(thread, num_actual_args, args,… in InvokeInterpretedCode() local
228 if (UNLIKELY(frame.get() == nullptr)) { in InvokeInterpretedCode()
236 thread->SetCurrentFrame(frame.get()); in InvokeInterpretedCode()
238 … // Create C2I bridge frame in case of previous frame is a native frame or other compiler frame. in InvokeInterpretedCode()
239 // But create only if the previous frame is not a C2I bridge already. in InvokeInterpretedCode()
246 frame->SetPrevFrame(reinterpret_cast<Frame *>(&bridge.v_[1])); in InvokeInterpretedCode()
252 // allocating full size boundary frame. in InvokeInterpretedCode()
254 …// boundary frame with pseudo LR value, that doesn't point to the instruction after call, there… in InvokeInterpretedCode()
257 frame->DisableOsr(); in InvokeInterpretedCode()
259 // interpreter::Execute(thread, GetInstructions(), frame.get()); in InvokeInterpretedCode()
260 InvokeHelper::InterpreterExecute(thread, GetInstructions(), frame.get()); in InvokeInterpretedCode()
265 InvokeHelper::InterpreterExecute(thread, GetInstructions(), frame.get()); in InvokeInterpretedCode()
266 // interpreter::Execute(thread, GetInstructions(), frame.get()); in InvokeInterpretedCode()
273 : GetReturnValueFromAcc<InvokeHelper, ValueT>(frame->GetAcc()); in InvokeInterpretedCode()
313 Frame *current_frame = thread->GetCurrentFrame(); in InvokeContext()
314 PandaUniquePtr<Frame, FrameDeleter> frame( in InvokeContext()
318 if (UNLIKELY(frame.get() == nullptr)) { in InvokeContext()
323 frame->SetDynamic(); in InvokeContext()
325 DynamicFrameHandler dynamic_frame_helper(frame.get()); in InvokeContext()
334 thread->SetCurrentFrame(frame.get()); in InvokeContext()
337 InvokeHelper::InterpreterExecute(thread, pc, frame.get()); in InvokeContext()
348 Frame *Method::EnterNativeMethodFrame(ManagedThread *thread, uint32_t num_vregs, uint32_t num_args,… in EnterNativeMethodFrame()
350 Frame *current_frame = thread->GetCurrentFrame(); in EnterNativeMethodFrame()
351 PandaUniquePtr<Frame, FrameDeleter> frame = in EnterNativeMethodFrame() local
353 if (UNLIKELY(frame.get() == nullptr)) { in EnterNativeMethodFrame()
358 LOG(DEBUG, INTERPRETER) << "Enter native frame"; in EnterNativeMethodFrame()
360 thread->SetCurrentFrame(frame.get()); in EnterNativeMethodFrame()
361 return frame.release(); in EnterNativeMethodFrame()
366 Frame *current_frame = thread->GetCurrentFrame(); in ExitNativeMethodFrame()
369 LOG(DEBUG, INTERPRETER) << "Exit native frame"; in ExitNativeMethodFrame()
376 PandaUniquePtr<Frame, FrameDeleter> Method::InitFrame(ManagedThread *thread, uint32_t num_actual_ar… in InitFrame()
377 Frame *current_frame) in InitFrame()
385 PandaUniquePtr<Frame, FrameDeleter> Method::InitFrameWithNumVRegs(ManagedThread *thread, uint32_t n… in InitFrameWithNumVRegs()
387 Frame *current_frame) in InitFrameWithNumVRegs()
394 Frame *frame_ptr; in InitFrameWithNumVRegs()
400 …frame_ptr = InvokeHelper::CreateFrame(thread, Frame::GetActualSize<InvokeHelper::is_dynamic>(frame… in InitFrameWithNumVRegs()
403 PandaUniquePtr<Frame, FrameDeleter> frame(frame_ptr, FrameDeleter(thread)); in InitFrameWithNumVRegs()
404 if (UNLIKELY(frame.get() == nullptr)) { in InitFrameWithNumVRegs()
405 return frame; in InitFrameWithNumVRegs()
408 InvokeHelper::InitActualArgs(frame.get(), args_span, num_vregs, num_declared_args); in InitFrameWithNumVRegs()
410 frame->SetInvoke(); in InitFrameWithNumVRegs()
411 return frame; in InitFrameWithNumVRegs()
420 // we support same frame layout for interpreter and compiled methods. in InvokeImpl()
451 …* @param acc Pointer to the accumulator, it is needed because interpreter uses own Frame, not the …