LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | List of all members
llvm::JITEventListener Class Reference

#include <JITEventListener.h>

Public Types

typedef
JITEvent_EmittedFunctionDetails 
EmittedFunctionDetails
 

Public Member Functions

 JITEventListener ()
 
virtual ~JITEventListener ()
 
virtual void NotifyFunctionEmitted (const Function &, void *, size_t, const EmittedFunctionDetails &)
 
virtual void NotifyFreeingMachineCode (void *)
 
virtual void NotifyObjectEmitted (const ObjectImage &Obj)
 
virtual void NotifyFreeingObject (const ObjectImage &Obj)
 

Static Public Member Functions

static JITEventListenercreateIntelJITEventListener ()
 
static JITEventListenercreateIntelJITEventListener (IntelJITEventsWrapper *AlternativeImpl)
 
static JITEventListenercreateOProfileJITEventListener ()
 
static JITEventListenercreateOProfileJITEventListener (OProfileWrapper *AlternativeImpl)
 

Detailed Description

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.

The default implementation of each method does nothing.

Definition at line 54 of file JITEventListener.h.

Member Typedef Documentation

Definition at line 56 of file JITEventListener.h.

Constructor & Destructor Documentation

llvm::JITEventListener::JITEventListener ( )
inline

Definition at line 59 of file JITEventListener.h.

JITEventListener::~JITEventListener ( )
virtual

Definition at line 692 of file JIT.cpp.

Member Function Documentation

JITEventListener * llvm::JITEventListener::createIntelJITEventListener ( )
inlinestatic

Definition at line 101 of file JITEventListener.h.

JITEventListener * llvm::JITEventListener::createIntelJITEventListener ( IntelJITEventsWrapper AlternativeImpl)
inlinestatic

Definition at line 103 of file JITEventListener.h.

JITEventListener * llvm::JITEventListener::createOProfileJITEventListener ( )
inlinestatic

Definition at line 118 of file JITEventListener.h.

JITEventListener * llvm::JITEventListener::createOProfileJITEventListener ( OProfileWrapper AlternativeImpl)
inlinestatic

Definition at line 120 of file JITEventListener.h.

virtual void llvm::JITEventListener::NotifyFreeingMachineCode ( void *  )
inlinevirtual

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.

Definition at line 77 of file JITEventListener.h.

virtual void llvm::JITEventListener::NotifyFreeingObject ( const ObjectImage Obj)
inlinevirtual

NotifyFreeingObject - Called just before the memory associated with a previously emitted object is released.

Definition at line 91 of file JITEventListener.h.

virtual void llvm::JITEventListener::NotifyFunctionEmitted ( const Function ,
void *  ,
size_t  ,
const EmittedFunctionDetails  
)
inlinevirtual

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.

Definition at line 65 of file JITEventListener.h.

virtual void llvm::JITEventListener::NotifyObjectEmitted ( const ObjectImage Obj)
inlinevirtual

NotifyObjectEmitted - Called after an object has been successfully emitted to memory. NotifyFunctionEmitted will not be called for individual functions in the object.

ELF-specific information The ObjectImage contains the generated object image with section headers updated to reflect the address at which sections were loaded and with relocations performed in-place on debug sections.

Definition at line 87 of file JITEventListener.h.


The documentation for this class was generated from the following files: