ClearingSummary result =
mapMethodDescriptorToCompleteClearingSummary.get(sortedDescriptors.peekFirst());
- System.out.println("checkSharedLocationResult=" + result);
Set<NTuple<Descriptor>> hpKeySet = result.keySet();
for (Iterator iterator = hpKeySet.iterator(); iterator.hasNext();) {
// the same time once per the out-most loop
computeReadSharedDescriptorSet();
- System.out.println("Reading Shared Location=" + mapSharedLocation2DescriptorSet);
methodDescriptorsToVisitStack.clear();
// add <hp,statement,false> in which hp is an element of
// READ_bound set
// 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);
}
}
- // need to kill hp(x.f) from WT
- writtenSet.remove(readingHeapPath);
+ //no need to kill hp(x.f) from WT
}
}
if (fc.getThis() != null) {
bindHeapPathCallerArgWithCaleeParam(fc);
-
+
// add heap path, which is an element of READ_bound set and is not
// an
// element of WT set, to the caller's READ set