// of callee: callee has 'read' requirement!
for (Iterator iterator = calleeUnionBoundReadSet.iterator(); iterator.hasNext();) {
NTuple<Descriptor> read = (NTuple<Descriptor>) iterator.next();
-
Hashtable<FlatNode, Boolean> gen = curr.get(read);
if (gen == null) {
gen = new Hashtable<FlatNode, Boolean>();
// transform all READ/OVERWRITE set from the any possible
// callees to the
// caller
-
calleeUnionBoundReadSet.clear();
calleeIntersectBoundOverWriteSet.clear();
readSet.add(read);
}
}
- writtenSet.removeAll(calleeUnionBoundReadSet);
// add heap path, which is an element of OVERWRITE_bound set, to the
// caller's WT set
NTuple<Descriptor> write = (NTuple<Descriptor>) iterator.next();
writtenSet.add(write);
}
- }
+ }
}
break;