mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-27 14:34:58 +00:00
Add removeModuleProvider()
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43002 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
f656b985ec
commit
73d0e211a3
@ -97,7 +97,11 @@ public:
|
|||||||
void addModuleProvider(ModuleProvider *P) {
|
void addModuleProvider(ModuleProvider *P) {
|
||||||
Modules.push_back(P);
|
Modules.push_back(P);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// removeModuleProvider - Remove a ModuleProvider from the list of modules.
|
||||||
|
/// Release module from ModuleProvider.
|
||||||
|
Module* removeModuleProvider(ModuleProvider *P, std::string *ErrInfo = 0);
|
||||||
|
|
||||||
/// FindFunctionNamed - Search all of the active modules to find the one that
|
/// FindFunctionNamed - Search all of the active modules to find the one that
|
||||||
/// defines FnName. This is very slow operation and shouldn't be used for
|
/// defines FnName. This is very slow operation and shouldn't be used for
|
||||||
/// general code.
|
/// general code.
|
||||||
|
@ -51,6 +51,21 @@ ExecutionEngine::~ExecutionEngine() {
|
|||||||
delete Modules[i];
|
delete Modules[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// removeModuleProvider - Remove a ModuleProvider from the list of modules.
|
||||||
|
/// Release module from ModuleProvider.
|
||||||
|
Module* ExecutionEngine::removeModuleProvider(ModuleProvider *P,
|
||||||
|
std::string *ErrInfo) {
|
||||||
|
for(SmallVector<ModuleProvider *, 1>::iterator I = Modules.begin(),
|
||||||
|
E = Modules.end(); I != E; ++I) {
|
||||||
|
ModuleProvider *MP = *I;
|
||||||
|
if (MP == P) {
|
||||||
|
Modules.erase(I);
|
||||||
|
return MP->releaseModule(ErrInfo);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/// FindFunctionNamed - Search all of the active modules to find the one that
|
/// FindFunctionNamed - Search all of the active modules to find the one that
|
||||||
/// defines FnName. This is very slow operation and shouldn't be used for
|
/// defines FnName. This is very slow operation and shouldn't be used for
|
||||||
/// general code.
|
/// general code.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user