else
type=elementtype.getSafeSymbol()+" ";
- if (fen.needsBoundsCheck()) {
+ if (this.state.ARRAYBOUNDARYCHECK && fen.needsBoundsCheck()) {
output.println("if ("+generateTemp(fm, fen.getIndex(),lb)+"< 0 || "+generateTemp(fm, fen.getIndex(),lb)+" >= "+generateTemp(fm,fen.getSrc(),lb) + "->___length___)");
output.println("failedboundschk();");
}
else
type=elementtype.getSafeSymbol()+" ";
-
- if (fsen.needsBoundsCheck()) {
+ if (this.state.ARRAYBOUNDARYCHECK && fsen.needsBoundsCheck()) {
output.println("if ("+generateTemp(fm, fsen.getIndex(),lb)+"< 0 || "+generateTemp(fm, fsen.getIndex(),lb)+" >= "+generateTemp(fm,fsen.getDst(),lb) + "->___length___)");
output.println("failedboundschk();");
}
public boolean OWNERSHIPWRITEALL=false;
public String OWNERSHIPALIASFILE=null;
public boolean OPTIONAL=false;
+ public boolean ARRAYBOUNDARYCHECK=true;
public boolean RAW=false;
public boolean SCHEDULING=false;
public boolean USEPROFILE=false;
state.WEBINTERFACE=true;
else if (option.equals("-instructionfailures"))
state.INSTRUCTIONFAILURE=true;
+ else if (option.equals("-abcclose"))
+ state.ARRAYBOUNDARYCHECK=false;
else if (option.equals("-help")) {
System.out.println("-classlibrary classlibrarydirectory -- directory where classlibrary is located");
System.out.println("-selfloop task -- this task doesn't self loop its parameters forever");
System.out.println("-ownwritedots <all/final> -- write ownership graphs; can be all results or just final results");
System.out.println("-ownaliasfile <filename> -- write a text file showing all detected aliases in program tasks");
System.out.println("-optional -- enable optional arguments");
+ System.out.println("-abcclose close the array boundary check");
System.out.println("-scheduling do task scheduling");
System.out.println("-multicore generate multi-core version binary");
System.out.println("-numcore set the number of cores (should be used together with -multicore), defaultly set as 1");
bcm.buildCode();
scheduling = null;
}
+ schedulings = null;
selectedScheduling = null;
}