Commit graph

16 commits

Author SHA1 Message Date
Iain Buclaw
8f1ace879f Backport std.math fix from upstream DustMite 2022-07-06 19:46:23 +00:00
Vladimir Panteleev
39c73d82c2 Update DustMite
This updates the distributed version to the latest version including
the improvements from
https://dlang.org/blog/2020/04/13/dustmite-the-general-purpose-data-reduction-tool/

* d785720 Add "indent" split mode
* e77126f splitter: Speed up optimization
* e0138ca dustmite: Preserve no-remove flags when applying "Concat" reductions
* d501228 Don't move code marked as no-remove
* 4d361cb dustmite: Use templates instead of delegates for dump
* 772a8fb dustmite: Use lockingBinaryWriter
* 621991b dustmite: Bulk adjacent writes
* dbd493a splitter: Don't compile in a debug-only field
* d19b15e Add coverage analysis and upload to Coveralls
* 630cf9c Track each entity's parent entity
* f56f6a4 splitter: Make Entity members used only by splitter private
* be2c452 splitter: Fix Dscanner warning
* 70d5503 splitter: Delete unused label
* 0e788b5 Revert "Track each entity's parent entity"
* 1f1f732 splitter: Don't dereference enum AAs at runtime
* 3fea926 dustmite: Mark final classes as such
* 02f8b2e splitter: Mark Entity class final
* 2ca0522 Overhaul tree representation and edit algorithms
* d9da7cf dustmite: Fail no-op concat reductions
* d439fed dustmite: Remove the concatPerformed bodge
* 0ec8fc5 dustmite: Log inapplicable reductions
* 2e19085 dustmite: Fix a TODO
* ad4124f dustmite: Start a new iteration after a successful Concat reduction
* 6d0cd9f dustmite: Remove `reduction == initialReduction` lookahead hack
* f197986 dustmite: Get rid of the "root" global
* 690ab07 dustmite: Update the lookahead iterator's root according to predictions
* 0dc5e04 dustmite: Remove special handling for the first lookahead step
* 8b5f639 dustmite: Handle inapplicable reductions in lookahead
* fd45d61 dustmite: Fix placement of --version in help text
* bf407bc dustmite: Make descendant recounting incremental
* 6878138 dustmite: Clean up test directories before writing to them
* a269d25 dustmite: Distinguish zero and uninitialized digests in lookahead queue
* 9eb4126 dustmite: Move lookahead saving and process creation into worker thread
* 5034c01 polyhash: Initial commit
* 3d28c6e polyhash: Add some comments
* 751ea2b polyhash: Optimize calculating powers of p
* f675253 polyhash: Use decreasing powers of p, instead of increasing
* b1b76cd polyhash: Convert to an output range interface
* 62d145b License under Boost Software License 1.0
* 19f0200 polyhash: Add mod-q (with non-power-of-two q) support
* 5b80b03 Unify incremental and full updates of computed Entity fields
* f85acdf Switch to incremental polynomial hashing
* 401d408 Work around DMD bug 20677
* 575406e Speed up applyReduction.edit
* 23a67fb Re-optimize incrementally for the Concat reduction
* 80b7ba4 dustmite: Speed up removing dependencies under removed nodes
* ec81973 Speed up address comparison
* 26f2039 dustmite: Tweak tree initialization order
* d5523e1 splitter: Clear hash for killed entities
* 048a0fd Keep children of removed nodes in the tree
* 48ed0a5 dustmite: Make findEntity traverse dead nodes
* 196f5f7 dustmite: Improve dump formatting of redirects and dead entities
* 404c8f9 dustmite: With both --trace and --dump, save dumps during trace
* 72cd08c dustmite: Don't attempt to concatenate dead files
* 53d3bf6 dustmite: Recalculate dead entities recursively too
* c3d1215 dustmite: Traverse dead entities when editing them, too
* 226a651 dustmite: Do not copy dead entities for editing
* b8f2844 Maintain cached cumulative dependents per-node
* 9f5a4f1 dustmite: Create less garbage during I/O
* df752dc Maintain cached full content of each node
* 4b165e6 Revert "Maintain cached full content of each node"
* 965fbc3 dustmite: Speed up strategy iteration over dead nodes
* 15d0a8f dustmite: Remove use of lazy arguments in address iteration
* b5c1ec0 splitter: Fix lexing D raw string literals (r"...")
* 2630496 dustmite: Fix "reduced to empty set" message
* 9505bf6 dustmite: Fix recursion for dead nodes in recalculate
* 6764e8d dustmite: Add --in-place
* 3a76633 dustmite: Remove Reduction.target
* c04c843 dustmite: Replace Reduction.address with an Address*
* d2cfa23 dustmite: Allow the test function to take an array of reductions
* 5e510c8 dustmite: Introduce Reduction.Type.Swap
* d4303ca dustmite: Add fuzzing mode
* 5fffd18 dustmite: Split up the DustMiteNoRemove string literals
* 714ea99 dustmite: Allow --reduce-only and --no-remove rules to stack
* ca18a07 dustmite: Add --remove switch
* de92616 dustmite: Reorder --help text
* 157b305 dustmite: Remove trailing punctuation from --help text
* 6746464 Add --white-out option
* 6705a94 dustmite: Update tagline
* e76496f splitter: Make EntityRef.address const
* 4cfed4c dustmite: Add debug=DETERMINISTIC_LOOKAHEAD
* 214d000 dustmite: Add reduction application cache
* e859e86 dustmite: Grow reduction application cache dynamically
* fd3ad29 dustmite: Speed up dependency recalculation
* a10ef7f dustmite: Fix crash with --whiteout + --trace
* 256a651 dustmite: Speed up dumping
* df42f62 dustmite: Add --max-steps
* 886c6f2 dustmite: Make measure's delegate scoped
* 732d0f1 dustmite: Add more performance timers
* 05acf86 dustmite: Implement non-linear lookahead prediction
* 0a7a937 dustmite: Improve prediction formula
* 990b3bc splitter: Improve parsing of successive keyword-prefixed blocks
* cb0855d dustmite: Make detection of suspicious files non-fatal
2020-11-23 09:47:39 +01:00
Vladimir Panteleev
c5d4547f26 Update DustMite
* 234d1ee dustmite: Fix condition for printing "empty set" wiki link
* 66f2083 dustmite: Add links to wiki documentation
* 263d658 dustmite: Be more verbose why test commands fail
* ad0877d dustmite: Add --version
* de78d64 splitter: Avoid nondeterminism due to undefined AA iteration order
* b918e2d splitter: Whitespace cleanup
2019-08-16 11:57:17 +00:00
Sebastian Wilzbach
d130d80840 Make DustMite -dip25 compliant 2018-12-29 14:29:25 +01:00
Sebastian Wilzbach
a02a067b09 Update DustMite to 7403f0d053b96b2c21950df038923b5d335d557f 2017-10-05 13:45:28 +02:00
Vladimir Panteleev
48c042409e Update DustMite
Commits:

* 4d53db1 dustmite: Fix incorrect path with --no-redirect
* 4414dd6 Fix parsing of empty files
* fe562e6 splitter: Improve removing of template arguments
* 6517c6e splitter: Fix usage of auto-decoding strip()
* 0263dab splitter: Remove arguments in any order
* ef5a2ed splitter: Recognize template parameters
* 3370e2c splitter: Optimize identifier token check
* 56f3122 splitter: Use tokenLookup in arg paren search
* 2546a5a splitter: Don't attempt argument reduction for D keywords
* c671d72 splitter: Add basic parameter removal
* 91ec2aa dustmite: Propagate noRemove through dependencies
* 10c1209 dustmite: Fix building on Windows
* 15693cb dustmite: Optimize lookahead
* acf667d dustmite: Improve parsing of lookahead option
* b61c5f9 dustmite: Optimize lookahead
* 7e76bb9 dustmite: Add lookahead
* 2df20e7 dustmite: Set directory via spawnShell argument, not chdir
* 44e8fa2 dustmite: Sort imports
* 1cbe15e dustmite: Refactor reduction iteration into a state machine
* 2ca8f1f dustmite: Delete old imperative code
* 54321df dustmite: Refactor strategy code from imperative style to state machines
* c15b2ca splitter: Fix compilation
* 270206c dustmite: Detect some common test program mistakes
* 4f41eec dustmite: Add --no-redirect hint on initial test failure
* cec7180 splitter: Unconditionally show load progress
2016-08-08 19:42:42 +00:00
Vladimir Panteleev
1938f39cd4 Update DustMite
* 311e457 tests: Support running tests on POSIX
* 2a1b481 .gitignore
* edc17f1 dustmite: Don't use floating-point to calculate progress
* e952bdc dustmite: Make --obfuscate --keep-length results not depend on bitness
* a3664e9 tests: dos2unix (opts.txt)
* 042fe0c splitter: Enforce order of read files
* e9736b5 Use UNIX line endings in --dump output
* 53ff3f4 dos2unix
* a4c1aa8 tests: Add imports-only test
* 3498068 tests: Add test for full reduction to empty set
* d0482ee dustmite: Emit special message when reducing to empty set
* 07f05ca dustmite: Don't attempt to reduce empty root
* 1e01585 Fix descendant counter when removing root
* 0efbe54 Add --reduce-only
* 60293fb splitter: Don't go into an infinite loop in postProcessBlockKeywords
* ec08b00 Add --no-redirect switch
* 955f569 Merge pull request #25 from John-Colvin/patch-2
* 14b3aca making sure to use std.algorithm.sort, not builtin
2016-03-06 12:56:04 +00:00
Martin Nowak
ef34cabd95 Merge pull request #162 from CyberShadow/pull-20150219-003130-dustmite
Update DustMite
2015-02-28 21:10:59 +01:00
Vladimir Panteleev
f1b065dfcb Merge pull request #147 from tom-tan/fix-dustmite
Fix warnings in dustmite
2014-10-01 06:29:45 +00:00
Tomoya Tanjo
e0d9de5ce7 Fix warning in dustmite 2014-10-01 15:24:16 +09:00
Vladimir Panteleev
d05f61dc71 Update DustMite
Commits:
* ce686c0 splitter: Improve EOF handling
* ff4f094 Add eol test (current result: DustMite crashes)
* 529a3f4 splitter: Fix words and lines splitters
* 258f68b tests: Fix lines test
* 02f9043 tests: Update words test result
* 2144de1 tests: Add c++ (dump only)
* 98bd679 tests: Add lines test
* c160f40 splitter: Add lines splitter
* 1f8c7ab tests: Add words test
* 5f03fc7 Add --split option
* d6fdb4c dustmite: Reconcile dashes in negative switches (recognize both)
* d770e2f splitter: Fix propagating noRemove during optimization
* 8d00012 Tweak noremove2 test
* ef59cea Add noremove2 test
* 2f0f2dd splitter: Wrap all of a file's entities into one
* b5ab6c4 tests: Add "empty" test
* 987eee9 dustmite: Redirect tester to nul automatically
2014-08-01 23:39:11 +00:00
Vladimir Panteleev
3df025e5e8 Update Dustmite
Commits:
* f60abab splitter: Improve parens postprocessor
* 359c8a1 splitter: Add parens postprocessor
* 19e2774 splitter: Fix handling of trailing comments/whitespace
* ee5f31c splitter: Improve "else" handling
* 23b5186 dustmite: Change default strategy to inbreadth
* a8d9681 Add inbreadth strategy
* 306c9d4 Add pingpong strategy
* 3f4bf00 dustmite: Autoretry cache writes
* b7354d7 dustmite: Add --strategy switch
* 99a8169 splitter: Tweak block statement postprocessor
* 919b3ac splitter: Tweak block keyword postprocessor
* 95a3e69 splitter: Tweak pairing postprocessor
* 50e4ac5 splitter: Recognize function invariants
* 1aa5dff splitter: Reimplement pairs like any other separators
* 26b4aa6 runtests fixup
* 400e3d7 dustmite: Add --dump-html
* c66780e Add enum test
* 3cdc67f runtests: Add support for dump-only tests
* 80acb1b Fix maximum depth of dependency postprocessor output to be logarithmic
* 5f77e4a Add list test
* 5221a07 splitter: Pairing postprocessor fixes
* d2276f6 splitter: Group if/else together
* afc911a .gitignore
* 7d58f28 tests: Add UDAs to obfuscation tests
* 5d19124 runtests: Print which tests failed to finish
* f89898f New splitter module
* 3a90ebf dustmite: Improve --dump dependency formatting
* 711aa2b runtests: Run dustmite via rdmd
* 0f869bd Use unseeded RNG for --obfuscate --keep-length
* bc2e233 tests: Version progress (filtered reduction output)
* fd63894 Use src.result for final, versioned result
* d83dafb Add current test results
* 0550cc5 runtests: Pass opts when dumping as well
* d471242 .gitignore
* 5e52252 runtests: Fix opts loading
* bee1600 Fix coverage test
* 13d0300 Add test runner
* 0a180b6 Test command fixes
* 96570ef Add existing tests (most results are outdated)
* 75b0108 Add .gitignore
* e27ef66 dsplit: Don't consume whitespace after closing a pair
* 10d2fc5 dsplit: Split by .
* 0311f50 dsplit: Improve ! splitting
* 613459f dsplit: Split by !
* fb52bf3 dsplit: Unwrap useless nesting
* d16ea86 dsplit: Improve whitespace splitting
2014-04-14 08:55:37 +00:00
Vladimir Panteleev
bea9b9957d Update DustMite
Commits:
* 1f0a0cd dustmite: Fix deprecated use of canFind
* 1035b15 dustmite: Improve progress indicator accuracy
* 556a9ab dsplit: Avoid stack overflow with very long lists
* 6b8f49c Avoid std.string.startsWith, which does pointless UTF-8 decoding
* 8eb5282 dsplit: Don't parse DDoc files as D source
* 403ef2f dsplit: Fix possible range violations in skipSymbol
2014-01-07 12:05:01 +00:00
Martin Nowak
3c1f0c8027 Update DustMite
Commits:
* 9abec53 dustmite: Use std.digest.md
* 135b7d5 dsplit: Parse directives (#-lines)
2013-10-11 19:37:47 +02:00
Vladimir Panteleev
70d816ede2 Update DustMite
Commits:
* 4b953aa Fix list-splitting post-processor
* 9a6e3ce --dump and --trace now use unique entity IDs
* aa32805 Add --trace debugging option
* f18950b Fix reducing individual files
* b2c8c31 Don't concat pointlessly
* fa5d982 Create disk cache directory if it doesn't exist
* 776eb9a Fix calculating sibling directory paths for . and ..
* 24ebc57 Add Concat reduction type (concatenate all data into a single file)
* 274c0a2 Fix checkDescendants
2013-06-11 16:42:54 +00:00
Walter Bright
fc3ac480c8 add Vladimir Panteleev's DustMite 2013-02-18 19:43:13 -08:00