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);
output.print(" ");
super.generateFlatNode(fm, lb, current_node, output);
if (current_node.kind()!=FKind.FlatReturnNode) {
- output.println(" flushAll();");
+ //output.println(" flushAll();");
+ output.println("#ifdef RAW");
+ output.println("raw_user_interrupts_off();");
+ output.println("#ifdef RAWDEBUG");
+ output.println("raw_test_pass(0xec00);");
+ output.println("#endif");
+ output.println("raw_flush_entire_cache();");
+ output.println("#ifdef RAWDEBUG");
+ output.println("raw_test_pass(0xecff);");
+ output.println("#endif");
+ output.println("raw_user_interrupts_on();");
+ output.println("#endif");
outputTransCode(output);
output.println(" return;");
}
output.println("return "+generateTemp(fm, frn.getReturnTemp(), lb)+";");
} else {
if(fm.getTask() != null) {
- output.println("flushAll();");
+ //output.println("flushAll();");
+ output.println("#ifdef RAW");
+ output.println("raw_user_interrupts_off();");
+ output.println("#ifdef RAWDEBUG");
+ output.println("raw_test_pass(0xec00);");
+ output.println("#endif");
+ output.println("raw_flush_entire_cache();");
+ output.println("#ifdef RAWDEBUG");
+ output.println("raw_test_pass(0xecff);");
+ output.println("#endif");
+ output.println("raw_user_interrupts_on();");
+ output.println("#endif");
outputTransCode(output);
}
output.println("return;");