LLVM API Documentation

Public Types | Public Member Functions | Static Public Member Functions
llvm::JITEventListener Class Reference

#include <JITEventListener.h>

List of all members.

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

Definition at line 59 of file JITEventListener.h.

Definition at line 15 of file JITEventListener.cpp.


Member Function Documentation

Definition at line 101 of file JITEventListener.h.

Definition at line 103 of file JITEventListener.h.

Definition at line 118 of file JITEventListener.h.

Definition at line 120 of file JITEventListener.h.

virtual void llvm::JITEventListener::NotifyFreeingMachineCode ( void *  ) [inline, virtual]

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) [inline, virtual]

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  
) [inline, virtual]

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) [inline, virtual]

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: