Lines Matching full:frame
22 #include "interpreter/frame.h"
35 #include "runtime/interpreter/frame.h"
155 static panda::Frame *GetPandaFrame(StackWalker *pstack, uint32_t frameDepth, bool *outIsNative = nu… in GetPandaFrame()
166 panda::Frame *frame = nullptr; in GetPandaFrame() local
171 frame = stack.GetIFrame(); in GetPandaFrame()
179 return frame; in GetPandaFrame()
182 static panda::Frame *GetPandaFrame(ManagedThread *thread, uint32_t frameDepth = 0, bool *outIsNativ… in GetPandaFrame()
188 static interpreter::StaticVRegisterRef GetThisAddrVRegByPandaFrame(panda::Frame *frame) in GetThisAddrVRegByPandaFrame() argument
190 ASSERT(!frame->IsDynamic()); in GetThisAddrVRegByPandaFrame()
191 ASSERT(frame->GetMethod()->GetNumArgs() > 0); in GetThisAddrVRegByPandaFrame()
192 uint32_t thisRegNum = frame->GetSize() - frame->GetMethod()->GetNumArgs(); in GetThisAddrVRegByPandaFrame()
193 return StaticFrameHandler(frame).GetVReg(thisRegNum); in GetThisAddrVRegByPandaFrame()
196 static interpreter::DynamicVRegisterRef GetThisAddrVRegByPandaFrameDyn(panda::Frame *frame) in GetThisAddrVRegByPandaFrameDyn() argument
198 ASSERT(frame->IsDynamic()); in GetThisAddrVRegByPandaFrameDyn()
199 ASSERT(frame->GetMethod()->GetNumArgs() > 0); in GetThisAddrVRegByPandaFrameDyn()
200 uint32_t thisRegNum = frame->GetSize() - frame->GetMethod()->GetNumArgs(); in GetThisAddrVRegByPandaFrameDyn()
201 return DynamicFrameHandler(frame).GetVReg(thisRegNum); in GetThisAddrVRegByPandaFrameDyn()
205 Expected<panda::Frame *, Error> GetPandaFrameByPtThread(PtThread thread, uint32_t frameDepth, in GetPandaFrameByPtThread()
221 panda::Frame *frame = GetPandaFrame(&stack, frameDepth, nullptr); in GetPandaFrameByPtThread() local
222 if (frame == nullptr) { in GetPandaFrameByPtThread()
228 … std::string("Frame not found or native, threadId=" + std::to_string(thread.GetId()) + in GetPandaFrameByPtThread()
231 return frame; in GetPandaFrameByPtThread()
234 Expected<interpreter::StaticVRegisterRef, Error> Debugger::GetVRegByPandaFrame(panda::Frame *frame, in GetVRegByPandaFrame() argument
238 return frame->GetAccAsVReg(); in GetVRegByPandaFrame()
241 if (regNumber >= 0 && uint32_t(regNumber) < frame->GetSize()) { in GetVRegByPandaFrame()
242 return StaticFrameHandler(frame).GetVReg(uint32_t(regNumber)); in GetVRegByPandaFrame()
249 …cted<interpreter::DynamicVRegisterRef, Error> Debugger::GetVRegByPandaFrameDyn(panda::Frame *frame, in GetVRegByPandaFrameDyn() argument
253 return frame->template GetAccAsVReg<true>(); in GetVRegByPandaFrameDyn()
256 if (regNumber >= 0 && uint32_t(regNumber) < frame->GetSize()) { in GetVRegByPandaFrameDyn()
257 return DynamicFrameHandler(frame).GetVReg(uint32_t(regNumber)); in GetVRegByPandaFrameDyn()
295 // The value was set by native frame handler in GetThisVariableByFrame()
301 Frame *frame = ret.Value(); in GetThisVariableByFrame() local
302 if (frame->GetMethod()->IsStatic()) { in GetThisVariableByFrame()
307 if (frame->IsDynamic()) { in GetThisVariableByFrame()
308 auto reg = GetThisAddrVRegByPandaFrameDyn(frame); in GetThisVariableByFrame()
326 Frame *frame = ret.Value(); in GetVariable() local
327 if (frame->IsDynamic()) { in GetVariable()
328 auto reg = GetVRegByPandaFrameDyn(frame, regNumber); in GetVariable()
386 Frame *interpreter_frame = nullptr; in GetCurrentFrame()
402 Frame *frame = stack.IsCFrame() ? nullptr : stack.GetIFrame(); in EnumerateFrames() local
403 PtDebugFrame debug_frame(method, frame); in EnumerateFrames()
461 panda::Frame *popFrame = nullptr; in RestartFrame()
462 panda::Frame *retryFrame = nullptr; in RestartFrame()
468 … ", frame at depth is executing a native method"); in RestartFrame()
482 " doesn't have managed frame with number " + in RestartFrame()
488 … " does not have more than one frame on the call stack"); in RestartFrame()
494 panda::Frame *frame = stack.GetIFrame(); in RestartFrame() local
495 frame->SetForcePop(); in RestartFrame()
496 if (frame == popFrame) { in RestartFrame()
519 panda::Frame *popFrame = GetPandaFrame(managed_thread, depth, &isNative); in NotifyFramePop()
523 … ", frame at depth is executing a native method"); in NotifyFramePop()
667 panda::Frame *frame = GetPandaFrame(managedThread); in HandleNotifyFramePop() local
668 if (frame != nullptr && frame->IsNotifyPop()) { in HandleNotifyFramePop()
670 frame->ClearNotifyPop(); in HandleNotifyFramePop()
912 PtDebugFrame::PtDebugFrame(Method *method, Frame *interpreterFrame) : method_(method) in PtDebugFrame()