summaryrefslogtreecommitdiff
path: root/include/llvm/ExecutionEngine
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2010-11-13 02:48:41 +0000
committerDaniel Dunbar <daniel@zuster.org>2010-11-13 02:48:41 +0000
commitf47a7b2699a6d0dcda4aac8b9a6de19c9b5a4219 (patch)
treeb490c4e8740b86fe84282e6ef24217dce3eb7712 /include/llvm/ExecutionEngine
parentec57d53342827a17022b710cba9a9f4420d9ddce (diff)
downloadllvm-f47a7b2699a6d0dcda4aac8b9a6de19c9b5a4219.tar.gz
llvm-f47a7b2699a6d0dcda4aac8b9a6de19c9b5a4219.tar.bz2
llvm-f47a7b2699a6d0dcda4aac8b9a6de19c9b5a4219.tar.xz
Clean up some doxyments/style.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118970 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ExecutionEngine')
-rw-r--r--include/llvm/ExecutionEngine/JITEventListener.h50
1 files changed, 27 insertions, 23 deletions
diff --git a/include/llvm/ExecutionEngine/JITEventListener.h b/include/llvm/ExecutionEngine/JITEventListener.h
index dcc66b2a08..1c060793d6 100644
--- a/include/llvm/ExecutionEngine/JITEventListener.h
+++ b/include/llvm/ExecutionEngine/JITEventListener.h
@@ -24,35 +24,38 @@ namespace llvm {
class Function;
class MachineFunction;
-/// Empty for now, but this object will contain all details about the
-/// generated machine code that a Listener might care about.
+/// JITEvent_EmittedFunctionDetails - Helper struct for containing information
+/// about a generated machine code function.
struct JITEvent_EmittedFunctionDetails {
- const MachineFunction *MF;
-
struct LineStart {
- // The address at which the current line changes.
+ /// The address at which the current line changes.
uintptr_t Address;
- // The new location information. These can be translated to
- // DebugLocTuples using MF->getDebugLocTuple().
+
+ /// The new location information. These can be translated to DebugLocTuples
+ /// using MF->getDebugLocTuple().
DebugLoc Loc;
};
- // This holds line boundary information sorted by address.
+
+ /// The machine function the struct contains information for.
+ const MachineFunction *MF;
+
+ /// The list of line boundary information, sorted by address.
std::vector<LineStart> LineStarts;
};
-/// JITEventListener - This interface is used by the JIT to notify clients about
-/// significant events during compilation. For example, we could have
-/// implementations for profilers and debuggers that need to know where
-/// functions have been emitted.
+/// JITEventListener - Abstract interface for use by the JIT to notify clients
+/// about significant events during compilation. For example, to notify
+/// profilers and debuggers that need to know where functions have been emitted.
///
-/// Each method defaults to doing nothing, so you only need to override the ones
-/// you care about.
+/// The default implementation of each method does nothing.
class JITEventListener {
public:
+ typedef JITEvent_EmittedFunctionDetails EmittedFunctionDetails;
+
+public:
JITEventListener() {}
- virtual ~JITEventListener(); // Defined in JIT.cpp.
+ virtual ~JITEventListener();
- typedef JITEvent_EmittedFunctionDetails EmittedFunctionDetails;
/// NotifyFunctionEmitted - Called after a function has been successfully
/// emitted to memory. The function still has its MachineFunction attached,
/// if you should happen to need that.
@@ -60,13 +63,14 @@ public:
void *Code, size_t Size,
const EmittedFunctionDetails &Details) {}
- /// NotifyFreeingMachineCode - This is called inside of
- /// freeMachineCodeForFunction(), after the global mapping is removed, but
- /// before the machine code is returned to the allocator. OldPtr is the
- /// address of the machine code and will be the same as the Code parameter to
- /// a previous NotifyFunctionEmitted call. The Function passed to
- /// NotifyFunctionEmitted may have been destroyed by the time of the matching
- /// NotifyFreeingMachineCode call.
+ /// NotifyFreeingMachineCode - Called from freeMachineCodeForFunction(), after
+ /// the global mapping is removed, but before the machine code is returned to
+ /// the allocator.
+ ///
+ /// OldPtr is the address of the machine code and will be the same as the Code
+ /// parameter to a previous NotifyFunctionEmitted call. The Function passed
+ /// to NotifyFunctionEmitted may have been destroyed by the time of the
+ /// matching NotifyFreeingMachineCode call.
virtual void NotifyFreeingMachineCode(void *OldPtr) {}
};