24 Thread &thread,
const Address &function, llvm::Type &prototype,
25 llvm::Type &return_type, llvm::ArrayRef<ABI::CallArgument> args,
28 m_return_type(return_type) {
37 start_load_addr, prototype, args))
50 s->
Printf(
"Function call thread plan using ABI instead of JIT");
52 s->
Printf(
"Thread plan to call 0x%" PRIx64
" using ABI instead of JIT",
62 const bool persistent =
false;
virtual bool PrepareTrivialCall(lldb_private::Thread &thread, lldb::addr_t sp, lldb::addr_t functionAddress, lldb::addr_t returnAddress, llvm::ArrayRef< lldb::addr_t > args) const =0
lldb::ValueObjectSP GetReturnValueObject(Thread &thread, CompilerType &type, bool persistent=true) const
A section + offset based address class.
lldb::addr_t GetLoadAddress(Target *target) const
Get the load address.
const lldb::ABISP & GetABI()
A stream class that can stream formatted output to a file.
size_t Printf(const char *format,...) __attribute__((format(printf
Output printf formatted output to the stream.
ThreadPlanCallFunctionUsingABI(Thread &thread, const Address &function_address, llvm::Type &function_prototype, llvm::Type &return_type, llvm::ArrayRef< ABI::CallArgument > args, const EvaluateExpressionOptions &options)
void GetDescription(Stream *s, lldb::DescriptionLevel level) override
Print a description of this thread to the stream s.
llvm::Type & m_return_type
void SetReturnValue() override
~ThreadPlanCallFunctionUsingABI() override
bool ConstructorSetup(Thread &thread, ABI *&abi, lldb::addr_t &start_load_addr, lldb::addr_t &function_load_addr)
void ReportRegisterState(const char *message)
lldb::ValueObjectSP m_return_valobj_sp
lldb::addr_t m_function_sp
Thread & GetThread()
Returns the Thread that is using this thread plan.
#define LLDB_INVALID_ADDRESS
A class that represents a running process on the host machine.
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.