while (!methodDescList.isEmpty()) {
MethodDescriptor md = methodDescList.removeLast();
- // System.out.println("\n#updateCompositeLocationAssignments=" + md);
+ System.out.println("\n#updateCompositeLocationAssignments=" + md);
FlowGraph flowGraph = getFlowGraph(md);
Set<FlowNode> nodeSet = flowGraph.getNodeSet();
for (Iterator iterator = nodeSet.iterator(); iterator.hasNext();) {
FlowNode node = (FlowNode) iterator.next();
- // System.out.println("-node=" + node + " node.getDescTuple=" + node.getDescTuple());
+ System.out.println("-node=" + node + " node.getDescTuple=" + node.getDescTuple());
if (node.getCompositeLocation() != null) {
CompositeLocation compLoc = node.getCompositeLocation();
CompositeLocation updatedCompLoc = updateCompositeLocation(compLoc);
node.setCompositeLocation(updatedCompLoc);
- // System.out.println("---updatedCompLoc1=" + updatedCompLoc);
+ System.out.println("---updatedCompLoc1=" + updatedCompLoc);
} else {
NTuple<Descriptor> descTuple = node.getDescTuple();
// System.out.println("update desc=" + descTuple);
HierarchyGraph scGraph = getSimpleHierarchyGraph(enclosingDesc);
if (scGraph != null) {
HNode curNode = scGraph.getCurrentHNode(nodeIdentifier);
- // System.out.println("nodeID=" + nodeIdentifier + " curNode=" + curNode
- // + " enclosingDesc=" + enclosingDesc);
+ System.out.println(" nodeID=" + nodeIdentifier + " curNode=" + curNode
+ + " enclosingDesc=" + enclosingDesc);
if (curNode != null) {
nodeIdentifier = curNode.getName();
}
globalFlowGraph.addMapLocationToInferCompositeLocation(targetLocalLoc, newCompLoc);
// }
+ // if (node.getLocTuple().get(0).getDescriptor().getSymbol().equals("get_scale_factors")
+ // || node.getLocTuple().get(0).getDescriptor().getSymbol()
+ // .equals("get_LSF_scale_data")){
+ // Set<GlobalFlowNode> debugInNodeSet =
+ // globalFlowGraph.debug_getIncomingNodeSetFromPrefix(node, curPrefix);
+ // }
continue next;
// }
lattice.removeRedundantEdges();
LocationInference.numLocationsSInfer += lattice.getKeySet().size();
+ System.out.println(desc + " numPaths=" + lattice.countPaths());
if (desc instanceof ClassDescriptor) {
// field lattice
HierarchyGraph simpleHierarchyGraph = getHierarchyGraph(desc).clone();
simpleHierarchyGraph.setName(desc + "_SIMPLE");
simpleHierarchyGraph.removeRedundantEdges();
+ // simpleHierarchyGraph.removeIsolatedNodes();
mapDescriptorToSimpleHierarchyGraph.put(desc, simpleHierarchyGraph);
}
}
// if the srcNode is started with the global descriptor
// need to set as a skeleton node
if (!hasGlobalAccess && srcNode.getDescTuple().startsWith(GLOBALDESC)) {
+ System.out.println("SRCNODE=" + srcNode);
hasGlobalAccess = true;
}
// set hasGloabalAccess true in the method summary.
if (hasGlobalAccess) {
getMethodSummary(md).setHasGlobalAccess();
+ methodGraph.getHNode(GLOBALDESC).setSkeleton(true);
}
- methodGraph.getHNode(GLOBALDESC).setSkeleton(true);
if (ssjava.getMethodContainingSSJavaLoop().equals(md)) {
// if the current method contains the event loop