fix some bugs in multi-core version codes generation and runtime
[IRC.git] / Robust / src / IR / Flat / BuildCodeMultiCore.java
index 57a03264f69a330589d64784d38d778c78722721..f737624d0b832cea8285e221b2966f19787202b2 100644 (file)
@@ -612,9 +612,11 @@ public class BuildCodeMultiCore extends BuildCode {
        output.println("for(;tmpindex < tmplen; tmpindex++) {");
        output.println("   tmpsum = tmpsum * 10 + *(taskname + tmpindex) - '0';");
        output.println("}");
+       output.println("#ifdef RAWDEBUG");
        output.println("raw_test_pass(0xAAAA);");
        output.println("raw_test_pass_reg(tmpsum);");
        output.println("#endif");
+       output.println("#endif");
        
        for(int i = 0; i < fm.numParameters(); ++i) {
            TempDescriptor temp = fm.getParameter(i);
@@ -645,7 +647,8 @@ public class BuildCodeMultiCore extends BuildCode {
                output.print("   ");
                super.generateFlatNode(fm, lb, current_node, output);
                if (current_node.kind()!=FKind.FlatReturnNode) {
-                   output.println("   flushAll();");
+                   //output.println("   flushAll();");
+                   output.println("raw_flush_entire_cache();");
                    outputTransCode(output);
                    output.println("   return;");
                }
@@ -1221,7 +1224,8 @@ public class BuildCodeMultiCore extends BuildCode {
                output.println("return "+generateTemp(fm, frn.getReturnTemp(), lb)+";");
        } else {
            if(fm.getTask() != null) {
-               output.println("flushAll();");
+               //output.println("flushAll();");
+               output.println("raw_flush_entire_cache();");
                outputTransCode(output);
            }
            output.println("return;");