diff options
Diffstat (limited to 'source/Target/ThreadPlanCallUserExpression.cpp')
-rw-r--r-- | source/Target/ThreadPlanCallUserExpression.cpp | 129 |
1 files changed, 58 insertions, 71 deletions
diff --git a/source/Target/ThreadPlanCallUserExpression.cpp b/source/Target/ThreadPlanCallUserExpression.cpp index d4259ed18d34..260118c31e11 100644 --- a/source/Target/ThreadPlanCallUserExpression.cpp +++ b/source/Target/ThreadPlanCallUserExpression.cpp @@ -1,4 +1,4 @@ -//===-- ThreadPlanCallUserExpression.cpp ------------------------------*- C++ -*-===// +//===-- ThreadPlanCallUserExpression.cpp -------------------------*- C++-*-===// // // The LLVM Compiler Infrastructure // @@ -38,91 +38,78 @@ using namespace lldb_private; // ThreadPlanCallUserExpression: Plan to call a single function //---------------------------------------------------------------------- -ThreadPlanCallUserExpression::ThreadPlanCallUserExpression (Thread &thread, - Address &function, - llvm::ArrayRef<lldb::addr_t> args, - const EvaluateExpressionOptions &options, - lldb::UserExpressionSP &user_expression_sp) : - ThreadPlanCallFunction (thread, function, CompilerType(), args, options), - m_user_expression_sp (user_expression_sp) -{ - // User expressions are generally "User generated" so we should set them up to stop when done. - SetIsMasterPlan (true); - SetOkayToDiscard(false); +ThreadPlanCallUserExpression::ThreadPlanCallUserExpression( + Thread &thread, Address &function, llvm::ArrayRef<lldb::addr_t> args, + const EvaluateExpressionOptions &options, + lldb::UserExpressionSP &user_expression_sp) + : ThreadPlanCallFunction(thread, function, CompilerType(), args, options), + m_user_expression_sp(user_expression_sp) { + // User expressions are generally "User generated" so we should set them up to + // stop when done. + SetIsMasterPlan(true); + SetOkayToDiscard(false); } -ThreadPlanCallUserExpression::~ThreadPlanCallUserExpression () -{ -} +ThreadPlanCallUserExpression::~ThreadPlanCallUserExpression() {} -void -ThreadPlanCallUserExpression::GetDescription (Stream *s, lldb::DescriptionLevel level) -{ - if (level == eDescriptionLevelBrief) - s->Printf("User Expression thread plan"); - else - ThreadPlanCallFunction::GetDescription (s, level); +void ThreadPlanCallUserExpression::GetDescription( + Stream *s, lldb::DescriptionLevel level) { + if (level == eDescriptionLevelBrief) + s->Printf("User Expression thread plan"); + else + ThreadPlanCallFunction::GetDescription(s, level); } -void -ThreadPlanCallUserExpression::WillPop () -{ - ThreadPlanCallFunction::WillPop(); - if (m_user_expression_sp) - m_user_expression_sp.reset(); +void ThreadPlanCallUserExpression::WillPop() { + ThreadPlanCallFunction::WillPop(); + if (m_user_expression_sp) + m_user_expression_sp.reset(); } -bool -ThreadPlanCallUserExpression::MischiefManaged () -{ - Log *log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_STEP)); - - if (IsPlanComplete()) - { - if (log) - log->Printf("ThreadPlanCallFunction(%p): Completed call function plan.", - static_cast<void*>(this)); +bool ThreadPlanCallUserExpression::MischiefManaged() { + Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_STEP)); - if (m_manage_materialization && PlanSucceeded() && m_user_expression_sp) - { - lldb::addr_t function_stack_top; - lldb::addr_t function_stack_bottom; - lldb::addr_t function_stack_pointer = GetFunctionStackPointer(); + if (IsPlanComplete()) { + if (log) + log->Printf("ThreadPlanCallFunction(%p): Completed call function plan.", + static_cast<void *>(this)); - function_stack_bottom = function_stack_pointer - HostInfo::GetPageSize(); - function_stack_top = function_stack_pointer; + if (m_manage_materialization && PlanSucceeded() && m_user_expression_sp) { + lldb::addr_t function_stack_top; + lldb::addr_t function_stack_bottom; + lldb::addr_t function_stack_pointer = GetFunctionStackPointer(); - DiagnosticManager diagnostics; + function_stack_bottom = function_stack_pointer - HostInfo::GetPageSize(); + function_stack_top = function_stack_pointer; - ExecutionContext exe_ctx(GetThread()); + DiagnosticManager diagnostics; - m_user_expression_sp->FinalizeJITExecution(diagnostics, exe_ctx, m_result_var_sp, function_stack_bottom, - function_stack_top); - } + ExecutionContext exe_ctx(GetThread()); - ThreadPlan::MischiefManaged(); - return true; - } - else - { - return false; + m_user_expression_sp->FinalizeJITExecution( + diagnostics, exe_ctx, m_result_var_sp, function_stack_bottom, + function_stack_top); } + + ThreadPlan::MischiefManaged(); + return true; + } else { + return false; + } } -StopInfoSP -ThreadPlanCallUserExpression::GetRealStopInfo() -{ - StopInfoSP stop_info_sp = ThreadPlanCallFunction::GetRealStopInfo(); - - if (stop_info_sp) - { - lldb::addr_t addr = GetStopAddress(); - DynamicCheckerFunctions *checkers = m_thread.GetProcess()->GetDynamicCheckers(); - StreamString s; - - if (checkers && checkers->DoCheckersExplainStop(addr, s)) - stop_info_sp->SetDescription(s.GetData()); - } +StopInfoSP ThreadPlanCallUserExpression::GetRealStopInfo() { + StopInfoSP stop_info_sp = ThreadPlanCallFunction::GetRealStopInfo(); + + if (stop_info_sp) { + lldb::addr_t addr = GetStopAddress(); + DynamicCheckerFunctions *checkers = + m_thread.GetProcess()->GetDynamicCheckers(); + StreamString s; + + if (checkers && checkers->DoCheckersExplainStop(addr, s)) + stop_info_sp->SetDescription(s.GetData()); + } - return stop_info_sp; + return stop_info_sp; } |