initial commit for parent/child SESE memory conflicts analysis
[IRC.git] / Robust / src / Analysis / MLP / ParentChildConflictsMap.java
1 package Analysis.MLP;
2
3 import java.util.Hashtable;
4
5 import IR.Flat.TempDescriptor;
6
7 public class ParentChildConflictsMap {
8
9         public static final Integer ACCESSIBLE = new Integer(1);
10         public static final Integer INACCESSIBLE = new Integer(2);
11
12         private Hashtable<TempDescriptor, Integer> accessibleMap;
13         private Hashtable<TempDescriptor, StallSite> stallMap;
14
15         public ParentChildConflictsMap() {
16
17                 accessibleMap = new Hashtable<TempDescriptor, Integer>();
18                 stallMap = new Hashtable<TempDescriptor, StallSite>();
19
20         }
21
22         public Hashtable<TempDescriptor, Integer> getAccessibleMap() {
23                 return accessibleMap;
24         }
25
26         public Hashtable<TempDescriptor, StallSite> getStallMap() {
27                 return stallMap;
28         }
29         
30         public void addAccessibleVar(TempDescriptor td){
31                 accessibleMap.put(td, ACCESSIBLE);
32         }
33         
34         public void addInaccessibleVar(TempDescriptor td){
35                 accessibleMap.put(td, INACCESSIBLE);
36         }
37         
38         public void addStallSite(TempDescriptor td){
39                 StallSite stallSite=new StallSite();
40                 stallMap.put(td, stallSite);
41         }
42
43         public boolean isAccessible(TempDescriptor td){
44                 if(accessibleMap.contains(td) && accessibleMap.get(td).equals(ACCESSIBLE)){
45                         return true;
46                 }
47                 return false;
48         }
49         
50         public void contributeEffect(TempDescriptor td, String type, String field, int effect){
51                 
52                 StallSite stallSite=stallMap.get(td);
53                 if(stallSite!=null){
54                         stallSite.addEffect(type, field, effect);
55                 }
56                 
57         }
58         
59 }