Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🎉 Zstd 1.5.0 Release 🎉 #2636

Merged
merged 225 commits into from
May 14, 2021
Merged

🎉 Zstd 1.5.0 Release 🎉 #2636

merged 225 commits into from
May 14, 2021

Commits on May 7, 2020

  1. [contrib] Support seek table-only API

    Memory constrained use cases that manage multiple archives benefit from
    retaining multiple archive seek tables without retaining a ZSTD_seekable
    instance for each.
    
    * New opaque type for seek table: ZSTD_seekTable.
    * ZSTD_seekable_copySeekTable() supports copying seek table out of a
      ZSTD_seekable.
    * ZSTD_seekTable_[eachSeekTableOp]() defines seek table API that mirrors
      existing seek table operations.
    * Existing ZSTD_seekable_[eachSeekTableOp]() retained; they delegate to
      ZSTD_seekTable the variant.
    
    These changes allow the above-mentioned use cases to initialize a
    ZSTD_seekable, extract its ZSTD_seekTable, then throw the ZSTD_seekable
    away to save memory. Standard ZSTD operations can then be used to
    decompress frames based on seek table offsets.
    
    The copy and delegate patterns are intended to minimize impact on
    existing code and clients. Using copy instead of move for the infrequent
    operation extracting a seek table ensures that the extraction does not
    render the ZSTD_seekable useless. Delegating to *new* seek
    table-oriented APIs ensures that this is not a breaking change for
    existing clients while supporting all meaningful operations that depend
    only on seek table data.
    mdittmer committed May 7, 2020
    Configuration menu
    Copy the full SHA
    9b8f337 View commit details
    Browse the repository at this point in the history

Commits on Mar 2, 2021

  1. Merge pull request #2113 from mdittmer/expose-seek-table

    [contrib] Support seek table-only API
    Cyan4973 authored Mar 2, 2021
    Configuration menu
    Copy the full SHA
    ce6d1b9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    3cbdbb8 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    527a20c View commit details
    Browse the repository at this point in the history
  4. fix potential leak on exit

    Cyan4973 committed Mar 2, 2021
    Configuration menu
    Copy the full SHA
    a80b10f View commit details
    Browse the repository at this point in the history
  5. fixed const guarantees

    read-only objects are properly const-ified in parameters
    Cyan4973 committed Mar 2, 2021
    Configuration menu
    Copy the full SHA
    c7e42e1 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    029f974 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    eb1a09d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    4d6c78f View commit details
    Browse the repository at this point in the history

Commits on Mar 3, 2021

  1. various minor style fixes

    Cyan4973 committed Mar 3, 2021
    Configuration menu
    Copy the full SHA
    ac95a30 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2516 from senhuang42/seekable_hang_fix

    Seekable hang fix
    senhuang42 authored Mar 3, 2021
    Configuration menu
    Copy the full SHA
    0388054 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    24d59a6 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a1d7b9d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    6c0bfc4 View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2021

  1. Configuration menu
    Copy the full SHA
    713d495 View commit details
    Browse the repository at this point in the history
  2. added test case for seekTable API

    and simple roundtrip test
    Cyan4973 committed Mar 4, 2021
    Configuration menu
    Copy the full SHA
    16ec1cf View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0933775 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6e390ce View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    2fa4c8c View commit details
    Browse the repository at this point in the history
  6. Merge pull request #2518 from facebook/seekTable

    New direct seekTable access methods
    Cyan4973 authored Mar 4, 2021
    Configuration menu
    Copy the full SHA
    c4d54ab View commit details
    Browse the repository at this point in the history

Commits on Mar 5, 2021

  1. Reduce stack usage of ZSTD_buildCTable()

    It is a stack high-point for some compression strategies and has an easy
    fix. This moves the normalized count into the entropy workspace.
    terrelln committed Mar 5, 2021
    Configuration menu
    Copy the full SHA
    27498ff View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2522 from terrelln/stack-reduction

    Reduce stack usage of ZSTD_buildCTable()
    terrelln authored Mar 5, 2021
    Configuration menu
    Copy the full SHA
    e50f88c View commit details
    Browse the repository at this point in the history
  3. Add HUF_writeCTable_wksp() function

    This saves ~700 bytes of stack space in HUF_writeCTable.
    terrelln committed Mar 5, 2021
    Configuration menu
    Copy the full SHA
    5df2a21 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #2523 from terrelln/huf-stack-reduction

    Add HUF_writeCTable_wksp() function
    terrelln authored Mar 5, 2021
    Configuration menu
    Copy the full SHA
    b5fd348 View commit details
    Browse the repository at this point in the history
  5. [huf] Reduce stack usage of HUF_readDTableX2 by ~460 bytes

    * Use `HUF_readStats_wksp()`
    * Use workspace in `HUF_fillDTableX2*()`
    * Clean up workspace usage to use a workspace struct
    terrelln committed Mar 5, 2021
    Configuration menu
    Copy the full SHA
    0f18059 View commit details
    Browse the repository at this point in the history
  6. [fse] Reduce stack usage of FSE_decompress_wksp() by 512 bytes

    * Move `counting` into the workspace
    * Inrease `HUF_DECOMPRESS_WORKSPACE_SIZE` by 512 bytes
    terrelln committed Mar 5, 2021
    Configuration menu
    Copy the full SHA
    3b1aba4 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2021

  1. Merge pull request #2521 from animalize/doc_free

    doc: ZSTD_free*() functions accept NULL pointer
    Cyan4973 authored Mar 7, 2021
    Configuration menu
    Copy the full SHA
    3d6c903 View commit details
    Browse the repository at this point in the history

Commits on Mar 8, 2021

  1. Merge pull request #2517 from PaulBone/num_cores

    Make the number of physical CPU cores detection more robust
    senhuang42 authored Mar 8, 2021
    Configuration menu
    Copy the full SHA
    a3feed8 View commit details
    Browse the repository at this point in the history

Commits on Mar 12, 2021

  1. Add GitHub Action to Automatically Publish Release Tarballs

    This commit introduces a GitHub action that is triggered on release creation,
    which creates the release tarball, compresses it, hashes it, signs it, and
    attaches all of those files to the release.
    felixhandte committed Mar 12, 2021
    Configuration menu
    Copy the full SHA
    5d1fec8 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    21697b9 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    3c6f5d5 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a51511e View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2021

  1. Configuration menu
    Copy the full SHA
    316f3d2 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2021

  1. Maintain Artifact Name Backwards Compatibility

    When the tag is `v1.2.3`, name the artifacts `zstd-1.2.3.tar*` rather than
    `zstd-v1.2.3.tar*`. When the tag doesn't match, use the full tag.
    felixhandte committed Mar 15, 2021
    Configuration menu
    Copy the full SHA
    eed64d7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d2b7f2e View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2535 from felixhandte/gha-release-artifacts

    Add GitHub Action to Automatically Publish Release Tarballs
    felixhandte authored Mar 15, 2021
    Configuration menu
    Copy the full SHA
    d1a6d08 View commit details
    Browse the repository at this point in the history

Commits on Mar 16, 2021

  1. Configuration menu
    Copy the full SHA
    b9dd821 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2534 from foxeng/fix-seek-descriptor-check

    Fix seek table descriptor check when loading
    senhuang42 authored Mar 16, 2021
    Configuration menu
    Copy the full SHA
    413b319 View commit details
    Browse the repository at this point in the history
  3. [contrib][linux-kernel] Fix unaligned.h

    Fix the `unaligned.h` shim in the tests that was causing corruption in
    the tests. Note that this is a problem with the test shim, not the
    kernel code.
    terrelln committed Mar 16, 2021
    Configuration menu
    Copy the full SHA
    d2dd35a View commit details
    Browse the repository at this point in the history
  4. [contrib][linux-kernel] Update test include stubs

    Update the test include stubs so they are able to run the current zstd
    version in the kernel, so I can compare stack usage.
    terrelln committed Mar 16, 2021
    Configuration menu
    Copy the full SHA
    49a9e07 View commit details
    Browse the repository at this point in the history
  5. [contrib][linux] Expose zstd headers to avoid duplication

    Expose the zstd headers in `include/linux` to avoid struct duplication.
    This makes the member names not follow Kernel style guidelines, and
    exposes the zstd symbols. But, the LMKL reviewers are okay with that.
    terrelln committed Mar 16, 2021
    Configuration menu
    Copy the full SHA
    e4b914e View commit details
    Browse the repository at this point in the history
  6. [contrib][freestanding] Remove tracing support

    Remove tracing support from `freestanding.py` to keep things simple.
    terrelln committed Mar 16, 2021
    Configuration menu
    Copy the full SHA
    7222614 View commit details
    Browse the repository at this point in the history
  7. [lib][tracing] Add ZSTD_NO_TRACE macro

    When defined, it disables tracing, and avoids including the header.
    terrelln committed Mar 16, 2021
    Configuration menu
    Copy the full SHA
    cd1551d View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    ea288e0 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    9876449 View commit details
    Browse the repository at this point in the history
  10. Add a nbSeq argument to compressSequences()

    Refactor ZSTD_compressBlock_internal() to do the block header write within and add nbSeq argument to compressSequences()
    senhuang42 committed Mar 16, 2021
    Configuration menu
    Copy the full SHA
    386111a View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2021

  1. Configuration menu
    Copy the full SHA
    77ae664 View commit details
    Browse the repository at this point in the history
  2. simple fix for using bit operator.

    good day.
    It seems to me that the developer intended to use a logical operator.
    so I suggest a simple fix.
    ihsinme authored Mar 17, 2021
    Configuration menu
    Copy the full SHA
    a5bf09d View commit details
    Browse the repository at this point in the history
  3. [huf][fse] Clean up workspaces

    * Move `counting` to a struct in `FSE_decompress_wksp_body()`
    * Fix error code in `FSE_decompress_wksp_body()`
    * Rename a variable in `HUF_ReadDTableX2_Workspace`
    terrelln committed Mar 17, 2021
    Configuration menu
    Copy the full SHA
    756bd59 View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2021

  1. Merge pull request #2540 from senhuang42/fix_dds_supported

    Fix dedicated dict search isSupported() requirements.
    senhuang42 authored Mar 18, 2021
    Configuration menu
    Copy the full SHA
    eace4ab View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2021

  1. Configuration menu
    Copy the full SHA
    edf2b11 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2548 from SupervisedThinking/build_fix

    meson: fix build by adding missing files
    Cyan4973 authored Mar 19, 2021
    Configuration menu
    Copy the full SHA
    5158071 View commit details
    Browse the repository at this point in the history
  3. Refactor prefetching for the decoding loop

    Following #2545,
    I noticed that one field in `seq_t` is optional,
    and only used in combination with prefetching.
    (This may have contributed to static analyzer failure to detect correct initialization).
    
    I then wondered if it would be possible to rewrite the code
    so that this optional part is handled directly by the prefetching code
    rather than delegated as an option into `ZSTD_decodeSequence()`.
    
    This resulted into this refactoring exercise
    where the prefetching responsibility is better isolated into its own function
    and `ZSTD_decodeSequence()` is streamlined to contain strictly Sequence decoding operations.
    Incidently, due to better code locality,
    it reduces the need to send information around,
    leading to simplified interface, and smaller state structures.
    Cyan4973 committed Mar 19, 2021
    Configuration menu
    Copy the full SHA
    f543466 View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2021

  1. fix #2549

    Cyan4973 committed Mar 21, 2021
    Configuration menu
    Copy the full SHA
    9fb4a42 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dff4a0e View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2021

  1. Configuration menu
    Copy the full SHA
    8b97931 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    634bfd3 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2524 from terrelln/huf-stack-reduction

    [huf] Reduce stack usage of HUF_readDTableX2 by ~972 bytes
    terrelln authored Mar 22, 2021
    Configuration menu
    Copy the full SHA
    ebc2dfa View commit details
    Browse the repository at this point in the history
  4. Merge pull request #2538 from senhuang42/monotonicity_test

    Add memory monotonicity test over srcSize
    senhuang42 authored Mar 22, 2021
    Configuration menu
    Copy the full SHA
    c48889f View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2021

  1. fix man page typo

    fix #2553 detected by @jwilk
    Cyan4973 committed Mar 24, 2021
    Configuration menu
    Copy the full SHA
    0f99a0d View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c05c090 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2949a95 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    c56d6e4 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f06f662 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    de52de1 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    e2bb215 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    eb1ee86 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    0633bf1 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    41c3eae View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    e343328 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    c90e81a View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    0ef1f93 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    5b566eb View commit details
    Browse the repository at this point in the history
  15. Merge pull request #2554 from facebook/fix2553

    fix man page typo
    Cyan4973 authored Mar 24, 2021
    Configuration menu
    Copy the full SHA
    8889ca3 View commit details
    Browse the repository at this point in the history
  16. Merge pull request #2447 from senhuang42/block_splitter_v2

    Recursive block splitting
    senhuang42 authored Mar 24, 2021
    Configuration menu
    Copy the full SHA
    bf542c8 View commit details
    Browse the repository at this point in the history
  17. Merge pull request #2539 from terrelln/linux-kernel-fixes

    Fixes for the next linux kernel patch version
    terrelln authored Mar 24, 2021
    Configuration menu
    Copy the full SHA
    f8ac0ea View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2021

  1. Configuration menu
    Copy the full SHA
    e398744 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    2a907bf View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ef4e26b View commit details
    Browse the repository at this point in the history
  4. Merge pull request #2555 from senhuang42/default_clevel_func

    Add ZSTD_defaultCLevel() function to public API
    senhuang42 authored Mar 25, 2021
    Configuration menu
    Copy the full SHA
    b0407b9 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    1cadf86 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    f27e326 View commit details
    Browse the repository at this point in the history
  7. Merge pull request #2558 from senhuang42/msan_block_splitter_fix

    Fix block splitter minor MSAN warning.
    senhuang42 authored Mar 25, 2021
    Configuration menu
    Copy the full SHA
    4fe2e7a View commit details
    Browse the repository at this point in the history
  8. Update results.csv

    senhuang42 committed Mar 25, 2021
    Configuration menu
    Copy the full SHA
    bbbd578 View commit details
    Browse the repository at this point in the history
  9. Merge pull request #2559 from senhuang42/add_dict_regression_tests_ba…

    …ckup
    
    Add different dict modes to compression ratio regression test, update results.csv
    senhuang42 authored Mar 25, 2021
    Configuration menu
    Copy the full SHA
    ab216bc View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2021

  1. Configuration menu
    Copy the full SHA
    b1a4345 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2561 from senhuang42/longlength_enum

    Add enum for representing long length ID
    senhuang42 authored Mar 26, 2021
    Configuration menu
    Copy the full SHA
    84ccb81 View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2021

  1. [copyright][license] Switch to yearless copyright and some cleanup in…

    … the linux-kernel files
    
    * Switch to yearless copyright per FB policy
    * Fix up SPDX-License-Identifier lines in `contrib/linux-kernel` sources
    * Add zstd copyright/license header to the `contrib/linux-kernel` sources
    * Update the `tests/test-license.py` to check for yearless copyright
    * Improvements to `tests/test-license.py`
    * Check `contrib/linux-kernel` in `tests/test-license.py`
    terrelln committed Mar 30, 2021
    Configuration menu
    Copy the full SHA
    a494308 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d334ad2 View commit details
    Browse the repository at this point in the history

