Enable jitting with a known memory size.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@49924 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/ExecutionEngine/JIT/JITDwarfEmitter.h b/lib/ExecutionEngine/JIT/JITDwarfEmitter.h
index 72c9b45..cbe409e 100644
--- a/lib/ExecutionEngine/JIT/JITDwarfEmitter.h
+++ b/lib/ExecutionEngine/JIT/JITDwarfEmitter.h
@@ -35,9 +35,6 @@
   bool needsIndirectEncoding;
   bool stackGrowthDirection;
   
-public:
-  JITDwarfEmitter(JIT& jit);
-
   unsigned char* EmitExceptionTable(MachineFunction* MF,
                                     unsigned char* StartFunction, 
                                     unsigned char* EndFunction);
@@ -53,17 +50,37 @@
                              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