Deleted Added
full compact
ThreadPlanCallFunction.h (258054) ThreadPlanCallFunction.h (258884)
1//===-- ThreadPlanCallFunction.h --------------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 4 unchanged lines hidden (view full) ---

13// C Includes
14// C++ Includes
15// Other libraries and framework includes
16// Project includes
17#include "lldb/lldb-private.h"
18#include "lldb/Target/Thread.h"
19#include "lldb/Target/ThreadPlan.h"
20
1//===-- ThreadPlanCallFunction.h --------------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//

--- 4 unchanged lines hidden (view full) ---

13// C Includes
14// C++ Includes
15// Other libraries and framework includes
16// Project includes
17#include "lldb/lldb-private.h"
18#include "lldb/Target/Thread.h"
19#include "lldb/Target/ThreadPlan.h"
20
21#include "llvm/ADT/ArrayRef.h"
22
21namespace lldb_private {
22
23class ThreadPlanCallFunction : public ThreadPlan
24{
25 // Create a thread plan to call a function at the address passed in the "function"
26 // argument. If you plan to call GetReturnValueObject, then pass in the
27 // return type, otherwise just pass in an invalid ClangASTType.
28public:
29 ThreadPlanCallFunction (Thread &thread,
30 const Address &function,
31 const ClangASTType &return_type,
23namespace lldb_private {
24
25class ThreadPlanCallFunction : public ThreadPlan
26{
27 // Create a thread plan to call a function at the address passed in the "function"
28 // argument. If you plan to call GetReturnValueObject, then pass in the
29 // return type, otherwise just pass in an invalid ClangASTType.
30public:
31 ThreadPlanCallFunction (Thread &thread,
32 const Address &function,
33 const ClangASTType &return_type,
32 lldb::addr_t arg,
33 bool stop_other_threads,
34 bool unwind_on_error = true,
35 bool ignore_breakpoints = false,
36 lldb::addr_t *this_arg = 0,
37 lldb::addr_t *cmd_arg = 0);
34 llvm::ArrayRef<lldb::addr_t> args,
35 const EvaluateExpressionOptions &options);
38
36
39 ThreadPlanCallFunction (Thread &thread,
40 const Address &function,
41 const ClangASTType &return_type,
42 bool stop_other_threads,
43 bool unwind_on_error,
44 bool ignore_breakpoints,
45 lldb::addr_t *arg1_ptr = NULL,
46 lldb::addr_t *arg2_ptr = NULL,
47 lldb::addr_t *arg3_ptr = NULL,
48 lldb::addr_t *arg4_ptr = NULL,
49 lldb::addr_t *arg5_ptr = NULL,
50 lldb::addr_t *arg6_ptr = NULL);
51
52 virtual
53 ~ThreadPlanCallFunction ();
54
55 virtual void
56 GetDescription (Stream *s, lldb::DescriptionLevel level);
57
58 virtual bool
59 ValidatePlan (Stream *error);

--- 106 unchanged lines hidden (view full) ---

166 void
167 ClearBreakpoints ();
168
169 bool
170 BreakpointsExplainStop ();
171
172 bool m_valid;
173 bool m_stop_other_threads;
37 virtual
38 ~ThreadPlanCallFunction ();
39
40 virtual void
41 GetDescription (Stream *s, lldb::DescriptionLevel level);
42
43 virtual bool
44 ValidatePlan (Stream *error);

--- 106 unchanged lines hidden (view full) ---

151 void
152 ClearBreakpoints ();
153
154 bool
155 BreakpointsExplainStop ();
156
157 bool m_valid;
158 bool m_stop_other_threads;
159 bool m_unwind_on_error;
160 bool m_ignore_breakpoints;
161 bool m_debug_execution;
162 bool m_trap_exceptions;
174 Address m_function_addr;
175 Address m_start_addr;
176 lldb::addr_t m_function_sp;
163 Address m_function_addr;
164 Address m_start_addr;
165 lldb::addr_t m_function_sp;
177 Thread::RegisterCheckpoint m_register_backup;
178 lldb::ThreadPlanSP m_subplan_sp;
179 LanguageRuntime *m_cxx_language_runtime;
180 LanguageRuntime *m_objc_language_runtime;
181 Thread::ThreadStateCheckpoint m_stored_thread_state;
182 lldb::StopInfoSP m_real_stop_info_sp; // In general we want to hide call function
183 // thread plans, but for reporting purposes,
184 // it's nice to know the real stop reason.
185 // This gets set in DoTakedown.
186 StreamString m_constructor_errors;
187 ClangASTType m_return_type;
188 lldb::ValueObjectSP m_return_valobj_sp; // If this contains a valid pointer, use the ABI to extract values when complete
189 bool m_takedown_done; // We want to ensure we only do the takedown once. This ensures that.
166 lldb::ThreadPlanSP m_subplan_sp;
167 LanguageRuntime *m_cxx_language_runtime;
168 LanguageRuntime *m_objc_language_runtime;
169 Thread::ThreadStateCheckpoint m_stored_thread_state;
170 lldb::StopInfoSP m_real_stop_info_sp; // In general we want to hide call function
171 // thread plans, but for reporting purposes,
172 // it's nice to know the real stop reason.
173 // This gets set in DoTakedown.
174 StreamString m_constructor_errors;
175 ClangASTType m_return_type;
176 lldb::ValueObjectSP m_return_valobj_sp; // If this contains a valid pointer, use the ABI to extract values when complete
177 bool m_takedown_done; // We want to ensure we only do the takedown once. This ensures that.
178 bool m_should_clear_objc_exception_bp;
179 bool m_should_clear_cxx_exception_bp;
190 lldb::addr_t m_stop_address; // This is the address we stopped at. Also set in DoTakedown;
180 lldb::addr_t m_stop_address; // This is the address we stopped at. Also set in DoTakedown;
191 bool m_unwind_on_error;
192 bool m_ignore_breakpoints;
193
194 DISALLOW_COPY_AND_ASSIGN (ThreadPlanCallFunction);
195};
196
197} // namespace lldb_private
198
199#endif // liblldb_ThreadPlanCallFunction_h_
181
182 DISALLOW_COPY_AND_ASSIGN (ThreadPlanCallFunction);
183};
184
185} // namespace lldb_private
186
187#endif // liblldb_ThreadPlanCallFunction_h_