diff options
Diffstat (limited to 'llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.h')
-rw-r--r-- | llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.h | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.h b/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.h index 72c9b45b3b7..cbe409ef902 100644 --- a/llvm/lib/ExecutionEngine/JIT/JITDwarfEmitter.h +++ b/llvm/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 |