LLDB
mainline
llvm-project
lldb
include
lldb
Target
ThreadPlanCallFunctionUsingABI.h
Go to the documentation of this file.
1
//===-- ThreadPlanCallFunctionUsingABI.h --------------------------------*- C++
2
//-*-===//
3
//
4
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5
// See https://llvm.org/LICENSE.txt for license information.
6
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7
//
8
//===----------------------------------------------------------------------===//
9
10
#ifndef LLDB_TARGET_THREADPLANCALLFUNCTIONUSINGABI_H
11
#define LLDB_TARGET_THREADPLANCALLFUNCTIONUSINGABI_H
12
13
#include "
lldb/Target/ABI.h
"
14
#include "
lldb/Target/Thread.h
"
15
#include "
lldb/Target/ThreadPlanCallFunction.h
"
16
#include "
lldb/lldb-private.h
"
17
18
#include "llvm/ADT/ArrayRef.h"
19
#include "llvm/IR/DerivedTypes.h"
20
21
namespace
lldb_private
{
22
23
class
ThreadPlanCallFunctionUsingABI
:
public
ThreadPlanCallFunction
{
24
// Create a thread plan to call a function at the address passed in the
25
// "function" argument, this function is executed using register manipulation
26
// instead of JIT. Class derives from ThreadPlanCallFunction and differs by
27
// calling a alternative
28
// ABI interface ABI::PrepareTrivialCall() which provides more detailed
29
// information.
30
public
:
31
ThreadPlanCallFunctionUsingABI
(
Thread
&thread,
32
const
Address
&function_address,
33
llvm::Type &function_prototype,
34
llvm::Type &return_type,
35
llvm::ArrayRef<ABI::CallArgument> args,
36
const
EvaluateExpressionOptions
&options);
37
38
~ThreadPlanCallFunctionUsingABI
()
override
;
39
40
void
GetDescription
(
Stream
*s,
lldb::DescriptionLevel
level)
override
;
41
42
protected
:
43
void
SetReturnValue
()
override
;
44
45
private
:
46
llvm::Type &
m_return_type
;
47
ThreadPlanCallFunctionUsingABI
(
const
ThreadPlanCallFunctionUsingABI
&) =
48
delete
;
49
const
ThreadPlanCallFunctionUsingABI
&
50
operator=
(
const
ThreadPlanCallFunctionUsingABI
&) =
delete
;
51
};
52
53
}
// namespace lldb_private
54
55
#endif // LLDB_TARGET_THREADPLANCALLFUNCTIONUSINGABI_H
lldb_private::ThreadPlanCallFunctionUsingABI
Definition:
ThreadPlanCallFunctionUsingABI.h:23
lldb_private::ThreadPlanCallFunctionUsingABI::ThreadPlanCallFunctionUsingABI
ThreadPlanCallFunctionUsingABI(Thread &thread, const Address &function_address, llvm::Type &function_prototype, llvm::Type &return_type, llvm::ArrayRef< ABI::CallArgument > args, const EvaluateExpressionOptions &options)
Definition:
ThreadPlanCallFunctionUsingABI.cpp:23
lldb_private::EvaluateExpressionOptions
Definition:
Target.h:281
lldb_private::Stream
Definition:
Stream.h:28
ABI.h
lldb_private::ThreadPlanCallFunction
Definition:
ThreadPlanCallFunction.h:20
lldb_private::ThreadPlanCallFunctionUsingABI::SetReturnValue
void SetReturnValue() override
Definition:
ThreadPlanCallFunctionUsingABI.cpp:57
lldb_private::Thread
Definition:
Thread.h:61
lldb_private::ThreadPlanCallFunctionUsingABI::m_return_type
llvm::Type & m_return_type
Definition:
ThreadPlanCallFunctionUsingABI.h:46
Thread.h
ThreadPlanCallFunction.h
lldb-private.h
lldb_private::ThreadPlanCallFunctionUsingABI::GetDescription
void GetDescription(Stream *s, lldb::DescriptionLevel level) override
Print a description of this thread to the stream s.
Definition:
ThreadPlanCallFunctionUsingABI.cpp:47
lldb_private::Address
Definition:
Address.h:59
lldb_private::ThreadPlanCallFunctionUsingABI::~ThreadPlanCallFunctionUsingABI
~ThreadPlanCallFunctionUsingABI() override
lldb_private::ThreadPlanCallFunctionUsingABI::operator=
const ThreadPlanCallFunctionUsingABI & operator=(const ThreadPlanCallFunctionUsingABI &)=delete
lldb_private
A class that represents a running process on the host machine.
Definition:
SBCommandInterpreterRunOptions.h:16
lldb::DescriptionLevel
DescriptionLevel
Description levels for "void GetDescription(Stream *, DescriptionLevel)" calls.
Definition:
lldb-enumerations.h:207
Generated on Mon Jul 4 2022 12:51:03 for LLDB by
1.8.17