diff options
author | Nicolas Geoffray <nicolas.geoffray@lip6.fr> | 2008-04-18 20:59:31 +0000 |
---|---|---|
committer | Nicolas Geoffray <nicolas.geoffray@lip6.fr> | 2008-04-18 20:59:31 +0000 |
commit | dc17ab2bf0c4d325b87ac8130004ab11f3f7106d (patch) | |
tree | be7e150433234c251ce3557f0dc162c705965e46 /lib/ExecutionEngine/JIT/JITDwarfEmitter.h | |
parent | 37bcda3de96a9c41dc1aa05615ca3df869119026 (diff) | |
download | llvm-dc17ab2bf0c4d325b87ac8130004ab11f3f7106d.tar.gz llvm-dc17ab2bf0c4d325b87ac8130004ab11f3f7106d.tar.bz2 llvm-dc17ab2bf0c4d325b87ac8130004ab11f3f7106d.tar.xz |
Enable jitting with a known memory size.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49924 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ExecutionEngine/JIT/JITDwarfEmitter.h')
-rw-r--r-- | lib/ExecutionEngine/JIT/JITDwarfEmitter.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/lib/ExecutionEngine/JIT/JITDwarfEmitter.h b/lib/ExecutionEngine/JIT/JITDwarfEmitter.h index 72c9b45b3b..cbe409ef90 100644 --- a/lib/ExecutionEngine/JIT/JITDwarfEmitter.h +++ b/lib/ExecutionEngine/JIT/JITDwarfEmitter.h @@ -35,9 +35,6 @@ class JITDwarfEmitter { bool needsIndirectEncoding; bool stackGrowthDirection; -public: - JITDwarfEmitter(JIT& jit); - unsigned char* EmitExceptionTable(MachineFunction* MF, unsigned char* StartFunction, unsigned char* EndFunction); @@ -53,17 +50,37 @@ public: unsigned char* EndFunction, unsigned char* ExceptionTable); + unsigned GetExceptionTableSize(MachineFunction* MF); + + unsigned GetFrameMovesSize(intptr_t BaseLabelPtr, + const std::vector<MachineMove> &Moves); + + unsigned GetCommonEHFrameSize(const Function* Personality); + unsigned GetEHFrameSize(const Function* Personality, + unsigned char* StartFunction); + +public: + + JITDwarfEmitter(JIT& jit); + unsigned char* EmitDwarfTable(MachineFunction& F, MachineCodeEmitter& MCE, unsigned char* StartFunction, unsigned char* EndFunction); + + unsigned GetDwarfTableSize(MachineFunction& F, + MachineCodeEmitter& MCE, + unsigned char* StartFunction, + unsigned char* EndFunction); + void setModuleInfo(MachineModuleInfo* Info) { MMI = Info; } }; + } // end namespace llvm #endif // LLVM_EXECUTION_ENGINE_JIT_DWARFEMITTER_H |