Keep track of stubs that are created. This fixes PR5162 and probably PR4822 and
4406. Patch by Nick Lewycky!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@84032 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/ExecutionEngine/JIT/JIT.h b/lib/ExecutionEngine/JIT/JIT.h
index dfeffb5..525cc84 100644
--- a/lib/ExecutionEngine/JIT/JIT.h
+++ b/lib/ExecutionEngine/JIT/JIT.h
@@ -16,6 +16,7 @@
#include "llvm/ExecutionEngine/ExecutionEngine.h"
#include "llvm/PassManager.h"
+#include "llvm/Support/ValueHandle.h"
namespace llvm {
@@ -33,7 +34,7 @@
/// PendingFunctions - Functions which have not been code generated yet, but
/// were called from a function being code generated.
- std::vector<Function*> PendingFunctions;
+ std::vector<AssertingVH<Function> > PendingFunctions;
public:
explicit JITState(ModuleProvider *MP) : PM(MP), MP(MP) {}
@@ -43,7 +44,7 @@
}
ModuleProvider *getMP() const { return MP; }
- std::vector<Function*> &getPendingFunctions(const MutexGuard &L) {
+ std::vector<AssertingVH<Function> > &getPendingFunctions(const MutexGuard &L){
return PendingFunctions;
}
};