Lines Matching +full:over +full:- +full:current

1 //===-- ThreadPlanStepInstruction.cpp -------------------------------------===//
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
21 // ThreadPlanStepInstruction: Step over the current instruction
29 "Step over single instruction", thread, report_stop_vote, in ThreadPlanStepInstruction()
41 m_instruction_addr = thread.GetRegisterContext()->GetPC(0); in SetUpState()
43 m_stack_id = start_frame_sp->GetStackID(); in SetUpState()
46 start_frame_sp->GetSymbolContext(eSymbolContextSymbol).symbol != nullptr; in SetUpState()
50 m_parent_frame_id = parent_frame_sp->GetStackID(); in SetUpState()
58 s->Printf(" failed (%s)", m_status.AsCString()); in GetDescription()
63 s->Printf("instruction step over"); in GetDescription()
65 s->Printf("instruction step into"); in GetDescription()
69 s->Printf("Stepping one instruction past "); in GetDescription()
70 DumpAddress(s->AsRawOstream(), m_instruction_addr, sizeof(addr_t)); in GetDescription()
72 s->Printf(" which has no symbol"); in GetDescription()
75 s->Printf(" stepping over calls"); in GetDescription()
77 s->Printf(" stepping into calls"); in GetDescription()
84 // Since we read the instruction we're stepping over from the thread, this in ValidatePlan()
92 StopReason reason = stop_info_sp->GetStopReason(); in DoPlanExplainsStop()
101 StackID cur_frame_id = thread.GetStackFrameAtIndex(0)->GetStackID(); in IsPlanStale()
104 uint64_t pc = thread.GetRegisterContext()->GetPC(0); in IsPlanStale()
112 return (thread.GetRegisterContext()->GetPC(0) != m_instruction_addr); in IsPlanStale()
114 // If the current frame is younger than the start frame and we are stepping in IsPlanStale()
115 // over, then we need to continue, but if we are doing just one step, we're in IsPlanStale()
121 "ThreadPlanStepInstruction::IsPlanStale - Current frame is " in IsPlanStale()
141 StackID cur_frame_zero_id = cur_frame_sp->GetStackID(); in ShouldStop()
144 if (thread.GetRegisterContext()->GetPC(0) != m_instruction_addr) { in ShouldStop()
145 if (--m_iteration_count <= 0) { in ShouldStop()
150 // stepped out, reset the current stack id. in ShouldStop()
160 if (return_frame->GetStackID() != m_parent_frame_id || in ShouldStop()
162 // next-instruction shouldn't step out of inlined functions. But we in ShouldStop()
166 if (cur_frame_sp->IsInlined()) { in ShouldStop()
171 parent_frame_sp->GetConcreteFrameIndex() == in ShouldStop()
172 cur_frame_sp->GetConcreteFrameIndex()) { in ShouldStop()
187 thread.GetStackFrameAtIndex(0)->GetRegisterContext()->GetPC(); in ShouldStop()
191 addr_t return_addr = return_frame->GetRegisterContext()->GetPC(); in ShouldStop()
197 // StepInstruction should probably have the tri-state RunMode, but in ShouldStop()
206 log->PutCString( in ShouldStop()
221 lldb::addr_t pc_addr = thread.GetRegisterContext()->GetPC(0); in ShouldStop()
223 if (--m_iteration_count <= 0) { in ShouldStop()
228 // in or out, reset the current stack id. in ShouldStop()