diff options
Diffstat (limited to 'contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunctionUsingABI.cpp')
-rw-r--r-- | contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunctionUsingABI.cpp | 83 |
1 files changed, 36 insertions, 47 deletions
diff --git a/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunctionUsingABI.cpp b/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunctionUsingABI.cpp index df23edc..6c59695 100644 --- a/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunctionUsingABI.cpp +++ b/contrib/llvm/tools/lldb/source/Target/ThreadPlanCallFunctionUsingABI.cpp @@ -24,63 +24,52 @@ using namespace lldb; using namespace lldb_private; //-------------------------------------------------------------------------------------------- -// ThreadPlanCallFunctionUsingABI: Plan to call a single function using the ABI instead of JIT +// ThreadPlanCallFunctionUsingABI: Plan to call a single function using the ABI +// instead of JIT //------------------------------------------------------------------------------------------- -ThreadPlanCallFunctionUsingABI::ThreadPlanCallFunctionUsingABI (Thread &thread, - const Address &function, - llvm::Type &prototype, - llvm::Type &return_type, - llvm::ArrayRef<ABI::CallArgument> args, - const EvaluateExpressionOptions &options) : - ThreadPlanCallFunction(thread,function,options), - m_return_type(return_type) -{ - lldb::addr_t start_load_addr = LLDB_INVALID_ADDRESS; - lldb::addr_t function_load_addr = LLDB_INVALID_ADDRESS; - ABI *abi = nullptr; +ThreadPlanCallFunctionUsingABI::ThreadPlanCallFunctionUsingABI( + Thread &thread, const Address &function, llvm::Type &prototype, + llvm::Type &return_type, llvm::ArrayRef<ABI::CallArgument> args, + const EvaluateExpressionOptions &options) + : ThreadPlanCallFunction(thread, function, options), + m_return_type(return_type) { + lldb::addr_t start_load_addr = LLDB_INVALID_ADDRESS; + lldb::addr_t function_load_addr = LLDB_INVALID_ADDRESS; + ABI *abi = nullptr; - if (!ConstructorSetup(thread, abi, start_load_addr, function_load_addr)) - return; + if (!ConstructorSetup(thread, abi, start_load_addr, function_load_addr)) + return; - if (!abi->PrepareTrivialCall(thread, - m_function_sp, - function_load_addr, - start_load_addr, - prototype, - args)) - return; + if (!abi->PrepareTrivialCall(thread, m_function_sp, function_load_addr, + start_load_addr, prototype, args)) + return; - ReportRegisterState("ABI Function call was set up. Register state was:"); + ReportRegisterState("ABI Function call was set up. Register state was:"); - m_valid = true; + m_valid = true; } ThreadPlanCallFunctionUsingABI::~ThreadPlanCallFunctionUsingABI() = default; -void -ThreadPlanCallFunctionUsingABI::GetDescription(Stream *s, DescriptionLevel level) -{ - if (level == eDescriptionLevelBrief) - { - s->Printf("Function call thread plan using ABI instead of JIT"); - } - else - { - TargetSP target_sp(m_thread.CalculateTarget()); - s->Printf("Thread plan to call 0x%" PRIx64" using ABI instead of JIT", m_function_addr.GetLoadAddress(target_sp.get())); - } +void ThreadPlanCallFunctionUsingABI::GetDescription(Stream *s, + DescriptionLevel level) { + if (level == eDescriptionLevelBrief) { + s->Printf("Function call thread plan using ABI instead of JIT"); + } else { + TargetSP target_sp(m_thread.CalculateTarget()); + s->Printf("Thread plan to call 0x%" PRIx64 " using ABI instead of JIT", + m_function_addr.GetLoadAddress(target_sp.get())); + } } -void -ThreadPlanCallFunctionUsingABI::SetReturnValue() -{ - ProcessSP process_sp(m_thread.GetProcess()); - const ABI *abi = process_sp ? process_sp->GetABI().get() : nullptr; +void ThreadPlanCallFunctionUsingABI::SetReturnValue() { + ProcessSP process_sp(m_thread.GetProcess()); + const ABI *abi = process_sp ? process_sp->GetABI().get() : nullptr; - // Ask the abi for the return value - if (abi) - { - const bool persistent = false; - m_return_valobj_sp = abi->GetReturnValueObject(m_thread, m_return_type, persistent); - } + // Ask the abi for the return value + if (abi) { + const bool persistent = false; + m_return_valobj_sp = + abi->GetReturnValueObject(m_thread, m_return_type, persistent); + } } |