This one omitted mappings to the first static instruction belonging to a
high-level source-code line.
Change-Id: I14427021e61f27a8b029fb56fad2ba813652422a
Using "$x .= $y" instead of "$x = $x . $y" is actually an extreme
speedup for long $x. I had no idea PHP's "compiler" was that bad and
doesn't optimize this.
Change-Id: I39aec5f14f45b75a2467d8074b5ea2ffe5d4b856
The dbg_methods, dbg_variables and dbg_stacktrace tables are not
needed by the current VisualFAIL implementation.
Change-Id: I5f685c7d8100fe57fb2a23e1f8161770e64c9464
Luckily this didn't work as advertised, as the global connection
variable wasn't imported into the functions' scopes.
Change-Id: I080a32c6418deb3da3578987ec8a181b047608ad
Up to now, the sanity checks only tested equivalence classes
determined by dynamic instructions (instr1/instr2), although the
actual timing boundaries (time1/time2) have been the really relevant
information for quite some time now. This change extends the checks
to time1/time2.
Change-Id: I53d1ed10684ff09f6b9f1245ef842dd0d85f2655
The sanity check testing whether the fault space is rectangular is
unnecessarily slow, as it joins the "trace" table without any reason,
and includes all variants instead of the currently imported one.
Change-Id: Icfe948290ec595209868952fc1639c979bd78d83
For the objdump retrieval, the result_VEZS.. was used. Instead of that
hardcoded string, the parameter should be used instead.
Change-Id: I757527bde2bb7ac0d4e98293b606ad8438cc76e4
This change implements the following:
-DwarfReader now exports the address range of linetable-entries instead of
only the first address
-ElfImporter saves this range alongside the mapping
Change-Id: I7fe6361178f761a8f605a44bb0183c56a236cc95
This change alters DwarfReader and import-trace's ElfImporter so that they use
unsigned int for static address and line numbers instead of signed int.
Change-Id: I84ebbb500afd7cd4d93b137a35dcf736dc679fab
Up to now, source code lines and mappings from static instruction
addresses to lines could be linked to the wrong file if
dbg_filename.path contained duplicates. This is unfortunately the
normal case when importing multiple variants of the same program into
the database.
Change-Id: I57e71379584d7b01177606192b3aa644846225db
This change removes the "--debug" parameter, which previously imported the
mapping of source code lines to static instructions into the database. This
mapping is useless by itself (i.e. without "--sources"), which is why its
code was refactored into the code handling "--sources".
Change-Id: I4700eb0a98661f4df9eb3c190f00dcbe4df0e200
This change makes all C++-based tools in tools/ abort when they
encounter an unknown commandline parameter (both option or
non-option). This has already caused some confusion, as in some cases
unexpected behaviour can be the result. For example, "prune-trace -t
mytrace.tc -d database" up to now ignored the "-t" parameter, took
"mytrace.tc" as the first non-option parameter (and ignored it); as no
option parameter may follow the non-option parameters, all other
options were ignored as well.
Change-Id: Ia0812a518c4760fa28ed54979c81f43fa7aa096e
By using the AliasedRegistry, "prune-trace --help" (and
"prune-trace -p '?'") now lists all available Pruners to the user.
Change-Id: Ib5e3d00aabc37e6d48d804d2d709812af3f7efb2
With this change, prune-trace checks for existing fsppilot/fspgroup
entries for each variant to be pruned, and skips the variant in this
case. This safety measure can be switched off with --overwrite.
Change-Id: I7e758a9853a25685ca176cf1a1810523753cdd4a
The FESamplingPruner implements the fault-expansion variance reduction
technique (FE-VRT) as described in: Smith, D. Todd and Johnson, Barry W. and
Andrianos, Nikos and Profeta, III, Joseph A., "A variance-reduction technique
via fault-expansion for fault-coverage estimation" (1997), 366--374.
Change-Id: I04a0c9bb2622974278bd8c73793e51451119e650
If no --variant / --benchmark is specified, it's more reasonable to
prune or run *all* variants/benchmarks (using the wildcard "%")
instead of defaulting to "none"/"none". The trivial case with only
one single variant/benchmark (which may still be "none"/"none" if
import-trace's default is used) is still covered by this new default
behavior.
Change-Id: I0e9001137d5e052183dd74211e2edbcfab749528
This change moves prune-trace's --variants-exclude / --benchmarks-exclude
capabilities to Database::get_variants() to make it available to all users.
Change-Id: Icbc6bb1a3ae7c846d2de40b881f47a9cc1ed7bbf