++
распределение в json, еще нашел внесенный переходом баг с отображением массивов текущего файла.
This commit is contained in:
@@ -4,6 +4,7 @@ import Common.Utils.Index;
|
||||
import Common.Utils.IntegerPairJson;
|
||||
import Common.Utils.Pair;
|
||||
import Common.Utils.Utils_;
|
||||
import Common.Visual.UI;
|
||||
import _VisualDVM.Global;
|
||||
import _VisualDVM.ProjectData.Files.DBProjectFile;
|
||||
import _VisualDVM.ProjectData.SapforData.Arrays.AlignRule;
|
||||
@@ -28,7 +29,7 @@ public class ParallelRegion extends DBObject {
|
||||
@Expose
|
||||
public Vector<AlignRule> alignRules;
|
||||
//----
|
||||
public Vector<String> rules = new Vector<>();
|
||||
public Vector<String> rules;
|
||||
public void genRules(LinkedHashMap<BigInteger, ProjectArray> Arrays) {
|
||||
rules.clear();
|
||||
int maxLen = 0;
|
||||
@@ -124,12 +125,24 @@ public class ParallelRegion extends DBObject {
|
||||
arraysMap = new LinkedHashMap<>();
|
||||
lines = new LinkedHashMap<>();
|
||||
fragments = new Vector<>();
|
||||
rules=new Vector<>();
|
||||
//--
|
||||
if (packedRegionId != null)
|
||||
regionId = new BigInteger(packedRegionId);
|
||||
maxdim = 0;
|
||||
for (ProjectArray array : packedArrays) {
|
||||
array.Init();//имена и адреса.
|
||||
arraysMap.put(array.address, array);
|
||||
if (array.isTemplFlag==1){
|
||||
maxdim = Math.max(maxdim, array.dimSize);
|
||||
Global.mainModule.getProject().templates.add(array);
|
||||
array.regIDs.add(regionId);
|
||||
} else if (array.isLoopArrayFlag != 1) arrays_count++;
|
||||
}
|
||||
//---
|
||||
for (AlignRule rule: alignRules) {
|
||||
rule.Init();
|
||||
rule.parent_region = this;
|
||||
}
|
||||
//---
|
||||
for (FileRegionLinesJson fr : regionsLines) {
|
||||
@@ -138,7 +151,22 @@ public class ParallelRegion extends DBObject {
|
||||
fragments.add(fr.file + ": " + l.getKey() + "-" + l.getKey());
|
||||
}
|
||||
}
|
||||
//--
|
||||
//---
|
||||
//--------------------------------------------------------------
|
||||
lines_count = 0;
|
||||
loops_count = 0;
|
||||
fd_count = 0;
|
||||
fc_count = 0;
|
||||
for (String FKey : lines.keySet()) {
|
||||
for (IntegerPairJson L : lines.get(FKey)) {
|
||||
lines_count += (L.getValue() - L.getKey());
|
||||
DBProjectFile f = Global.mainModule.getProject().db.files.Data.get(FKey);
|
||||
loops_count += f.FragmentLoopCount(L.getKey(), L.getValue());
|
||||
fc_count += f.FragmentFunctionCallsCount(L.getKey(), L.getValue());
|
||||
fd_count += f.FragmentFunctionDeclsCount(L.getKey(), L.getValue());
|
||||
}
|
||||
}
|
||||
//---
|
||||
packedRegionId = null;
|
||||
packedArrays.clear();
|
||||
packedArrays = null;
|
||||
|
||||
Reference in New Issue
Block a user