sese2conflictGraph = new Hashtable<FlatNode, ConflictGraph>();
conflictGraph2SESELock = new Hashtable<ConflictGraph, HashSet<SESELock>>();
fn2contextTaskNames = new Hashtable<FlatNode, ContextTaskNames>();
+ fn2fm = new Hashtable<FlatNode, FlatMethod>();
+
// add all methods transitively reachable from the
// source's main to set for analysis
} catch (IOException e) {}
}
-
- System.out.println("\n\n\n##########################################################\n"+
- "Warning, lots of code changes going on, OoOJava and RCR/DFJ\n"+
- "systems are being cleaned up. Until the analyses and code gen\n"+
- "are fully altered and coordinated, these systems will not run\n"+
- "to completion. Partial stable check-ins are necessary to manage\n"+
- "the number of files getting touched.\n"+
- "##########################################################" );
- System.exit( 0 );
}
private void buildFlatNodeToFlatMethod( FlatMethod fm ) {
Set<FlatNode> flatNodesToVisit = new HashSet<FlatNode>();
- flatNodesToVisit.add( fm.getFlatExit() );
+ flatNodesToVisit.add( fm );
Set<FlatNode> flatNodesVisited = new HashSet<FlatNode>();
EffectsAnalysis effectsAnalysis = disjointAnalysisTaints.getEffectsAnalysis();
ConflictGraph conflictGraph = sese2conflictGraph.get( parent );
assert conflictGraph == null;
- //if (conflictGraph == null) {
conflictGraph = new ConflictGraph( state );
- //}
Set<FlatSESEEnterNode> children = parent.getChildren();
for( Iterator iterator2 = children.iterator(); iterator2.hasNext(); ) {
FlatSESEEnterNode currentSESE = seseItr.next();
ConflictGraph conflictGraph = sese2conflictGraph.get( currentSESE );
- assert conflictGraph != null;
- //if (conflictGraph == null) {
- // conflictGraph = new ConflictGraph(state);
- //}
+ if( conflictGraph == null ) {
+ assert currentSESE.getIsLeafSESE();
+ continue;
+ }
TempDescriptor lhs;
TempDescriptor rhs;
// and also release references that have become too old
if( !fsen.getIsMainSESE() ) {
- FlatSESEEnterNode currentSESE = fsen.getLocalParent();
+ FlatSESEEnterNode currentSESE = fsen.getLocalParent();
ContextTaskNames contextTaskNames;
- if( currentSESE.getIsCallerProxySESE() ) {
+ if( currentSESE == null ) {
contextTaskNames = oooa.getContextTaskNames( oooa.getContainingFlatMethod( fsen ) );
} else {
contextTaskNames = oooa.getContextTaskNames( currentSESE );
output.println(" // releasing static SESEs");
output.println("#ifndef OOO_DISABLE_TASKMEMPOOL" );
- FlatSESEEnterNode currentSESE = fsen.getLocalParent();
-
- ContextTaskNames contextTaskNames;
- if( currentSESE.getIsCallerProxySESE() ) {
- contextTaskNames = oooa.getContextTaskNames( oooa.getContainingFlatMethod( fsen ) );
- } else {
- contextTaskNames = oooa.getContextTaskNames( currentSESE );
- }
+ ContextTaskNames contextTaskNames = oooa.getContextTaskNames( fsen );
Iterator<SESEandAgePair> pItr = contextTaskNames.getNeededStaticNames().iterator();
while( pItr.hasNext() ) {