30class RemoteOpt :
public Opt{
32 RemoteOpt() : Opt(Remote){
36 action_array[0][Bucket] = DUMP;
37 action_array[0][Internal] = DUMP;
45 action_array[0][Boundary] = DUMP;
47 action_array[0][NonLocal] = COMPUTE;
48 action_array[0][NonLocalBucket] = DUMP;
51 action_array[0][Cached] = COMPUTE;
52 action_array[0][CachedBucket] = COMPUTE;
54 action_array[0][CachedEmpty] = DUMP;
56 action_array[0][Empty] = DUMP;
57 action_array[0][Top] = ERROR;
58 action_array[0][Invalid] = ERROR;
63 action_array[1][Internal] = DUMP;
64 action_array[1][Bucket] = DUMP;
67 action_array[1][NonLocal] = KEEP;
68 action_array[1][NonLocalBucket] = KEEP_REMOTE_BUCKET;
69 action_array[1][Boundary] = KEEP;
71 action_array[1][Cached] = KEEP;
72 action_array[1][CachedBucket] = KEEP_REMOTE_BUCKET;
75 action_array[1][CachedEmpty] = DUMP;
77 action_array[1][Top] = ERROR;
78 action_array[1][Invalid] = ERROR;
79 action_array[1][Empty] = DUMP;
86class LocalOpt :
public Opt{
88 LocalOpt() : Opt(Local){
91 action_array[0][Internal] = COMPUTE;
92 action_array[0][Bucket] = COMPUTE;
94 action_array[0][Boundary] = COMPUTE;
96 action_array[0][NonLocal] = DUMP;
97 action_array[0][NonLocalBucket] = COMPUTE;
99 action_array[0][Cached] = DUMP;
100 action_array[0][CachedBucket] = DUMP;
103 action_array[0][Empty] = DUMP;
104 action_array[0][CachedEmpty] = DUMP;
105 action_array[0][Top] = ERROR;
106 action_array[0][Invalid] = ERROR;
110 action_array[1][Internal] = KEEP;
111 action_array[1][Bucket] = KEEP_LOCAL_BUCKET;
112 action_array[1][Boundary] = KEEP;
115 action_array[1][NonLocal] = DUMP;
116 action_array[1][NonLocalBucket] = DUMP;
118 action_array[1][CachedBucket] = DUMP;
119 action_array[1][Cached] = DUMP;
122 action_array[1][Empty] = DUMP;
123 action_array[1][CachedEmpty] = DUMP;
124 action_array[1][Top] = ERROR;
125 action_array[1][Invalid] = ERROR;
132class PushGravityOpt :
public Opt{
134 PushGravityOpt() : Opt(PushGravity){
137 action_array[0][Internal] = COMPUTE;
138 action_array[0][Bucket] = COMPUTE;
140 action_array[0][Boundary] = KEEP;
142 action_array[0][NonLocal] = DUMP;
143 action_array[0][NonLocalBucket] = DUMP;
145 action_array[0][Cached] = DUMP;
146 action_array[0][CachedBucket] = DUMP;
149 action_array[0][Empty] = DUMP;
150 action_array[0][CachedEmpty] = DUMP;
151 action_array[0][Top] = ERROR;
152 action_array[0][Invalid] = ERROR;
156 action_array[1][Internal] = KEEP;
157 action_array[1][Bucket] = KEEP_LOCAL_BUCKET;
158 action_array[1][Boundary] = KEEP;
161 action_array[1][NonLocal] = DUMP;
162 action_array[1][NonLocalBucket] = DUMP;
164 action_array[1][CachedBucket] = DUMP;
165 action_array[1][Cached] = DUMP;
168 action_array[1][Empty] = DUMP;
169 action_array[1][CachedEmpty] = DUMP;
170 action_array[1][Top] = ERROR;
171 action_array[1][Invalid] = ERROR;
178class PrefetchOpt :
public Opt{
180 PrefetchOpt() : Opt(Pref){
181 for(
int i = 1; i <= NUM_NODE_TYPES; i++)
182 action_array[0][i] = DUMP;
183 action_array[0][Invalid] = ERROR;
184 action_array[0][Top] = ERROR;
186 action_array[1][Internal] = DUMP;
187 action_array[1][Bucket] = DUMP;
189 action_array[1][Boundary] = KEEP;
192 action_array[1][NonLocal] = KEEP;
193 action_array[1][NonLocalBucket] = KEEP_REMOTE_BUCKET;
194 action_array[1][Cached] = KEEP;
195 action_array[1][CachedBucket] = KEEP_REMOTE_BUCKET;
197 action_array[1][CachedEmpty] = DUMP;
198 action_array[1][Empty] = DUMP;
199 action_array[1][Invalid] = ERROR;
200 action_array[1][Top] = ERROR;