diff --git a/lib/ExecutionEngine/JIT/JIT.h b/lib/ExecutionEngine/JIT/JIT.h
index ddfd896..d8fabc3 100644
--- a/lib/ExecutionEngine/JIT/JIT.h
+++ b/lib/ExecutionEngine/JIT/JIT.h
@@ -54,11 +54,21 @@
 
   /// getPointerToFunction - This returns the address of the specified function,
   /// compiling it if necessary.
+  ///
   void *getPointerToFunction(Function *F);
 
+  /// recompileAndRelinkFunction - This method is used to force a function
+  /// which has already been compiled, to be compiled again, possibly
+  /// after it has been modified. Then the entry to the old copy is overwritten
+  /// with a branch to the new copy. If there was no old copy, this acts
+  /// just like VM::getPointerToFunction().
+  ///
+  void *recompileAndRelinkFunction(Function *F);
+
 private:
   static MachineCodeEmitter *createEmitter(VM &V);
   void setupPassManager();
+  void runJITOnFunction (Function *F);
 };
 
 #endif
diff --git a/lib/ExecutionEngine/JIT/VM.h b/lib/ExecutionEngine/JIT/VM.h
index ddfd896..d8fabc3 100644
--- a/lib/ExecutionEngine/JIT/VM.h
+++ b/lib/ExecutionEngine/JIT/VM.h
@@ -54,11 +54,21 @@
 
   /// getPointerToFunction - This returns the address of the specified function,
   /// compiling it if necessary.
+  ///
   void *getPointerToFunction(Function *F);
 
+  /// recompileAndRelinkFunction - This method is used to force a function
+  /// which has already been compiled, to be compiled again, possibly
+  /// after it has been modified. Then the entry to the old copy is overwritten
+  /// with a branch to the new copy. If there was no old copy, this acts
+  /// just like VM::getPointerToFunction().
+  ///
+  void *recompileAndRelinkFunction(Function *F);
+
 private:
   static MachineCodeEmitter *createEmitter(VM &V);
   void setupPassManager();
+  void runJITOnFunction (Function *F);
 };
 
 #endif