Commits on Mar 31, 2021

  1. Fix repcode-related OSS-fuzz issues in block splitter (#2560)

    * Do not emit last partitions of blocks as RLE/uncompressed
    
    * Fix repcode updates within block splitter
    
    * Add a entropytables confirm function, redo ZSTD_confirmRepcodesAndEntropyTables() for better function signature
    
    * Add a repcode updater to block splitter, no longer need to force emit compressed blocks
    senhuang42 authored Mar 31, 2021
    Configuration menu
    Copy the full SHA
    255925c View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2021

  1. [cwksp] Align all allocated "tables" and "aligneds" to 64 bytes (#2546)

    * Perform 64-byte alignment of wksp tables and aligneds internally
    
    * Clean up cwskp_finalize() function to only do two allocs
    
    * Refactor aligned/buffer reservation code, remove ASAN req for alignment reservations
    
    * Change from allocating 128 bytes always to allocating only buffer space as needed for tables/aligned
    
    * Back out aligned/table reservation order restriction
    
    * Add stricter bounds for new/resized wksps, fix comment in zstd_cwksp.h
    senhuang42 authored Apr 2, 2021
    Configuration menu
    Copy the full SHA
    980f3bb View commit details
    Browse the repository at this point in the history
  2. Stop complaining about hash tool not found

    If build_dir is set the zstd build complains about md5sum not being found.
    Fix this by checking if build_dir is set before checking and using the hash tool
    just like in lib/Makefile .
    niclasr authored and terrelln committed Apr 2, 2021
    Configuration menu
    Copy the full SHA
    e764718 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2541 from ihsinme/patch-1

    simple fix for using bit operator.
    terrelln authored Apr 2, 2021
    Configuration menu
    Copy the full SHA
    8383fc8 View commit details
    Browse the repository at this point in the history

Commits on Apr 6, 2021

  1. Fix dictionary force reloading clevel selection (#2570)

    * Move cdict clevel override to before localdict init
    
    * Update results.csv after dict load changes
    senhuang42 authored Apr 6, 2021
    Configuration menu
    Copy the full SHA
    e381245 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    f1e8b56 View commit details
    Browse the repository at this point in the history

Commits on Apr 7, 2021

  1. Configuration menu
    Copy the full SHA
    f71aabb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4694423 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4d63d6e View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2021

  1. Merge pull request #2494 from senhuang42/row_hash2

    SIMD Row Based Matchfinder 🚀
    senhuang42 authored Apr 8, 2021
    Configuration menu
    Copy the full SHA
    56421f3 View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2021

  1. Configuration menu
    Copy the full SHA
    550f76f View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2021

  1. Configuration menu
    Copy the full SHA
    8844f93 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2572 from senhuang42/row_hash_hashcache_one_off_e…

    …rror_fix
    
    Adjust nb elements to prefetch in ZSTD_row_fillHashCache()
    senhuang42 authored Apr 12, 2021
    Configuration menu
    Copy the full SHA
    ebd41eb View commit details
    Browse the repository at this point in the history

Commits on Apr 13, 2021

  1. Merge pull request #2574 from senhuang42/repcode_mismatch_detector_fix

    Correct the block splitter mismatched repcodes detection.
    senhuang42 authored Apr 13, 2021
    Configuration menu
    Copy the full SHA
    12c045f View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2021

  1. Configuration menu
    Copy the full SHA
    9c1ca3c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c586967 View commit details
    Browse the repository at this point in the history

Commits on Apr 19, 2021

  1. Configuration menu
    Copy the full SHA
    3b98987 View commit details
    Browse the repository at this point in the history
  2. Remove ZBUFF tests

    senhuang42 committed Apr 19, 2021
    Configuration menu
    Copy the full SHA
    a423305 View commit details
    Browse the repository at this point in the history

Commits on Apr 20, 2021

  1. Merge pull request #2583 from senhuang42/remove_zbuff

    [1.5.0] Remove ZBUFF
    senhuang42 authored Apr 20, 2021
    Configuration menu
    Copy the full SHA
    3eb3845 View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2021

  1. Add DDS to oss fuzzer

    senhuang42 committed Apr 22, 2021
    Configuration menu
    Copy the full SHA
    f80dec6 View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2021

  1. Apply DDS adjustments to avoid assert failures

    felixhandte authored and senhuang42 committed Apr 23, 2021
    Configuration menu
    Copy the full SHA
    efa6dfa View commit details
    Browse the repository at this point in the history

Commits on Apr 24, 2021

  1. Merge pull request #2586 from senhuang42/dds_fuzz

    Add DDS to oss fuzzer
    senhuang42 authored Apr 24, 2021
    Configuration menu
    Copy the full SHA
    14c11c7 View commit details
    Browse the repository at this point in the history

Commits on Apr 26, 2021

  1. Configuration menu
    Copy the full SHA
    3c595a4 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2579 from senhuang42/getcdictID_to_stable

    [1.5.0] Promote ZSTD_getDictID_fromCDict() into stable API
    senhuang42 authored Apr 26, 2021
    Configuration menu
    Copy the full SHA
    3e2fbfd View commit details
    Browse the repository at this point in the history
  3. Update results.csv

    senhuang42 committed Apr 26, 2021
    Configuration menu
    Copy the full SHA
    33abda4 View commit details
    Browse the repository at this point in the history
  4. [trace] Remove default definitions of weak symbols

    Instead of providing a default no-op implementation, check the symbols
    for `NULL` before accessing them. Providing a default implementation
    doesn't reliably work with dynamic linking. Depending on link order the
    default implementations may not be overridden. By skipping the default
    implementation, all link order issues are resolved. If the symbols
    aren't provided the weak function will be `NULL`.
    terrelln committed Apr 26, 2021
    1 Configuration menu
    Copy the full SHA
    6cee3c2 View commit details
    Browse the repository at this point in the history

Commits on Apr 27, 2021

  1. Merge pull request #2588 from senhuang42/update_regressiontest

    [regressiontest] Update results.csv
    senhuang42 authored Apr 27, 2021
    Configuration menu
    Copy the full SHA
    f8afc66 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2589 from terrelln/tracing

    [trace] Remove default definitions of weak symbols
    terrelln authored Apr 27, 2021
    Configuration menu
    Copy the full SHA
    333dd60 View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2021

  1. [linux-kernel] Replace kernel-style comments

    Replace kernel-style comments with regular comments.
    
    E.g.
    
    ```
    /** Before */
    
    /* After */
    
    /**
     * Before
     */
    
    /*
     * After
     */
    
    /***********************************
     * Before
     ***********************************/
    
    /* *********************************
     * After
     ***********************************/
    ```
    terrelln committed Apr 29, 2021
    Configuration menu
    Copy the full SHA
    fbb9006 View commit details
    Browse the repository at this point in the history

Commits on Apr 30, 2021

  1. Merge pull request #2593 from terrelln/linux-comments

    [linux-kernel] Replace kernel-style comments
    terrelln authored Apr 30, 2021
    Configuration menu
    Copy the full SHA
    0e2345b View commit details
    Browse the repository at this point in the history
  2. [1.5.0] Move zstd_errors.h and zdict.h to lib/ root

    `zstd_errors.h` and `zdict.h` are public headers, so they deserve to be
    in the root `lib/` directory with `zstd.h`, not mixed in with our private
    headers.
    terrelln committed Apr 30, 2021
    Configuration menu
    Copy the full SHA
    09149be View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    61fe571 View commit details
    Browse the repository at this point in the history

Commits on May 2, 2021

  1. Configuration menu
    Copy the full SHA
    0dabbd4 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2021

  1. Merge pull request #2580 from senhuang42/defaultclevel_to_stable

    [1.5.0] Promote ZSTD_defaultCLevel() into stable API
    senhuang42 authored May 3, 2021
    Configuration menu
    Copy the full SHA
    cdc979d View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2581 from senhuang42/lcm_stable

    [1.5.0] Promote ZSTD_c_literalCompressionMode to stable params
    senhuang42 authored May 3, 2021
    Configuration menu
    Copy the full SHA
    4c5cc34 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2598 from senhuang42/reduce_index_rowhash_fix

    Fix chaintable check to include rowhash in ZSTD_reduceIndex()
    senhuang42 authored May 3, 2021
    Configuration menu
    Copy the full SHA
    cc31bb8 View commit details
    Browse the repository at this point in the history
  4. Bug fix & run overflow correction much more frequently in tests

    * Fix overflow correction when `windowLog < cycleLog`. Previously, we
      got the correction wrong in this case, and our chain tables and binary
      trees would be corrupted. Now, we work as long as `maxDist` is a power
      of two, by adding `MAX(maxDist, cycleSize)` to our indices.
    * When `ZSTD_WINDOW_OVERFLOW_CORRECT_FREQUENTLY` is defined to non-zero
      run overflow correction as frequently as allowed without impacting
      compression ratio.
    * Enable `ZSTD_WINDOW_OVERFLOW_CORRECT_FREQUENTLY` in `fuzzer` and
      `zstreamtest` as well as all the OSS-Fuzz fuzzers. This has a 5-10%
      speed penalty at most, which seems reasonable.
    terrelln committed May 3, 2021
    Configuration menu
    Copy the full SHA
    34aff7e View commit details
    Browse the repository at this point in the history
  5. [tests] Reduce memory usage of MT CLI tests

    Switch from `-T0` to the default `-T1` which significantly reduces
    memory usage for level 19 when there are many cores. This fixes
    32-bit issues of running out of address space.
    
    Fixes #2603.
    terrelln committed May 3, 2021
    Configuration menu
    Copy the full SHA
    2e4fca3 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2021

  1. Merge pull request #2603 from terrelln/reduce-indices-fuzzer

    Bug fix & run overflow correction much more frequently in tests
    terrelln authored May 4, 2021
    Configuration menu
    Copy the full SHA
    0b370e9 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2606 from terrelln/test-memory

    [tests] Reduce memory usage of MT CLI tests
    terrelln authored May 4, 2021
    Configuration menu
    Copy the full SHA
    6f40571 View commit details
    Browse the repository at this point in the history
  3. Documented minimum version numbers

    Any stable API entry point introduced after v1.0
    should be documented with its minimum version number.
    
    Since PR fixes this requirement
    updating mostly new entry points since v1.4.0
    and newly introduced ones for future v1.5.0.
    Cyan4973 committed May 4, 2021
    Configuration menu
    Copy the full SHA
    8aafbd3 View commit details
    Browse the repository at this point in the history
  4. Detect Presence of md5 on Darwin

    This fixes #2568.
    felixhandte committed May 4, 2021
    Configuration menu
    Copy the full SHA
    ee122ba View commit details
    Browse the repository at this point in the history
  5. [LDM] Speed optimization on repetitive data

    LDM does especially poorly on repetitive data when that data's hash happens
    to have `(hash & stopMask) == 0`. Either because the `stopMask == 0` or
    random chance. Optimize this case by skipping over repetitive patterns.
    The detection is very simplistic, but should catch most of the offending
    cases.
    
    ```
    head -c 1G /dev/zero | perf stat -- ./zstd -1 -o /dev/null -v --zstd=ldmHashRateLog=1 --long
          21.187881087 seconds time elapsed
    
    head -c 1G /dev/zero | perf stat -- ./zstd -1 -o /dev/null -v --zstd=ldmHashRateLog=1 --long
           1.149707921 seconds time elapsed
    
    ```
    terrelln committed May 4, 2021
    Configuration menu
    Copy the full SHA
    32823bc View commit details
    Browse the repository at this point in the history
  6. allow jobSize to be as low as 512 KB

    previous lower limit was 1 MB.
    
    Note : by default, the lowest job size is 2 MB, achieved at level 1.
    Even lower job sizes can be achieved by manipulating this value directly,
    or manually modifying window sizes to lower amounts.
    
    Updated unit test to ensure that this new limit works fine
    (test would fail with previous 1 MB limit).
    Cyan4973 committed May 4, 2021
    Configuration menu
    Copy the full SHA
    8f86c29 View commit details
    Browse the repository at this point in the history
  7. Merge pull request #2609 from felixhandte/md5sum-darwin

    Detect Presence of `md5` on Darwin
    felixhandte authored May 4, 2021
    Configuration menu
    Copy the full SHA
    da74f1c View commit details
    Browse the repository at this point in the history
  8. Merge pull request #2597 from terrelln/public-headers

    [1.5.0] Move `zstd_errors.h` and `zdict.h` to `lib/` root
    terrelln authored May 4, 2021
    Configuration menu
    Copy the full SHA
    a8ecf4f View commit details
    Browse the repository at this point in the history
  9. [easy] Rewrite rowHashLog computation

    `ZSTD_highbit32(1u << x) == x` when it isn't undefined behavior.
    terrelln committed May 4, 2021
    Configuration menu
    Copy the full SHA
    1ffa80a View commit details
    Browse the repository at this point in the history
  10. Merge pull request #2608 from facebook/docMinVer

    Documented minimum version numbers
    Cyan4973 authored May 4, 2021
    Configuration menu
    Copy the full SHA
    40cabd0 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    33f3e29 View commit details
    Browse the repository at this point in the history
  12. Merge pull request #2612 from terrelln/minor-fix

    [easy] Rewrite rowHashLog computation
    terrelln authored May 4, 2021
    Configuration menu
    Copy the full SHA
    8a8899f View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    e58e9c7 View commit details
    Browse the repository at this point in the history
  14. fix rsyncable mode

    Cyan4973 committed May 4, 2021
    Configuration menu
    Copy the full SHA
    1026b9f View commit details
    Browse the repository at this point in the history
  15. [lib] Always load the dictionary in one go

    Dictionaries larger than `ZSTD_CHUNKSIZE_MAX` used to have to be loaded
    in multiple segments. Instead, when we detect large dictionaries, ensure
    that we reset the context's indicies. Then, for dictionaries larger than
    `ZSTD_CURRENT_MAX - 1`, only load the suffix of the dictionary. Finally,
    enable DDS for large dictionaries, since we no longer load in multiple
    segments.
    
    This simplifes the dictionary loading code, and reduces opportunities
    for non-determinism to slip in.
    terrelln committed May 4, 2021
    Configuration menu
    Copy the full SHA
    94db439 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    e6c8a5d View commit details
    Browse the repository at this point in the history

Commits on May 5, 2021

  1. [test] Add large dict/data --patch-from test

    Dictionary size must be > `ZSTD_CHUNKSIZE_MAX`.
    terrelln committed May 5, 2021
    Configuration menu
    Copy the full SHA
    0b88c25 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2607 from terrelln/deterministic-dict

    [lib] Always load the dictionary in one go
    terrelln authored May 5, 2021
    Configuration menu
    Copy the full SHA
    10e5513 View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2610 from senhuang42/lazy_underflow_fix

    Fix bad integer wraparound in repcode index for fast, dfast, lazy
    terrelln authored May 5, 2021
    Configuration menu
    Copy the full SHA
    d40f55c View commit details
    Browse the repository at this point in the history
  4. Merge pull request #2602 from terrelln/ldm-opt

    [LDM] Speed optimization on repetitive data
    terrelln authored May 5, 2021
    Configuration menu
    Copy the full SHA
    8389a51 View commit details
    Browse the repository at this point in the history
  5. Merge pull request #2611 from facebook/smallerJobs

    allow jobSize to be as low as 512 KB
    Cyan4973 authored May 5, 2021
    1 Configuration menu
    Copy the full SHA
    c077f25 View commit details
    Browse the repository at this point in the history
  6. seekable decompression fixes (#2594)

    * seekable_format: fix from-file reading (not in-memory)
    
    It tries to check the buffer boundary, but there is no buffer for
    from-file reading.
    
    * seekable_decompression: break when ZSTD_seekable_decompress() returns zero
    
    * seekable_decompression_mem: break when ZSTD_seekable_decompress() returns zero
    
    * seekable_format: cap the offset+len up to the last dOffset
    
    This will allow to read the whole file w/o gotting corruption error if
    the offset is more then the data left in file, i.e.:
    
        $ ./seekable_compression seekable_compression.c 8192 | head
        $ zstd -cdq seekable_compression.c.zst | wc -c
        4737
    
    Before this patch:
    
        $ ./seekable_decompression seekable_compression.c.zst 0 10000000 | wc -c
        ZSTD_seekable_decompress() error : Corrupted block detected
        0
    
    After:
    
        $ ./seekable_decompression seekable_compression.c.zst 0 10000000 | wc -c
        4737
    azat authored May 5, 2021
    Configuration menu
    Copy the full SHA
    53a60e9 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    455fd1a View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    8cde167 View commit details
    Browse the repository at this point in the history
  9. deeper prefetching pipeline for decompressSequencesLong

    pipeline increased from 4 to 8 slots.
    This change substantially improves decompression speed when there are long distance offsets.
    example with enwik9 compressed at level 22 :
    gcc-9 : 947 -> 1039 MB/s
    clang-10: 884 -> 946 MB/s
    
    I also checked the "cold dictionary" scenario,
    and found a smaller benefit, around ~2%
    (measurements are more noisy for this scenario).
    Cyan4973 committed May 5, 2021
    Configuration menu
    Copy the full SHA
    7ef6d7b View commit details
    Browse the repository at this point in the history
  10. Merge pull request #2613 from felixhandte/allow-block-device

    Allow Reading from Block Devices with `--force`
    felixhandte authored May 5, 2021
    Configuration menu
    Copy the full SHA
    2d10544 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    4e10ff1 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    b87f97b View commit details
    Browse the repository at this point in the history
  13. Don't Block Removing File on Being Able to Read It

    `open()`'s mode bits are only applied to files that are created by the call.
    If the output file already exists, but is not readable, the `fopen()` would
    fail, preventing us from removing it, which would mean that the file would
    not end up with the correct permission bits.
    
    It's not clear to me why the `fopen()` is there at all. `UTIL_isRegularFile()`
    should be sufficient, AFAICT.
    felixhandte committed May 5, 2021
    Configuration menu
    Copy the full SHA
    1fb10ba View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    018ed65 View commit details
    Browse the repository at this point in the history
  15. Fix Build for Windows

    felixhandte committed May 5, 2021
    Configuration menu
    Copy the full SHA
    45c4918 View commit details
    Browse the repository at this point in the history
  16. rm -f in playTests.sh

    felixhandte committed May 5, 2021
    Configuration menu
    Copy the full SHA
    bea1b2b View commit details
    Browse the repository at this point in the history
  17. Also Pass Mode Bits in on Windows

    I think in some unix emulation environments on Windows, (cygwin?) mode bits
    are somehow respected. So we might as well pass them in. Can't hurt.
    felixhandte committed May 5, 2021
    Configuration menu
    Copy the full SHA
    da61918 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    4f9c6fd View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    1d65917 View commit details
    Browse the repository at this point in the history
  20. [lib] Move some ZSTD_CCtx_params off the stack

    * Take `params` by const reference in `ZSTD_resetCCtx_internal()`.
    * Add `simpleApiParams` to the CCtx and use them in the simple API
      functions, instead of creating those parameters on the stack.
    
    I think this is a good direction to move in, because we shouldn't need
    to worry about adding parameters to `ZSTD_CCtx_params`, since it should
    always be on the heap (unless they become absoultely gigantic).
    
    Some `ZSTD_CCtx_params` are still on the stack in the CDict functions,
    but I've left them for now, because it was a little more complex, and we
    don't use those functions in stack-constrained currently.
    terrelln committed May 5, 2021
    Configuration menu
    Copy the full SHA
    c2183d7 View commit details
    Browse the repository at this point in the history
  21. [tests] Set DEBUGLEVEL=2 by default

    This allows us to quickly check for compile errors in debug log
    messages, which are compiled out when `DEBUGLEVEL < 2`.
    terrelln committed May 5, 2021
    Configuration menu
    Copy the full SHA
    eb7e74c View commit details
    Browse the repository at this point in the history
  22. Merge pull request #2525 from felixhandte/fix-file-permissions-again

    Improve Setting Permissions of Created Files
    felixhandte authored May 5, 2021
    Configuration menu
    Copy the full SHA
    b062d97 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    4ba49af View commit details
    Browse the repository at this point in the history
  24. improved benchmark experience on Windows

    benchmark results are not progressively displayed on Windows terminal.
    For long benchmark sessions, nothing is displayed,
    until the end, where everything is flushed.
    
    Force display to be flushed after each update.
    Updates happen roughtly every second, or even less,
    so it's not a substantial workload.
    Cyan4973 committed May 5, 2021
    Configuration menu
    Copy the full SHA
    9750f3c View commit details
    Browse the repository at this point in the history
  25. Merge pull request #2614 from facebook/dlong8

    faster speed for decompressSequencesLong
    Cyan4973 authored May 5, 2021
    Configuration menu
    Copy the full SHA
    fed8589 View commit details
    Browse the repository at this point in the history

Commits on May 6, 2021

  1. Configuration menu
    Copy the full SHA
    df05b2b View commit details
    Browse the repository at this point in the history
  2. [lib] Add ZSTD_c_deterministicRefPrefix

    This flag forces zstd to always load the prefix in ext-dict mode, even
    if it happens to be contiguous, to force determinism. It also applies to
    dictionaries that are re-processed.
    
    A determinism test case is also added, which fails without
    `ZSTD_c_deterministicRefPrefix` and passes with it set.
    
    Question: Should this be the default behavior? It isn't in this PR.
    terrelln committed May 6, 2021
    Configuration menu
    Copy the full SHA
    172b4b6 View commit details
    Browse the repository at this point in the history
  3. [test][regression] Update results.csv

    The LDM change in PR #2602 changed the algorithm slightly.
    The compressed size is generally positive, and when it is worse,
    it is only a few bytes.
    terrelln committed May 6, 2021
    Configuration menu
    Copy the full SHA
    ce615d7 View commit details
    Browse the repository at this point in the history
  4. Merge pull request #2615 from terrelln/stack-space

    [lib] Move some ZSTD_CCtx_params off the stack
    terrelln authored May 6, 2021
    Configuration menu
    Copy the full SHA
    d2925de View commit details
    Browse the repository at this point in the history
  5. Merge pull request #2619 from facebook/winbench

    improved benchmark experience on Windows
    Cyan4973 authored May 6, 2021
    Configuration menu
    Copy the full SHA
    26c7b00 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d6be765 View commit details
    Browse the repository at this point in the history
  7. attempt to make Appveyor's Cygwin test faster

    Cygwin is the longest Appveyor test
    Appveyor is typically the CI which finish last
    Cyan4973 committed May 6, 2021
    Configuration menu
    Copy the full SHA
    2e76bd7 View commit details
    Browse the repository at this point in the history
  8. Merge pull request #2621 from terrelln/regression-test

    [test][regression] Update results.csv
    terrelln authored May 6, 2021
    Configuration menu
    Copy the full SHA
    fc8330b View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    2d34062 View commit details
    Browse the repository at this point in the history
  10. Merge pull request #2616 from terrelln/deterministic-dict

    [lib] Add ZSTD_c_deterministicRefPrefix
    terrelln authored May 6, 2021
    Configuration menu
    Copy the full SHA
    207e33b View commit details
    Browse the repository at this point in the history
  11. Merge pull request #2618 from felixhandte/single-file-build-mv

    Move Single-File Build Script from `contrib/` to `build/`
    felixhandte authored May 6, 2021
    Configuration menu
    Copy the full SHA
    9099257 View commit details
    Browse the repository at this point in the history
  12. Merge pull request #2620 from facebook/winFilelist

    fix --filelist compatibility with Windows cr+lf line ending
    Cyan4973 authored May 6, 2021
    Configuration menu
    Copy the full SHA
    2f7bbd6 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    6030cdf View commit details
    Browse the repository at this point in the history
  14. Merge pull request #2600 from nickhutchinson/clang-cl

    Fix for excessive compiler warnings when building with clang-cl
    terrelln authored May 6, 2021
    Configuration menu
    Copy the full SHA
    e7e4b74 View commit details
    Browse the repository at this point in the history
  15. [zdict] Add a FAQ to the top of zdict.h

    The FAQ covers the questions asked in Issue #2566. It first covers why
    you would want to use a dictionary, then what a dictionary is, and
    finally it tells you how to train a dictionary, and clarifies some of
    the parameters.
    
    There is definitely more that could be said about some of the advanced
    trainers, but this should be a good start.
    terrelln committed May 6, 2021
    Configuration menu
    Copy the full SHA
    1874f08 View commit details
    Browse the repository at this point in the history
  16. Merge pull request #2622 from terrelln/zdict-api

    [zdict] Add a FAQ to the top of zdict.h
    terrelln authored May 6, 2021
    Configuration menu
    Copy the full SHA
    2b82948 View commit details
    Browse the repository at this point in the history
  17. [1.5.0] Deprecate some functions (#2582)

    * Add deprecated macro to zstd.h, mark certain functions as deprecated
    
    * Remove ZSTD_compress.c dependencies on deprecated functions
    senhuang42 authored May 6, 2021
    Configuration menu
    Copy the full SHA
    698f261 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    b052b58 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    ee65162 View commit details
    Browse the repository at this point in the history
  20. switch to clang

    Cyan4973 committed May 6, 2021
    Configuration menu
    Copy the full SHA
    bd54723 View commit details
    Browse the repository at this point in the history

Commits on May 7, 2021

  1. Configuration menu
    Copy the full SHA
    f44c720 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2625 from terrelln/ubsan-failure

    [lib] Fix UBSAN warning in ZSTD_decompressSequences()
    terrelln authored May 7, 2021
    Configuration menu
    Copy the full SHA
    f36fbdd View commit details
    Browse the repository at this point in the history
  3. Merge pull request #2626 from facebook/codingStyle1

    added a paragraph on coding style
    Cyan4973 authored May 7, 2021
    Configuration menu
    Copy the full SHA
    0d05846 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    ee425fa View commit details
    Browse the repository at this point in the history
  5. do not install g++

    Cyan4973 committed May 7, 2021
    Configuration menu
    Copy the full SHA
    17b9e43 View commit details
    Browse the repository at this point in the history
  6. [lib] Fix fuzzer timeouts by backing off overflow correction

    Linearly back off the frequency of overflow correction based on the
    number of times the `ZSTD_window_t` has been overflow corrected. This
    will still allow the fuzzer to quickly find overflow correction bugs,
    while also keeping good speed for larger inputs.
    
    Additionally, the `nbOverflowCorrections` variable can be useful for
    debugging coredumps, since we can inspect the `ZSTD_CCtx` to see if
    overflow correction has happened yet.
    
    I've verified this fixes the timeouts in OSS-Fuzz (176 seconds -> 6
    seconds). I've also verified that fuzzers and `fuzzer` and `zstreamtest`
    still catch the row-hash overflow correction bug.
    terrelln committed May 7, 2021
    Configuration menu
    Copy the full SHA
    c2555f8 View commit details
    Browse the repository at this point in the history
  7. Apply flags to libzstd-nomt in libzstd style

    ... for consistency (this doesn't actually change the build flags used
    in practice, currently).
    
    Signed-off-by: Stephen Kitt <steve@sk2.org>
    skitt committed May 7, 2021
    Configuration menu
    Copy the full SHA
    b2582de View commit details
    Browse the repository at this point in the history
  8. [1.5.0] Enable multithreading in lib build by default (#2584)

    * Update lib Makefile to have new targets
    
    * Update lib/README.md for mt
    senhuang42 authored May 7, 2021
    Configuration menu
    Copy the full SHA
    91465e2 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    d8d6e48 View commit details
    Browse the repository at this point in the history
  10. Merge pull request #2623 from facebook/fasterCygwin

    attempt to make Appveyor's Cygwin test faster
    Cyan4973 authored May 7, 2021
    Configuration menu
    Copy the full SHA
    b4637d1 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    a4d55c8 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    9e94b7c View commit details
    Browse the repository at this point in the history
  13. Merge pull request #2627 from terrelln/timeout-fix

    [lib] Fix fuzzer timeouts by backing off overflow correction
    terrelln authored May 7, 2021
    Configuration menu
    Copy the full SHA
    66772ef View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    13449d7 View commit details
    Browse the repository at this point in the history
  15. improve decompression speed of long variant by ~+5%

    changed strategy,
    now unconditionally prefetch the first 2 cache lines,
    instead of cache lines corresponding to the first and last bytes of the match.
    
    This better corresponds to cpu expectation,
    which should auto-prefetch following cachelines on detecting the sequential nature of the read.
    
    This is globally positive, by +5%,
    though exact gains depend on compiler (from -2% to +15%).
    The only negative counter-example is gcc-9.
    Cyan4973 committed May 7, 2021
    Configuration menu
    Copy the full SHA
    1db5947 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    4d9caa4 View commit details
    Browse the repository at this point in the history
  17. update decoder hot loop alignment

    This seems to bring an additional ~+1.2% decompression speed
    on average across 10 compilers x 6 scenarios.
    Cyan4973 committed May 7, 2021
    Configuration menu
    Copy the full SHA
    6755baf View commit details
    Browse the repository at this point in the history
  18. Merge pull request #2547 from facebook/d_prefetch_refactor

    Refactor prefetching for the decoding loop
    Cyan4973 authored May 7, 2021
    Configuration menu
    Copy the full SHA
    5b6d38a View commit details
    Browse the repository at this point in the history

Commits on May 8, 2021

  1. improved gcc-9 and gcc-10 decoding speed

    the new alignment setting is better for gcc-9 and gcc-10
    by about ~+5%.
    
    Unfortunately, it's worse for essentially all other compilers.
    
    Make the new alignment setting conditional to gcc-9+.
    Cyan4973 committed May 8, 2021
    Configuration menu
    Copy the full SHA
    439e58d View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2628 from skitt/libzstd-nomt-flags

    Apply flags to libzstd-nomt in libzstd style
    Cyan4973 authored May 8, 2021
    Configuration menu
    Copy the full SHA
    334ac69 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2021

  1. Merge pull request #2630 from facebook/gcc9

    improved gcc-9 and gcc-10 decoding speed
    Cyan4973 authored May 10, 2021
    Configuration menu
    Copy the full SHA
    9fb5a04 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2021

  1. Avoid SIGBUS on armv6

    When running armv6 userspace on armv8 hardware with a 64 bit Linux kernel,
    the mode 2 caused SIGBUS (unaligned memory access).
    Running all our arm builds in the build farm
    only on armv8 simplifies administration a lot.
    
    Depending on compiler and environment, this change might slow down
    memory accesses (did not benchmark it). The original analysis is 6 years old.
    
    Fixes #2632
    bmwiedemann committed May 11, 2021
    Configuration menu
    Copy the full SHA
    28d0120 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2633 from bmwiedemann/issue2632

    Avoid SIGBUS on armv6
    Cyan4973 authored May 11, 2021
    Configuration menu
    Copy the full SHA
    162f540 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9c23ea9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    8a53a88 View commit details
    Browse the repository at this point in the history

Commits on May 12, 2021

  1. Configuration menu
    Copy the full SHA
    01fe479 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b35c250 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    c730b8c View commit details
    Browse the repository at this point in the history
  4. reduce Max nb Workers to 64 in 32-bit mode

    and restored limit to 256 when in 64-bit mode
    (it was reduced to 200 to give more room for 32-bit).
    
    This should fix test instability issues
    using lot of threads in 32-bit environments.
    Cyan4973 committed May 12, 2021
    Configuration menu
    Copy the full SHA
    cb0cad9 View commit details
    Browse the repository at this point in the history
  5. fileio: clamp value of windowLog in patch-mode (#2637)

    With small enough input files, the inferred value of fileWindowLog could
    be smaller than ZSTD_WINDOWLOG_MIN.
    
    This can be reproduced like so:
    $ echo abc > small
    $ echo abcdef > small2
    $ zstd --patch-from small small2 -o patch
    previously, this would fail with the error "zstd: error 11 : Parameter is out of bound"
    occivink authored May 12, 2021
    Configuration menu
    Copy the full SHA
    d4548c9 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8fae355 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    a51e342 View commit details
    Browse the repository at this point in the history
  8. Merge pull request #2643 from facebook/workers32

    reduce ZSTDMT_NBWORKERS_MAX in 32-bit mode
    Cyan4973 authored May 12, 2021
    Configuration menu
    Copy the full SHA
    705a62b View commit details
    Browse the repository at this point in the history

Commits on May 13, 2021

  1. updated meson test

    hopefully, bionic will have a more recent version of python
    required to install meson.
    Cyan4973 committed May 13, 2021
    Configuration menu
    Copy the full SHA
    988beb3 View commit details
    Browse the repository at this point in the history
  2. Merge pull request #2644 from facebook/mesonFix

    Fixed meson test on travisCI
    Cyan4973 authored May 13, 2021
    Configuration menu
    Copy the full SHA
    b57022e View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    40def70 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    0671808 View commit details
    Browse the repository at this point in the history