Fix a couple issues with the JIT and multiple modules:
authorNate Begeman <natebegeman@mac.com>
Wed, 21 May 2008 16:34:48 +0000 (16:34 +0000)
committerNate Begeman <natebegeman@mac.com>
Wed, 21 May 2008 16:34:48 +0000 (16:34 +0000)
commitf049e07eb8930214941c72f8e4409df394de1567
tree2b341c3d5caa02213a284f8f01296fa2aa115897
parenta3f334362f86a70fd11196dd49358662579c21a3
Fix a couple issues with the JIT and multiple modules:

1. The "JITState" object creates a PassManager with the ModuleProvider that the
   jit is created with.  If the ModuleProvider is removed and deleted, the
   PassManager is invalid.

2. The Global maps in the JIT were not invalidated with a ModuleProvider was
   removed.  This could lead to a case where the Module would be freed, and a
   new Module with Globals at the same addresses could return invalid results.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51384 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/ExecutionEngine/ExecutionEngine.h
lib/ExecutionEngine/ExecutionEngine.cpp
lib/ExecutionEngine/JIT/JIT.cpp
lib/ExecutionEngine/JIT/JIT.h