From c51723a2c4c8fa6fbee9b41b5194f5d3d77e93b3 Mon Sep 17 00:00:00 2001 From: jjenista Date: Tue, 28 Jul 2009 23:34:55 +0000 Subject: [PATCH] bug fixes --- Robust/src/IR/Flat/BuildCode.java | 21 +++++++++++---------- Robust/src/Tests/mlp/tinyTest/test.java | 4 ++-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/Robust/src/IR/Flat/BuildCode.java b/Robust/src/IR/Flat/BuildCode.java index aa8501a3..b7e9dec7 100644 --- a/Robust/src/IR/Flat/BuildCode.java +++ b/Robust/src/IR/Flat/BuildCode.java @@ -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 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 );"); diff --git a/Robust/src/Tests/mlp/tinyTest/test.java b/Robust/src/Tests/mlp/tinyTest/test.java index 62d9c34a..9734eda2 100644 --- a/Robust/src/Tests/mlp/tinyTest/test.java +++ b/Robust/src/Tests/mlp/tinyTest/test.java @@ -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 -- 2.34.1