summaryrefslogtreecommitdiff
path: root/lib/ExecutionEngine/JIT/JITDwarfEmitter.h
diff options
context:
space:
mode:
authorNicolas Geoffray <nicolas.geoffray@lip6.fr>2008-04-18 20:59:31 +0000
committerNicolas Geoffray <nicolas.geoffray@lip6.fr>2008-04-18 20:59:31 +0000
commitdc17ab2bf0c4d325b87ac8130004ab11f3f7106d (patch)
treebe7e150433234c251ce3557f0dc162c705965e46 /lib/ExecutionEngine/JIT/JITDwarfEmitter.h
parent37bcda3de96a9c41dc1aa05615ca3df869119026 (diff)
downloadllvm-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.h23
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