распределение в json, еще нашел внесенный переходом баг с отображением массивов текущего файла.
This commit is contained in:
2025-05-18 18:12:30 +03:00
parent cba4425cd7
commit 41ce6527d5
9 changed files with 66 additions and 29 deletions

View File

@@ -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;