changes to build script to increase java heap memory
[IRC.git] / Robust / src / IR / Flat / TempObject.java
1 package IR.Flat;
2 import IR.*;
3 import java.util.*;
4
5 public class TempObject {
6     ParamsObject params;
7     private Vector pointerparams;
8     private Vector primitiveparams;
9     private MethodDescriptor method;
10     private TaskDescriptor task;
11     private int tag;
12     private Hashtable paramtotemp;
13     private Hashtable temptostore;
14     private int count;
15
16     public TempObject(ParamsObject p, MethodDescriptor md, int tag) {
17         params=p;
18         pointerparams=new Vector();
19         primitiveparams=new Vector();
20         paramtotemp=new Hashtable();
21         temptostore=new Hashtable();
22         this.method=md;
23         this.tag=tag;
24         count=0;
25     }
26
27     public TempObject(ParamsObject p, TaskDescriptor task, int tag) {
28         params=p;
29         pointerparams=new Vector();
30         primitiveparams=new Vector();
31         paramtotemp=new Hashtable();
32         temptostore=new Hashtable();
33         this.task=task;
34         this.tag=tag;
35         count=0;
36     }
37
38     public void addPtr(TempDescriptor t) {
39         if (!params.containsTemp(t)&&!pointerparams.contains(t)) {
40             Position p=new Position(true, pointerparams.size());
41             pointerparams.add(t);
42             paramtotemp.put(new Integer(count++), t);
43             temptostore.put(t,p);
44         }
45     }
46
47     public void addPrim(TempDescriptor t) {
48         if (!params.containsTemp(t)&&!primitiveparams.contains(t)) {
49             Position p=new Position(false, primitiveparams.size());
50             primitiveparams.add(t);
51             paramtotemp.put(new Integer(count++), t);
52             temptostore.put(t,p);
53         }
54     }
55
56     public boolean isLocalPtr(TempDescriptor t) {
57         if (!params.containsTemp(t)) {
58             Position p=(Position)temptostore.get(t);
59             return p.inStruct;
60         }
61         return false;
62     }
63
64     public boolean isLocalPrim(TempDescriptor t) {
65         if (!params.containsTemp(t)) {
66             Position p=(Position)temptostore.get(t);
67             return !p.inStruct;
68         }
69         return false;
70     }
71
72     public boolean isParamPtr(TempDescriptor t) {
73         return params.isParamPtr(t);
74     }
75
76     public boolean isParamPrim(TempDescriptor t) {
77         return params.isParamPrim(t);
78     }
79
80     int numPointers() {
81         return pointerparams.size();
82     }
83
84     TempDescriptor getPointer(int i) {
85         return (TempDescriptor) pointerparams.get(i);
86     }
87
88     int numPrimitives() {
89         return primitiveparams.size();
90     }
91
92     TempDescriptor getPrimitive(int i) {
93         return (TempDescriptor) primitiveparams.get(i);
94     }
95
96     static class Position {
97         boolean inStruct;
98         int position;
99         Position(boolean inStruct, int position) {
100             this.inStruct=inStruct;
101             this.position=position;
102         }
103     }
104 }