Closed SpinTensor closed 4 years ago
Fixed. The problem was not that they were not precisely traced, but that the regions were not considered to be new if constructs like this were used:
for (int ireg=1; ireg<=nreg; ireg++) {
char reg_name[32];
sprintf(reg_name, "user-region-%1d", ireg);
vftrace_region_begin(reg_name);
vftrace_region_end(reg_name);
}
The constructed region all have the same address, thus they were not considered new, but the call count of the first region with the address was increased.
Now in order to be considered the same function the address as well as the name has to be identical.
Changes are in the branch fix_precise_regions
and will be merged after review.
Although
VFTR_REGIONS_PRECISE
is exported some regions are skipped during runtime. No region is marked precise in the logfile. The regions, which are trace are marked precise in the vfd.