From: bdemsky Date: Thu, 14 Feb 2008 22:11:09 +0000 (+0000) Subject: change X-Git-Tag: preEdgeChange~278 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=09742b11c74c1db2814f3fc693ba9ab6a9514064;p=IRC.git change --- diff --git a/Robust/src/IR/Flat/BuildCode.java b/Robust/src/IR/Flat/BuildCode.java index 306c0c8c..1e4dac96 100644 --- a/Robust/src/IR/Flat/BuildCode.java +++ b/Robust/src/IR/Flat/BuildCode.java @@ -191,6 +191,9 @@ public class BuildCode { private void outputMainMethod(PrintWriter outmethod) { outmethod.println("int main(int argc, const char *argv[]) {"); outmethod.println(" int i;"); + if (state.THREAD||state.DSM) { + outmethod.println("initializethreads();"); + } if (state.DSM) { outmethod.println("if (dstmStartup(argv[1])) {"); if (GENERATEPRECISEGC) { @@ -205,9 +208,6 @@ public class BuildCode { outmethod.println(" struct ArrayObject * stringarray=allocate_newarray(STRINGARRAYTYPE, argc-1);"); } } - if (state.THREAD) { - outmethod.println("initializethreads();"); - } if (state.DSM) { outmethod.println(" for(i=2;i"); if (state.main!=null) { outmethod.println("#include "); @@ -393,7 +394,7 @@ public class BuildCode { } private void outputClassDeclarations(PrintWriter outclassdefs) { - if (state.THREAD) + if (state.THREAD||state.DSM) outclassdefs.println("#include "); if(state.OPTIONAL) outclassdefs.println("#include \"optionalstruct.h\""); @@ -1244,7 +1245,7 @@ public class BuildCode { /* Check to see if we need to do a GC if this is a * multi-threaded program...*/ - if (state.THREAD&&GENERATEPRECISEGC) { + if ((state.THREAD||state.DSM)&&GENERATEPRECISEGC) { output.println("checkcollect(&"+localsprefix+");"); } @@ -1262,7 +1263,7 @@ public class BuildCode { if (nodetolabel.containsKey(current_node)) output.println("L"+nodetolabel.get(current_node)+":"); if (state.INSTRUCTIONFAILURE) { - if (state.THREAD) { + if (state.THREAD||state.DSM) { output.println("if ((++instructioncount)>failurecount) {instructioncount=0;injectinstructionfailure();}"); } else