Displaying 3 results from an estimated 3 matches for "globaladdressmap".
2005 Feb 20
0
[LLVMdev] Attempt #1: JIT Thread Safety
...the variables if a lock is held. This allows the compiler to verify
that locks are held in the correct places, although there could still
easily be bugs if the locks are released too early. The data structures
that are protected are:
ExecutionEngine:
std::map<const GlobalValue*, void *> GlobalAddressMap; // R/W data
structure
std::map<void *, const GlobalValue*> GlobalAddressReverseMap; // R/W
data structure
JIT:
std::vector<const GlobalVariable*> PendingGlobals; // R/W data
structure
FunctionPassManager PM; // Could call passes which are not thread safe
Both of these classes ha...
2004 Dec 14
0
[LLVMdev] misc. patches
...ngine.h 3 Dec 2004 13:50:59 -0000
> @@ -93,6 +93,13 @@
> }
> }
>
> + /// clearAllGlobalMappings - Clear all global mappings and start over again
> + /// use in dynamic compilation scenarios when you want to move globals
> + void clearAllGlobalMappings() {
> + GlobalAddressMap.clear();
> + GlobalAddressReverseMap.clear();
> + }
> +
> /// updateGlobalMapping - Replace an existing mapping for GV with a new
> /// address. This updates both maps as required.
> void updateGlobalMapping(const GlobalValue *GV, void *Addr) {
>
> ___________...
2004 Dec 13
6
[LLVMdev] misc. patches
Hi,
here are some minor patches that for various reasons I've not submitted
yet - I'm just trying to clear my list of differences before christmas...
First of all the clear.patch file contains a patch that enables the JIT
to drop all global mappings. I need this because when I have N threads I
compile N different versions of my functions using different memory
areas for global