Files
VisualSapfor/src/_VisualDVM/Passes/All/SPF_GetArrayDistributionOnlyRegions.java

49 lines
1.6 KiB
Java
Raw Normal View History

2024-10-14 12:14:01 +03:00
package _VisualDVM.Passes.All;
2023-09-17 22:13:42 +03:00
import Common.Utils.Index;
import _VisualDVM.Global;
2024-10-14 12:14:01 +03:00
import _VisualDVM.Passes.Sapfor.SapforAnalysis;
2024-10-14 15:19:13 +03:00
import _VisualDVM.ProjectData.SapforData.Regions.ParallelRegion;
2023-09-17 22:13:42 +03:00
public class SPF_GetArrayDistributionOnlyRegions extends SapforAnalysis {
@Override
public String phase() {
return "FILL_PAR_REGIONS_LINES";
}
@Override
protected void unpack(String packed) throws Exception {
String[] splited = packed.split("#");
Index idx = new Index();
int n = Integer.parseInt(splited[idx.Inc()]);
for (int i = 0; i < n; ++i) {
ParallelRegion p = new ParallelRegion(splited, idx);
target.parallelRegions.put(p.regionId, p);
}
}
@Override
protected boolean isAtomic() {
return false;
}
@Override
protected boolean alwaysCheck() {
return true;
}
@Override
protected void performPreparation() throws Exception {
super.performPreparation();
target.parallelRegions.clear();
}
@Override
protected void showPreparation() {
Global.mainModule.getUI().getMainWindow().getProjectWindow().getAnalysisWindow().ShowNoRegions();
2023-09-17 22:13:42 +03:00
}
@Override
protected void showDone() throws Exception {
Global.mainModule.getUI().getMainWindow().getProjectWindow().getAnalysisWindow().ShowRegions();
2023-09-17 22:13:42 +03:00
super.showDone();
}
@Override
protected void FocusResult() {
Global.mainModule.getUI().getMainWindow().FocusProject();
Global.mainModule.getUI().getMainWindow().getProjectWindow().FocusAnalysis();
2023-09-17 22:13:42 +03:00
}
}