bug fixes
authorjjenista <jjenista>
Tue, 28 Jul 2009 23:34:55 +0000 (23:34 +0000)
committerjjenista <jjenista>
Tue, 28 Jul 2009 23:34:55 +0000 (23:34 +0000)
Robust/src/IR/Flat/BuildCode.java
Robust/src/Tests/mlp/tinyTest/test.java

index aa8501a33fd8aed70053074ad7a88c9c12928a4e..b7e9dec7ecdde74615c71ed927031cd0a7fa9165 100644 (file)
@@ -1883,16 +1883,10 @@ public class BuildCode {
       TempDescriptor temp = itrInSet.next();
       TypeDescriptor type = temp.getType();
 
-      String sizeofStr = "";
-      if( type.isPtr() ) {
-       sizeofStr = "struct ";
-      }
-      sizeofStr += type.getSafeSymbol();
-
       output.println("   memcpy( "+
        "(void*) &("+paramsprefix+"->"+temp.getSafeSymbol()+"), "+         // to
        "(void*) ("+paramsprefix+"->"+temp.getSafeSymbol()+"__srcAddr_),"+ // from
-       " sizeof( "+sizeofStr+" ) );");                       // size
+       " sizeof( "+paramsprefix+"->"+temp.getSafeSymbol()+" ) );");       // size
       
       // make a deep copy of objects
       //if( type.isPtr() ) {
@@ -2676,9 +2670,16 @@ public class BuildCode {
     Iterator<TempDescriptor> itr = fsen.getInVarSet().iterator();
     while( itr.hasNext() ) {
       TempDescriptor temp = itr.next();
-      output.println("     seseToIssue->"+temp.getSafeSymbol()+
-                    "__srcAddr_ = (INTPTR) &("+paramsprefix+"->"+
-                    temp.getSafeSymbol()+");");
+      output.print("     seseToIssue->"+temp.getSafeSymbol()+"__srcAddr_ = ");
+
+      if( fsen.getParent() == null ||
+         fsen.getParent().getInVarSet().contains( temp ) ||
+         fsen.getParent().getOutVarSet().contains( temp ) 
+       ) {
+       output.println("(INTPTR) &("+paramsprefix+"->"+temp.getSafeSymbol()+");");
+      } else {
+       output.println("(INTPTR) &("+temp.getSafeSymbol()+");");        
+      }
     }
     
     output.println("     workScheduleSubmit( (void*) seseToIssue );");
index 62d9c34acad820c715f9350cf1225334b8bf67f1..9734eda2072b6f3a4c4f1620ecff4f9e8a8ee862 100644 (file)
@@ -11,7 +11,7 @@ public class Test {
     int y = Integer.parseInt( args[1] );
 
     //Foo f;
-    /*
+
     sese fi {
       //if( true ) {
 
@@ -23,7 +23,7 @@ public class Test {
       //f = new Foo();
       //}      
     }
-    */
+
 
     // just for testing root's ability to
     // realize a single exit after all returns