allow clients to indicate that they never want lazy compilation.

llvm-svn: 31600
This commit is contained in:
Chris Lattner 2006-11-09 19:30:47 +00:00
parent d7df1a37bc
commit 89e9bb620a

View File

@ -63,6 +63,7 @@ public:
class ExecutionEngine { class ExecutionEngine {
const TargetData *TD; const TargetData *TD;
ExecutionEngineState state; ExecutionEngineState state;
bool LazyCompilationDisabled;
protected: protected:
/// Modules - This is a list of ModuleProvider's that we are JIT'ing from. We /// Modules - This is a list of ModuleProvider's that we are JIT'ing from. We
/// use a smallvector to optimize for the case where there is only one module. /// use a smallvector to optimize for the case where there is only one module.
@ -197,6 +198,15 @@ public:
virtual void *getOrEmitGlobalVariable(const GlobalVariable *GV) { virtual void *getOrEmitGlobalVariable(const GlobalVariable *GV) {
return getPointerToGlobal((GlobalValue*)GV); return getPointerToGlobal((GlobalValue*)GV);
} }
/// DisableLazyCompilation - If called, the JIT will abort if lazy compilation
// is ever attempted.
void DisableLazyCompilation() {
LazyCompilationDisabled = true;
}
bool isLazyCompilationDisabled() const {
return LazyCompilationDisabled;
}
protected: protected:
void emitGlobals(); void emitGlobals();