zstd-native-ruby 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/CLAUDE.md +101 -0
- data/LICENSE +19 -0
- data/README.md +47 -0
- data/ext/zstd_ruby/extconf.rb +35 -0
- data/ext/zstd_ruby/zstd_ruby.c +221 -0
- data/lib/zstd_ruby.rb +68 -0
- data/vendor/zstd/CHANGELOG +863 -0
- data/vendor/zstd/CMakeLists.txt +11 -0
- data/vendor/zstd/CODE_OF_CONDUCT.md +5 -0
- data/vendor/zstd/CONTRIBUTING.md +494 -0
- data/vendor/zstd/COPYING +339 -0
- data/vendor/zstd/LICENSE +30 -0
- data/vendor/zstd/Makefile +470 -0
- data/vendor/zstd/Package.swift +36 -0
- data/vendor/zstd/README.md +244 -0
- data/vendor/zstd/SECURITY.md +15 -0
- data/vendor/zstd/TESTING.md +43 -0
- data/vendor/zstd/build/LICENSE +0 -0
- data/vendor/zstd/build/README.md +56 -0
- data/vendor/zstd/build/VS2008/fullbench/fullbench.vcproj +549 -0
- data/vendor/zstd/build/VS2008/fuzzer/fuzzer.vcproj +585 -0
- data/vendor/zstd/build/VS2008/zstd/zstd.vcproj +677 -0
- data/vendor/zstd/build/VS2008/zstd.sln +56 -0
- data/vendor/zstd/build/VS2008/zstdlib/zstdlib.vcproj +635 -0
- data/vendor/zstd/build/VS2010/CompileAsCpp.props +8 -0
- data/vendor/zstd/build/VS2010/datagen/datagen.vcxproj +170 -0
- data/vendor/zstd/build/VS2010/fullbench/fullbench.vcxproj +220 -0
- data/vendor/zstd/build/VS2010/fuzzer/fuzzer.vcxproj +224 -0
- data/vendor/zstd/build/VS2010/libzstd/libzstd.vcxproj +243 -0
- data/vendor/zstd/build/VS2010/libzstd-dll/libzstd-dll.rc +51 -0
- data/vendor/zstd/build/VS2010/libzstd-dll/libzstd-dll.vcxproj +250 -0
- data/vendor/zstd/build/VS2010/zstd/zstd.rc +51 -0
- data/vendor/zstd/build/VS2010/zstd/zstd.vcxproj +266 -0
- data/vendor/zstd/build/VS2010/zstd.sln +84 -0
- data/vendor/zstd/build/VS_scripts/README.md +64 -0
- data/vendor/zstd/build/VS_scripts/build.VS2010.cmd +7 -0
- data/vendor/zstd/build/VS_scripts/build.VS2012.cmd +6 -0
- data/vendor/zstd/build/VS_scripts/build.VS2013.cmd +7 -0
- data/vendor/zstd/build/VS_scripts/build.VS2015.cmd +7 -0
- data/vendor/zstd/build/VS_scripts/build.VS2017.cmd +7 -0
- data/vendor/zstd/build/VS_scripts/build.VS2017Community.cmd +7 -0
- data/vendor/zstd/build/VS_scripts/build.VS2017Enterprise.cmd +7 -0
- data/vendor/zstd/build/VS_scripts/build.VS2017Professional.cmd +7 -0
- data/vendor/zstd/build/VS_scripts/build.VSPreview.cmd +7 -0
- data/vendor/zstd/build/VS_scripts/build.generic.cmd +67 -0
- data/vendor/zstd/build/cmake/CMakeLists.txt +81 -0
- data/vendor/zstd/build/cmake/CMakeModules/AddZstdCompilationFlags.cmake +138 -0
- data/vendor/zstd/build/cmake/CMakeModules/FindLibLZ4.cmake +49 -0
- data/vendor/zstd/build/cmake/CMakeModules/GetZstdLibraryVersion.cmake +10 -0
- data/vendor/zstd/build/cmake/CMakeModules/JoinPaths.cmake +23 -0
- data/vendor/zstd/build/cmake/CMakeModules/ZstdBuild.cmake +42 -0
- data/vendor/zstd/build/cmake/CMakeModules/ZstdDependencies.cmake +30 -0
- data/vendor/zstd/build/cmake/CMakeModules/ZstdOptions.cmake +68 -0
- data/vendor/zstd/build/cmake/CMakeModules/ZstdPackage.cmake +42 -0
- data/vendor/zstd/build/cmake/CMakeModules/ZstdVersion.cmake +31 -0
- data/vendor/zstd/build/cmake/README.md +155 -0
- data/vendor/zstd/build/cmake/contrib/CMakeLists.txt +13 -0
- data/vendor/zstd/build/cmake/contrib/gen_html/CMakeLists.txt +30 -0
- data/vendor/zstd/build/cmake/contrib/pzstd/CMakeLists.txt +39 -0
- data/vendor/zstd/build/cmake/lib/CMakeLists.txt +298 -0
- data/vendor/zstd/build/cmake/lib/cmake_uninstall.cmake.in +22 -0
- data/vendor/zstd/build/cmake/programs/CMakeLists.txt +144 -0
- data/vendor/zstd/build/cmake/tests/CMakeLists.txt +118 -0
- data/vendor/zstd/build/cmake/zstdConfig.cmake.in +10 -0
- data/vendor/zstd/build/meson/GetZstdLibraryVersion.py +39 -0
- data/vendor/zstd/build/meson/InstallSymlink.py +55 -0
- data/vendor/zstd/build/meson/README.md +38 -0
- data/vendor/zstd/build/meson/contrib/gen_html/meson.build +30 -0
- data/vendor/zstd/build/meson/contrib/meson.build +12 -0
- data/vendor/zstd/build/meson/contrib/pzstd/meson.build +25 -0
- data/vendor/zstd/build/meson/lib/meson.build +175 -0
- data/vendor/zstd/build/meson/meson.build +155 -0
- data/vendor/zstd/build/meson/meson_options.txt +36 -0
- data/vendor/zstd/build/meson/programs/meson.build +124 -0
- data/vendor/zstd/build/meson/tests/meson.build +217 -0
- data/vendor/zstd/build/meson/tests/valgrindTest.py +90 -0
- data/vendor/zstd/build/single_file_libs/README.md +33 -0
- data/vendor/zstd/build/single_file_libs/build_decoder_test.sh +91 -0
- data/vendor/zstd/build/single_file_libs/build_library_test.sh +98 -0
- data/vendor/zstd/build/single_file_libs/combine.py +234 -0
- data/vendor/zstd/build/single_file_libs/combine.sh +249 -0
- data/vendor/zstd/build/single_file_libs/create_single_file_decoder.sh +19 -0
- data/vendor/zstd/build/single_file_libs/create_single_file_library.sh +19 -0
- data/vendor/zstd/build/single_file_libs/examples/README.md +11 -0
- data/vendor/zstd/build/single_file_libs/examples/emscripten.c +340 -0
- data/vendor/zstd/build/single_file_libs/examples/roundtrip.c +83 -0
- data/vendor/zstd/build/single_file_libs/examples/shell.html +31 -0
- data/vendor/zstd/build/single_file_libs/examples/simple.c +75 -0
- data/vendor/zstd/build/single_file_libs/examples/testcard-dxt1.inl +2731 -0
- data/vendor/zstd/build/single_file_libs/examples/testcard-zstd.inl +261 -0
- data/vendor/zstd/build/single_file_libs/examples/testcard.png +0 -0
- data/vendor/zstd/build/single_file_libs/zstd-in.c +91 -0
- data/vendor/zstd/build/single_file_libs/zstddeclib-in.c +62 -0
- data/vendor/zstd/contrib/VS2005/README.md +3 -0
- data/vendor/zstd/contrib/VS2005/fullbench/fullbench.vcproj +440 -0
- data/vendor/zstd/contrib/VS2005/fuzzer/fuzzer.vcproj +488 -0
- data/vendor/zstd/contrib/VS2005/zstd/zstd.vcproj +552 -0
- data/vendor/zstd/contrib/VS2005/zstd.sln +55 -0
- data/vendor/zstd/contrib/VS2005/zstdlib/zstdlib.vcproj +546 -0
- data/vendor/zstd/contrib/cleanTabs +2 -0
- data/vendor/zstd/contrib/diagnose_corruption/Makefile +35 -0
- data/vendor/zstd/contrib/diagnose_corruption/check_flipped_bits.c +400 -0
- data/vendor/zstd/contrib/docker/Dockerfile +20 -0
- data/vendor/zstd/contrib/docker/README.md +20 -0
- data/vendor/zstd/contrib/externalSequenceProducer/Makefile +40 -0
- data/vendor/zstd/contrib/externalSequenceProducer/README.md +14 -0
- data/vendor/zstd/contrib/externalSequenceProducer/main.c +108 -0
- data/vendor/zstd/contrib/externalSequenceProducer/sequence_producer.c +80 -0
- data/vendor/zstd/contrib/externalSequenceProducer/sequence_producer.h +26 -0
- data/vendor/zstd/contrib/freestanding_lib/freestanding.py +774 -0
- data/vendor/zstd/contrib/gen_html/Makefile +51 -0
- data/vendor/zstd/contrib/gen_html/README.md +31 -0
- data/vendor/zstd/contrib/gen_html/gen-zstd-manual.sh +9 -0
- data/vendor/zstd/contrib/gen_html/gen_html.cpp +225 -0
- data/vendor/zstd/contrib/largeNbDicts/Makefile +58 -0
- data/vendor/zstd/contrib/largeNbDicts/README.md +33 -0
- data/vendor/zstd/contrib/largeNbDicts/largeNbDicts.c +1087 -0
- data/vendor/zstd/contrib/linux-kernel/Makefile +108 -0
- data/vendor/zstd/contrib/linux-kernel/README.md +14 -0
- data/vendor/zstd/contrib/linux-kernel/btrfs-benchmark.sh +104 -0
- data/vendor/zstd/contrib/linux-kernel/btrfs-extract-benchmark.sh +99 -0
- data/vendor/zstd/contrib/linux-kernel/decompress_sources.h +34 -0
- data/vendor/zstd/contrib/linux-kernel/linux.mk +44 -0
- data/vendor/zstd/contrib/linux-kernel/linux_zstd.h +691 -0
- data/vendor/zstd/contrib/linux-kernel/mem.h +262 -0
- data/vendor/zstd/contrib/linux-kernel/squashfs-benchmark.sh +39 -0
- data/vendor/zstd/contrib/linux-kernel/test/Makefile +49 -0
- data/vendor/zstd/contrib/linux-kernel/test/include/linux/compiler.h +23 -0
- data/vendor/zstd/contrib/linux-kernel/test/include/linux/errno.h +15 -0
- data/vendor/zstd/contrib/linux-kernel/test/include/linux/kernel.h +19 -0
- data/vendor/zstd/contrib/linux-kernel/test/include/linux/limits.h +15 -0
- data/vendor/zstd/contrib/linux-kernel/test/include/linux/math64.h +15 -0
- data/vendor/zstd/contrib/linux-kernel/test/include/linux/module.h +20 -0
- data/vendor/zstd/contrib/linux-kernel/test/include/linux/printk.h +15 -0
- data/vendor/zstd/contrib/linux-kernel/test/include/linux/stddef.h +15 -0
- data/vendor/zstd/contrib/linux-kernel/test/include/linux/swab.h +16 -0
- data/vendor/zstd/contrib/linux-kernel/test/include/linux/types.h +16 -0
- data/vendor/zstd/contrib/linux-kernel/test/include/linux/unaligned.h +187 -0
- data/vendor/zstd/contrib/linux-kernel/test/include/linux/xxhash.h +745 -0
- data/vendor/zstd/contrib/linux-kernel/test/macro-test.sh +44 -0
- data/vendor/zstd/contrib/linux-kernel/test/static_test.c +52 -0
- data/vendor/zstd/contrib/linux-kernel/test/test.c +229 -0
- data/vendor/zstd/contrib/linux-kernel/zstd_common_module.c +29 -0
- data/vendor/zstd/contrib/linux-kernel/zstd_compress_module.c +286 -0
- data/vendor/zstd/contrib/linux-kernel/zstd_decompress_module.c +141 -0
- data/vendor/zstd/contrib/linux-kernel/zstd_deps.h +121 -0
- data/vendor/zstd/contrib/match_finders/README.md +42 -0
- data/vendor/zstd/contrib/match_finders/zstd_edist.c +558 -0
- data/vendor/zstd/contrib/match_finders/zstd_edist.h +70 -0
- data/vendor/zstd/contrib/premake/premake4.lua +6 -0
- data/vendor/zstd/contrib/premake/zstd.lua +81 -0
- data/vendor/zstd/contrib/pzstd/BUCK +72 -0
- data/vendor/zstd/contrib/pzstd/ErrorHolder.h +54 -0
- data/vendor/zstd/contrib/pzstd/Logging.h +73 -0
- data/vendor/zstd/contrib/pzstd/Makefile +265 -0
- data/vendor/zstd/contrib/pzstd/Options.cpp +424 -0
- data/vendor/zstd/contrib/pzstd/Options.h +71 -0
- data/vendor/zstd/contrib/pzstd/Pzstd.cpp +626 -0
- data/vendor/zstd/contrib/pzstd/Pzstd.h +153 -0
- data/vendor/zstd/contrib/pzstd/README.md +56 -0
- data/vendor/zstd/contrib/pzstd/SkippableFrame.cpp +30 -0
- data/vendor/zstd/contrib/pzstd/SkippableFrame.h +64 -0
- data/vendor/zstd/contrib/pzstd/images/Cspeed.png +0 -0
- data/vendor/zstd/contrib/pzstd/images/Dspeed.png +0 -0
- data/vendor/zstd/contrib/pzstd/main.cpp +27 -0
- data/vendor/zstd/contrib/pzstd/test/BUCK +37 -0
- data/vendor/zstd/contrib/pzstd/test/OptionsTest.cpp +536 -0
- data/vendor/zstd/contrib/pzstd/test/PzstdTest.cpp +147 -0
- data/vendor/zstd/contrib/pzstd/test/RoundTrip.h +86 -0
- data/vendor/zstd/contrib/pzstd/test/RoundTripTest.cpp +84 -0
- data/vendor/zstd/contrib/pzstd/utils/BUCK +75 -0
- data/vendor/zstd/contrib/pzstd/utils/Buffer.h +99 -0
- data/vendor/zstd/contrib/pzstd/utils/FileSystem.h +96 -0
- data/vendor/zstd/contrib/pzstd/utils/Likely.h +28 -0
- data/vendor/zstd/contrib/pzstd/utils/Portability.h +16 -0
- data/vendor/zstd/contrib/pzstd/utils/Range.h +133 -0
- data/vendor/zstd/contrib/pzstd/utils/ResourcePool.h +96 -0
- data/vendor/zstd/contrib/pzstd/utils/ScopeGuard.h +50 -0
- data/vendor/zstd/contrib/pzstd/utils/ThreadPool.h +58 -0
- data/vendor/zstd/contrib/pzstd/utils/WorkQueue.h +182 -0
- data/vendor/zstd/contrib/pzstd/utils/test/BUCK +35 -0
- data/vendor/zstd/contrib/pzstd/utils/test/BufferTest.cpp +89 -0
- data/vendor/zstd/contrib/pzstd/utils/test/RangeTest.cpp +82 -0
- data/vendor/zstd/contrib/pzstd/utils/test/ResourcePoolTest.cpp +72 -0
- data/vendor/zstd/contrib/pzstd/utils/test/ScopeGuardTest.cpp +28 -0
- data/vendor/zstd/contrib/pzstd/utils/test/ThreadPoolTest.cpp +71 -0
- data/vendor/zstd/contrib/pzstd/utils/test/WorkQueueTest.cpp +282 -0
- data/vendor/zstd/contrib/recovery/Makefile +35 -0
- data/vendor/zstd/contrib/recovery/recover_directory.c +152 -0
- data/vendor/zstd/contrib/seekable_format/README.md +42 -0
- data/vendor/zstd/contrib/seekable_format/examples/Makefile +55 -0
- data/vendor/zstd/contrib/seekable_format/examples/parallel_compression.c +254 -0
- data/vendor/zstd/contrib/seekable_format/examples/parallel_processing.c +191 -0
- data/vendor/zstd/contrib/seekable_format/examples/seekable_compression.c +136 -0
- data/vendor/zstd/contrib/seekable_format/examples/seekable_decompression.c +141 -0
- data/vendor/zstd/contrib/seekable_format/examples/seekable_decompression_mem.c +147 -0
- data/vendor/zstd/contrib/seekable_format/tests/Makefile +58 -0
- data/vendor/zstd/contrib/seekable_format/tests/seekable_tests.c +375 -0
- data/vendor/zstd/contrib/seekable_format/zstd_seekable.h +226 -0
- data/vendor/zstd/contrib/seekable_format/zstd_seekable_compression_format.md +116 -0
- data/vendor/zstd/contrib/seekable_format/zstdseek_compress.c +365 -0
- data/vendor/zstd/contrib/seekable_format/zstdseek_decompress.c +600 -0
- data/vendor/zstd/contrib/seqBench/Makefile +58 -0
- data/vendor/zstd/contrib/seqBench/seqBench.c +53 -0
- data/vendor/zstd/contrib/snap/snapcraft.yaml +28 -0
- data/vendor/zstd/doc/README.md +26 -0
- data/vendor/zstd/doc/decompressor_errata.md +148 -0
- data/vendor/zstd/doc/decompressor_permissive.md +80 -0
- data/vendor/zstd/doc/educational_decoder/Makefile +62 -0
- data/vendor/zstd/doc/educational_decoder/README.md +36 -0
- data/vendor/zstd/doc/educational_decoder/harness.c +119 -0
- data/vendor/zstd/doc/educational_decoder/zstd_decompress.c +2323 -0
- data/vendor/zstd/doc/educational_decoder/zstd_decompress.h +61 -0
- data/vendor/zstd/doc/images/CSpeed2.png +0 -0
- data/vendor/zstd/doc/images/DCspeed5.png +0 -0
- data/vendor/zstd/doc/images/DSpeed3.png +0 -0
- data/vendor/zstd/doc/images/cdict_v136.png +0 -0
- data/vendor/zstd/doc/images/dict-cr.png +0 -0
- data/vendor/zstd/doc/images/dict-cs.png +0 -0
- data/vendor/zstd/doc/images/dict-ds.png +0 -0
- data/vendor/zstd/doc/images/zstd_cdict_v1_3_5.png +0 -0
- data/vendor/zstd/doc/images/zstd_logo86.png +0 -0
- data/vendor/zstd/doc/zstd_compression_format.md +1772 -0
- data/vendor/zstd/doc/zstd_manual.html +2244 -0
- data/vendor/zstd/examples/Makefile +93 -0
- data/vendor/zstd/examples/README.md +46 -0
- data/vendor/zstd/examples/common.h +246 -0
- data/vendor/zstd/examples/dictionary_compression.c +107 -0
- data/vendor/zstd/examples/dictionary_decompression.c +99 -0
- data/vendor/zstd/examples/multiple_simple_compression.c +116 -0
- data/vendor/zstd/examples/multiple_streaming_compression.c +133 -0
- data/vendor/zstd/examples/simple_compression.c +68 -0
- data/vendor/zstd/examples/simple_decompression.c +65 -0
- data/vendor/zstd/examples/streaming_compression.c +146 -0
- data/vendor/zstd/examples/streaming_compression_thread_pool.c +180 -0
- data/vendor/zstd/examples/streaming_decompression.c +100 -0
- data/vendor/zstd/examples/streaming_memory_usage.c +137 -0
- data/vendor/zstd/lib/BUCK +232 -0
- data/vendor/zstd/lib/Makefile +389 -0
- data/vendor/zstd/lib/README.md +267 -0
- data/vendor/zstd/lib/common/allocations.h +55 -0
- data/vendor/zstd/lib/common/bits.h +205 -0
- data/vendor/zstd/lib/common/bitstream.h +454 -0
- data/vendor/zstd/lib/common/compiler.h +482 -0
- data/vendor/zstd/lib/common/cpu.h +249 -0
- data/vendor/zstd/lib/common/debug.c +30 -0
- data/vendor/zstd/lib/common/debug.h +107 -0
- data/vendor/zstd/lib/common/debug.o +0 -0
- data/vendor/zstd/lib/common/entropy_common.c +340 -0
- data/vendor/zstd/lib/common/entropy_common.o +0 -0
- data/vendor/zstd/lib/common/error_private.c +64 -0
- data/vendor/zstd/lib/common/error_private.h +158 -0
- data/vendor/zstd/lib/common/error_private.o +0 -0
- data/vendor/zstd/lib/common/fse.h +625 -0
- data/vendor/zstd/lib/common/fse_decompress.c +315 -0
- data/vendor/zstd/lib/common/fse_decompress.o +0 -0
- data/vendor/zstd/lib/common/huf.h +277 -0
- data/vendor/zstd/lib/common/mem.h +422 -0
- data/vendor/zstd/lib/common/pool.c +371 -0
- data/vendor/zstd/lib/common/pool.h +81 -0
- data/vendor/zstd/lib/common/pool.o +0 -0
- data/vendor/zstd/lib/common/portability_macros.h +190 -0
- data/vendor/zstd/lib/common/threading.c +196 -0
- data/vendor/zstd/lib/common/threading.h +142 -0
- data/vendor/zstd/lib/common/threading.o +0 -0
- data/vendor/zstd/lib/common/xxhash.c +18 -0
- data/vendor/zstd/lib/common/xxhash.h +7094 -0
- data/vendor/zstd/lib/common/xxhash.o +0 -0
- data/vendor/zstd/lib/common/zstd_common.c +57 -0
- data/vendor/zstd/lib/common/zstd_common.o +0 -0
- data/vendor/zstd/lib/common/zstd_deps.h +123 -0
- data/vendor/zstd/lib/common/zstd_internal.h +326 -0
- data/vendor/zstd/lib/common/zstd_trace.h +156 -0
- data/vendor/zstd/lib/compress/clevels.h +134 -0
- data/vendor/zstd/lib/compress/fse_compress.c +625 -0
- data/vendor/zstd/lib/compress/fse_compress.o +0 -0
- data/vendor/zstd/lib/compress/hist.c +446 -0
- data/vendor/zstd/lib/compress/hist.h +86 -0
- data/vendor/zstd/lib/compress/hist.o +0 -0
- data/vendor/zstd/lib/compress/huf_compress.c +1465 -0
- data/vendor/zstd/lib/compress/huf_compress.o +0 -0
- data/vendor/zstd/lib/compress/zstd_compress.c +8362 -0
- data/vendor/zstd/lib/compress/zstd_compress.o +0 -0
- data/vendor/zstd/lib/compress/zstd_compress_internal.h +1636 -0
- data/vendor/zstd/lib/compress/zstd_compress_literals.c +235 -0
- data/vendor/zstd/lib/compress/zstd_compress_literals.h +39 -0
- data/vendor/zstd/lib/compress/zstd_compress_literals.o +0 -0
- data/vendor/zstd/lib/compress/zstd_compress_sequences.c +442 -0
- data/vendor/zstd/lib/compress/zstd_compress_sequences.h +55 -0
- data/vendor/zstd/lib/compress/zstd_compress_sequences.o +0 -0
- data/vendor/zstd/lib/compress/zstd_compress_superblock.c +688 -0
- data/vendor/zstd/lib/compress/zstd_compress_superblock.h +32 -0
- data/vendor/zstd/lib/compress/zstd_compress_superblock.o +0 -0
- data/vendor/zstd/lib/compress/zstd_cwksp.h +765 -0
- data/vendor/zstd/lib/compress/zstd_double_fast.c +778 -0
- data/vendor/zstd/lib/compress/zstd_double_fast.h +42 -0
- data/vendor/zstd/lib/compress/zstd_double_fast.o +0 -0
- data/vendor/zstd/lib/compress/zstd_fast.c +985 -0
- data/vendor/zstd/lib/compress/zstd_fast.h +30 -0
- data/vendor/zstd/lib/compress/zstd_fast.o +0 -0
- data/vendor/zstd/lib/compress/zstd_lazy.c +2243 -0
- data/vendor/zstd/lib/compress/zstd_lazy.h +193 -0
- data/vendor/zstd/lib/compress/zstd_lazy.o +0 -0
- data/vendor/zstd/lib/compress/zstd_ldm.c +745 -0
- data/vendor/zstd/lib/compress/zstd_ldm.h +109 -0
- data/vendor/zstd/lib/compress/zstd_ldm.o +0 -0
- data/vendor/zstd/lib/compress/zstd_ldm_geartab.h +106 -0
- data/vendor/zstd/lib/compress/zstd_opt.c +1572 -0
- data/vendor/zstd/lib/compress/zstd_opt.h +72 -0
- data/vendor/zstd/lib/compress/zstd_opt.o +0 -0
- data/vendor/zstd/lib/compress/zstd_preSplit.c +238 -0
- data/vendor/zstd/lib/compress/zstd_preSplit.h +33 -0
- data/vendor/zstd/lib/compress/zstd_preSplit.o +0 -0
- data/vendor/zstd/lib/compress/zstdmt_compress.c +1924 -0
- data/vendor/zstd/lib/compress/zstdmt_compress.h +102 -0
- data/vendor/zstd/lib/compress/zstdmt_compress.o +0 -0
- data/vendor/zstd/lib/decompress/huf_decompress.c +1953 -0
- data/vendor/zstd/lib/decompress/huf_decompress.o +0 -0
- data/vendor/zstd/lib/decompress/huf_decompress_amd64.S +766 -0
- data/vendor/zstd/lib/decompress/zstd_ddict.c +244 -0
- data/vendor/zstd/lib/decompress/zstd_ddict.h +44 -0
- data/vendor/zstd/lib/decompress/zstd_ddict.o +0 -0
- data/vendor/zstd/lib/decompress/zstd_decompress.c +2410 -0
- data/vendor/zstd/lib/decompress/zstd_decompress.o +0 -0
- data/vendor/zstd/lib/decompress/zstd_decompress_block.c +2311 -0
- data/vendor/zstd/lib/decompress/zstd_decompress_block.h +73 -0
- data/vendor/zstd/lib/decompress/zstd_decompress_block.o +0 -0
- data/vendor/zstd/lib/decompress/zstd_decompress_internal.h +240 -0
- data/vendor/zstd/lib/deprecated/zbuff.h +214 -0
- data/vendor/zstd/lib/deprecated/zbuff_common.c +26 -0
- data/vendor/zstd/lib/deprecated/zbuff_compress.c +167 -0
- data/vendor/zstd/lib/deprecated/zbuff_decompress.c +77 -0
- data/vendor/zstd/lib/dictBuilder/cover.c +1333 -0
- data/vendor/zstd/lib/dictBuilder/cover.h +152 -0
- data/vendor/zstd/lib/dictBuilder/divsufsort.c +1913 -0
- data/vendor/zstd/lib/dictBuilder/divsufsort.h +57 -0
- data/vendor/zstd/lib/dictBuilder/fastcover.c +765 -0
- data/vendor/zstd/lib/dictBuilder/zdict.c +1137 -0
- data/vendor/zstd/lib/dll/example/Makefile +48 -0
- data/vendor/zstd/lib/dll/example/README.md +63 -0
- data/vendor/zstd/lib/dll/example/build_package.bat +55 -0
- data/vendor/zstd/lib/dll/example/fullbench-dll.sln +25 -0
- data/vendor/zstd/lib/dll/example/fullbench-dll.vcxproj +181 -0
- data/vendor/zstd/lib/install_oses.mk +17 -0
- data/vendor/zstd/lib/legacy/zstd_legacy.h +452 -0
- data/vendor/zstd/lib/legacy/zstd_v01.c +2128 -0
- data/vendor/zstd/lib/legacy/zstd_v01.h +94 -0
- data/vendor/zstd/lib/legacy/zstd_v02.c +3465 -0
- data/vendor/zstd/lib/legacy/zstd_v02.h +93 -0
- data/vendor/zstd/lib/legacy/zstd_v03.c +3105 -0
- data/vendor/zstd/lib/legacy/zstd_v03.h +93 -0
- data/vendor/zstd/lib/legacy/zstd_v04.c +3598 -0
- data/vendor/zstd/lib/legacy/zstd_v04.h +142 -0
- data/vendor/zstd/lib/legacy/zstd_v05.c +4005 -0
- data/vendor/zstd/lib/legacy/zstd_v05.h +162 -0
- data/vendor/zstd/lib/legacy/zstd_v06.c +4110 -0
- data/vendor/zstd/lib/legacy/zstd_v06.h +172 -0
- data/vendor/zstd/lib/legacy/zstd_v07.c +4490 -0
- data/vendor/zstd/lib/legacy/zstd_v07.h +187 -0
- data/vendor/zstd/lib/libzstd.mk +238 -0
- data/vendor/zstd/lib/libzstd.pc.in +17 -0
- data/vendor/zstd/lib/module.modulemap +35 -0
- data/vendor/zstd/lib/zdict.h +481 -0
- data/vendor/zstd/lib/zstd.h +3209 -0
- data/vendor/zstd/lib/zstd_errors.h +107 -0
- data/vendor/zstd/programs/BUCK +44 -0
- data/vendor/zstd/programs/Makefile +445 -0
- data/vendor/zstd/programs/README.md +344 -0
- data/vendor/zstd/programs/benchfn.c +256 -0
- data/vendor/zstd/programs/benchfn.h +173 -0
- data/vendor/zstd/programs/benchzstd.c +1270 -0
- data/vendor/zstd/programs/benchzstd.h +191 -0
- data/vendor/zstd/programs/datagen.c +186 -0
- data/vendor/zstd/programs/datagen.h +38 -0
- data/vendor/zstd/programs/dibio.c +447 -0
- data/vendor/zstd/programs/dibio.h +39 -0
- data/vendor/zstd/programs/fileio.c +3717 -0
- data/vendor/zstd/programs/fileio.h +171 -0
- data/vendor/zstd/programs/fileio_asyncio.c +663 -0
- data/vendor/zstd/programs/fileio_asyncio.h +195 -0
- data/vendor/zstd/programs/fileio_common.h +121 -0
- data/vendor/zstd/programs/fileio_types.h +86 -0
- data/vendor/zstd/programs/lorem.c +285 -0
- data/vendor/zstd/programs/lorem.h +32 -0
- data/vendor/zstd/programs/platform.h +217 -0
- data/vendor/zstd/programs/timefn.c +170 -0
- data/vendor/zstd/programs/timefn.h +59 -0
- data/vendor/zstd/programs/util.c +1731 -0
- data/vendor/zstd/programs/util.h +364 -0
- data/vendor/zstd/programs/windres/verrsrc.h +17 -0
- data/vendor/zstd/programs/windres/zstd.rc +51 -0
- data/vendor/zstd/programs/windres/zstd32.res +0 -0
- data/vendor/zstd/programs/windres/zstd64.res +0 -0
- data/vendor/zstd/programs/zstd.1 +580 -0
- data/vendor/zstd/programs/zstd.1.md +714 -0
- data/vendor/zstd/programs/zstdcli.c +1675 -0
- data/vendor/zstd/programs/zstdcli_trace.c +173 -0
- data/vendor/zstd/programs/zstdcli_trace.h +24 -0
- data/vendor/zstd/programs/zstdgrep +134 -0
- data/vendor/zstd/programs/zstdgrep.1 +26 -0
- data/vendor/zstd/programs/zstdgrep.1.md +30 -0
- data/vendor/zstd/programs/zstdless +8 -0
- data/vendor/zstd/programs/zstdless.1 +14 -0
- data/vendor/zstd/programs/zstdless.1.md +16 -0
- data/vendor/zstd/tests/DEPRECATED-test-zstd-speed.py +378 -0
- data/vendor/zstd/tests/Makefile +485 -0
- data/vendor/zstd/tests/README.md +184 -0
- data/vendor/zstd/tests/automated_benchmarking.py +326 -0
- data/vendor/zstd/tests/checkTag.c +65 -0
- data/vendor/zstd/tests/check_size.py +31 -0
- data/vendor/zstd/tests/cli-tests/README.md +258 -0
- data/vendor/zstd/tests/cli-tests/basic/args.sh +10 -0
- data/vendor/zstd/tests/cli-tests/basic/args.sh.exit +1 -0
- data/vendor/zstd/tests/cli-tests/basic/args.sh.stderr.glob +28 -0
- data/vendor/zstd/tests/cli-tests/basic/help.sh +10 -0
- data/vendor/zstd/tests/cli-tests/basic/help.sh.stdout.glob +34 -0
- data/vendor/zstd/tests/cli-tests/basic/memlimit.sh +40 -0
- data/vendor/zstd/tests/cli-tests/basic/memlimit.sh.stderr.exact +13 -0
- data/vendor/zstd/tests/cli-tests/basic/memlimit.sh.stdout.exact +13 -0
- data/vendor/zstd/tests/cli-tests/basic/output_dir.sh +7 -0
- data/vendor/zstd/tests/cli-tests/basic/output_dir.sh.stderr.exact +2 -0
- data/vendor/zstd/tests/cli-tests/basic/output_dir.sh.stdout.exact +2 -0
- data/vendor/zstd/tests/cli-tests/basic/version.sh +6 -0
- data/vendor/zstd/tests/cli-tests/basic/version.sh.stdout.glob +2 -0
- data/vendor/zstd/tests/cli-tests/bin/cmp_size +44 -0
- data/vendor/zstd/tests/cli-tests/bin/datagen +3 -0
- data/vendor/zstd/tests/cli-tests/bin/die +4 -0
- data/vendor/zstd/tests/cli-tests/bin/println +2 -0
- data/vendor/zstd/tests/cli-tests/bin/unzstd +1 -0
- data/vendor/zstd/tests/cli-tests/bin/zstd +9 -0
- data/vendor/zstd/tests/cli-tests/bin/zstdcat +1 -0
- data/vendor/zstd/tests/cli-tests/bin/zstdgrep +2 -0
- data/vendor/zstd/tests/cli-tests/bin/zstdless +2 -0
- data/vendor/zstd/tests/cli-tests/cltools/setup +6 -0
- data/vendor/zstd/tests/cli-tests/cltools/zstdgrep.sh +8 -0
- data/vendor/zstd/tests/cli-tests/cltools/zstdgrep.sh.exit +1 -0
- data/vendor/zstd/tests/cli-tests/cltools/zstdgrep.sh.stderr.exact +1 -0
- data/vendor/zstd/tests/cli-tests/cltools/zstdgrep.sh.stdout.glob +4 -0
- data/vendor/zstd/tests/cli-tests/cltools/zstdless.sh +10 -0
- data/vendor/zstd/tests/cli-tests/cltools/zstdless.sh.stderr.exact +2 -0
- data/vendor/zstd/tests/cli-tests/cltools/zstdless.sh.stdout.glob +5 -0
- data/vendor/zstd/tests/cli-tests/common/format.sh +19 -0
- data/vendor/zstd/tests/cli-tests/common/mtime.sh +13 -0
- data/vendor/zstd/tests/cli-tests/common/permissions.sh +18 -0
- data/vendor/zstd/tests/cli-tests/common/platform.sh +47 -0
- data/vendor/zstd/tests/cli-tests/compression/adapt.sh +14 -0
- data/vendor/zstd/tests/cli-tests/compression/basic.sh +36 -0
- data/vendor/zstd/tests/cli-tests/compression/compress-literals.sh +10 -0
- data/vendor/zstd/tests/cli-tests/compression/format.sh +16 -0
- data/vendor/zstd/tests/cli-tests/compression/golden.sh +16 -0
- data/vendor/zstd/tests/cli-tests/compression/gzip-compat.sh +17 -0
- data/vendor/zstd/tests/cli-tests/compression/levels.sh +75 -0
- data/vendor/zstd/tests/cli-tests/compression/levels.sh.stderr.exact +80 -0
- data/vendor/zstd/tests/cli-tests/compression/long-distance-matcher.sh +7 -0
- data/vendor/zstd/tests/cli-tests/compression/multi-threaded.sh +22 -0
- data/vendor/zstd/tests/cli-tests/compression/multi-threaded.sh.stderr.exact +21 -0
- data/vendor/zstd/tests/cli-tests/compression/multiple-files.sh +21 -0
- data/vendor/zstd/tests/cli-tests/compression/multiple-files.sh.stdout.exact +12 -0
- data/vendor/zstd/tests/cli-tests/compression/row-match-finder.sh +7 -0
- data/vendor/zstd/tests/cli-tests/compression/setup +7 -0
- data/vendor/zstd/tests/cli-tests/compression/stream-size.sh +7 -0
- data/vendor/zstd/tests/cli-tests/compression/verbose-wlog.sh +11 -0
- data/vendor/zstd/tests/cli-tests/compression/verbose-wlog.sh.stderr.glob +5 -0
- data/vendor/zstd/tests/cli-tests/compression/verbose-wlog.sh.stdout.glob +5 -0
- data/vendor/zstd/tests/cli-tests/compression/window-resize.sh +9 -0
- data/vendor/zstd/tests/cli-tests/compression/window-resize.sh.stderr.ignore +0 -0
- data/vendor/zstd/tests/cli-tests/compression/window-resize.sh.stdout.glob +3 -0
- data/vendor/zstd/tests/cli-tests/decompression/detectErrors.sh +11 -0
- data/vendor/zstd/tests/cli-tests/decompression/golden.sh +7 -0
- data/vendor/zstd/tests/cli-tests/decompression/pass-through.sh +57 -0
- data/vendor/zstd/tests/cli-tests/decompression/pass-through.sh.stderr.exact +11 -0
- data/vendor/zstd/tests/cli-tests/decompression/pass-through.sh.stdout.exact +25 -0
- data/vendor/zstd/tests/cli-tests/determinism/basic.sh +36 -0
- data/vendor/zstd/tests/cli-tests/determinism/basic.sh.stderr.exact +0 -0
- data/vendor/zstd/tests/cli-tests/determinism/basic.sh.stdout.exact +880 -0
- data/vendor/zstd/tests/cli-tests/determinism/multithread.sh +45 -0
- data/vendor/zstd/tests/cli-tests/determinism/multithread.sh.stderr.exact +0 -0
- data/vendor/zstd/tests/cli-tests/determinism/multithread.sh.stdout.exact +260 -0
- data/vendor/zstd/tests/cli-tests/determinism/reuse.sh +44 -0
- data/vendor/zstd/tests/cli-tests/determinism/reuse.sh.stderr.exact +0 -0
- data/vendor/zstd/tests/cli-tests/determinism/reuse.sh.stdout.exact +19 -0
- data/vendor/zstd/tests/cli-tests/determinism/setup +5 -0
- data/vendor/zstd/tests/cli-tests/determinism/setup_once +30 -0
- data/vendor/zstd/tests/cli-tests/dict-builder/empty-input.sh +9 -0
- data/vendor/zstd/tests/cli-tests/dict-builder/empty-input.sh.stderr.exact +1 -0
- data/vendor/zstd/tests/cli-tests/dict-builder/no-inputs.sh +3 -0
- data/vendor/zstd/tests/cli-tests/dict-builder/no-inputs.sh.exit +1 -0
- data/vendor/zstd/tests/cli-tests/dict-builder/no-inputs.sh.stderr.exact +5 -0
- data/vendor/zstd/tests/cli-tests/dictionaries/dictionary-mismatch.sh +29 -0
- data/vendor/zstd/tests/cli-tests/dictionaries/dictionary-mismatch.sh.stderr.exact +7 -0
- data/vendor/zstd/tests/cli-tests/dictionaries/golden.sh +9 -0
- data/vendor/zstd/tests/cli-tests/dictionaries/setup +6 -0
- data/vendor/zstd/tests/cli-tests/dictionaries/setup_once +24 -0
- data/vendor/zstd/tests/cli-tests/file-handling/directory-mirror.sh +49 -0
- data/vendor/zstd/tests/cli-tests/file-handling/directory-mirror.sh.stderr.exact +0 -0
- data/vendor/zstd/tests/cli-tests/file-handling/directory-mirror.sh.stdout.exact +0 -0
- data/vendor/zstd/tests/cli-tests/file-stat/compress-file-to-dir-without-write-perm.sh +12 -0
- data/vendor/zstd/tests/cli-tests/file-stat/compress-file-to-dir-without-write-perm.sh.stderr.exact +30 -0
- data/vendor/zstd/tests/cli-tests/file-stat/compress-file-to-file.sh +9 -0
- data/vendor/zstd/tests/cli-tests/file-stat/compress-file-to-file.sh.stderr.glob +46 -0
- data/vendor/zstd/tests/cli-tests/file-stat/compress-file-to-stdout.sh +8 -0
- data/vendor/zstd/tests/cli-tests/file-stat/compress-file-to-stdout.sh.stderr.exact +24 -0
- data/vendor/zstd/tests/cli-tests/file-stat/compress-stdin-to-file.sh +8 -0
- data/vendor/zstd/tests/cli-tests/file-stat/compress-stdin-to-file.sh.stderr.glob +28 -0
- data/vendor/zstd/tests/cli-tests/file-stat/compress-stdin-to-stdout.sh +8 -0
- data/vendor/zstd/tests/cli-tests/file-stat/compress-stdin-to-stdout.sh.stderr.exact +18 -0
- data/vendor/zstd/tests/cli-tests/file-stat/decompress-file-to-file.sh +8 -0
- data/vendor/zstd/tests/cli-tests/file-stat/decompress-file-to-file.sh.stderr.glob +42 -0
- data/vendor/zstd/tests/cli-tests/file-stat/decompress-file-to-stdout.sh +7 -0
- data/vendor/zstd/tests/cli-tests/file-stat/decompress-file-to-stdout.sh.stderr.exact +18 -0
- data/vendor/zstd/tests/cli-tests/file-stat/decompress-stdin-to-file.sh +7 -0
- data/vendor/zstd/tests/cli-tests/file-stat/decompress-stdin-to-file.sh.stderr.glob +24 -0
- data/vendor/zstd/tests/cli-tests/file-stat/decompress-stdin-to-stdout.sh +7 -0
- data/vendor/zstd/tests/cli-tests/file-stat/decompress-stdin-to-stdout.sh.stderr.exact +14 -0
- data/vendor/zstd/tests/cli-tests/progress/no-progress.sh +46 -0
- data/vendor/zstd/tests/cli-tests/progress/no-progress.sh.stderr.glob +96 -0
- data/vendor/zstd/tests/cli-tests/progress/progress.sh +41 -0
- data/vendor/zstd/tests/cli-tests/progress/progress.sh.stderr.glob +62 -0
- data/vendor/zstd/tests/cli-tests/run.py +732 -0
- data/vendor/zstd/tests/cli-tests/zstd-symlinks/setup +6 -0
- data/vendor/zstd/tests/cli-tests/zstd-symlinks/zstdcat.sh +12 -0
- data/vendor/zstd/tests/cli-tests/zstd-symlinks/zstdcat.sh.stdout.exact +8 -0
- data/vendor/zstd/tests/datagencli.c +149 -0
- data/vendor/zstd/tests/decodecorpus.c +1998 -0
- data/vendor/zstd/tests/dict-files/zero-weight-dict +0 -0
- data/vendor/zstd/tests/external_matchfinder.c +140 -0
- data/vendor/zstd/tests/external_matchfinder.h +39 -0
- data/vendor/zstd/tests/fullbench.c +1210 -0
- data/vendor/zstd/tests/fuzz/Makefile +278 -0
- data/vendor/zstd/tests/fuzz/README.md +161 -0
- data/vendor/zstd/tests/fuzz/block_decompress.c +53 -0
- data/vendor/zstd/tests/fuzz/block_round_trip.c +103 -0
- data/vendor/zstd/tests/fuzz/decompress_cross_format.c +130 -0
- data/vendor/zstd/tests/fuzz/decompress_dstSize_tooSmall.c +74 -0
- data/vendor/zstd/tests/fuzz/dictionary_decompress.c +77 -0
- data/vendor/zstd/tests/fuzz/dictionary_loader.c +106 -0
- data/vendor/zstd/tests/fuzz/dictionary_round_trip.c +155 -0
- data/vendor/zstd/tests/fuzz/dictionary_stream_round_trip.c +209 -0
- data/vendor/zstd/tests/fuzz/fse_read_ncount.c +100 -0
- data/vendor/zstd/tests/fuzz/fuzz.h +57 -0
- data/vendor/zstd/tests/fuzz/fuzz.py +910 -0
- data/vendor/zstd/tests/fuzz/fuzz_data_producer.c +95 -0
- data/vendor/zstd/tests/fuzz/fuzz_data_producer.h +66 -0
- data/vendor/zstd/tests/fuzz/fuzz_helpers.c +47 -0
- data/vendor/zstd/tests/fuzz/fuzz_helpers.h +82 -0
- data/vendor/zstd/tests/fuzz/fuzz_third_party_seq_prod.h +116 -0
- data/vendor/zstd/tests/fuzz/generate_sequences.c +88 -0
- data/vendor/zstd/tests/fuzz/huf_decompress.c +68 -0
- data/vendor/zstd/tests/fuzz/huf_round_trip.c +137 -0
- data/vendor/zstd/tests/fuzz/raw_dictionary_round_trip.c +119 -0
- data/vendor/zstd/tests/fuzz/regression_driver.c +90 -0
- data/vendor/zstd/tests/fuzz/seekable_roundtrip.c +88 -0
- data/vendor/zstd/tests/fuzz/seq_prod_fuzz_example/Makefile +16 -0
- data/vendor/zstd/tests/fuzz/seq_prod_fuzz_example/README.md +12 -0
- data/vendor/zstd/tests/fuzz/seq_prod_fuzz_example/example_seq_prod.c +52 -0
- data/vendor/zstd/tests/fuzz/sequence_compression_api.c +452 -0
- data/vendor/zstd/tests/fuzz/simple_compress.c +60 -0
- data/vendor/zstd/tests/fuzz/simple_decompress.c +59 -0
- data/vendor/zstd/tests/fuzz/simple_round_trip.c +182 -0
- data/vendor/zstd/tests/fuzz/stream_decompress.c +119 -0
- data/vendor/zstd/tests/fuzz/stream_round_trip.c +218 -0
- data/vendor/zstd/tests/fuzz/zstd_frame_info.c +43 -0
- data/vendor/zstd/tests/fuzz/zstd_helpers.c +208 -0
- data/vendor/zstd/tests/fuzz/zstd_helpers.h +56 -0
- data/vendor/zstd/tests/fuzzer.c +5482 -0
- data/vendor/zstd/tests/golden-compression/PR-3517-block-splitter-corruption-test +1 -0
- data/vendor/zstd/tests/golden-compression/http +1 -0
- data/vendor/zstd/tests/golden-compression/huffman-compressed-larger +0 -0
- data/vendor/zstd/tests/golden-compression/large-literal-and-match-lengths +0 -0
- data/vendor/zstd/tests/golden-decompression/block-128k.zst +0 -0
- data/vendor/zstd/tests/golden-decompression/empty-block.zst +0 -0
- data/vendor/zstd/tests/golden-decompression/rle-first-block.zst +0 -0
- data/vendor/zstd/tests/golden-decompression/zeroSeq_2B.zst +0 -0
- data/vendor/zstd/tests/golden-decompression-errors/off0.bin.zst +0 -0
- data/vendor/zstd/tests/golden-decompression-errors/truncated_huff_state.zst +0 -0
- data/vendor/zstd/tests/golden-decompression-errors/zeroSeq_extraneous.zst +0 -0
- data/vendor/zstd/tests/golden-dictionaries/http-dict-missing-symbols +0 -0
- data/vendor/zstd/tests/gzip/Makefile +45 -0
- data/vendor/zstd/tests/gzip/gzip-env.sh +46 -0
- data/vendor/zstd/tests/gzip/helin-segv.sh +31 -0
- data/vendor/zstd/tests/gzip/help-version.sh +270 -0
- data/vendor/zstd/tests/gzip/hufts-segv.gz +0 -0
- data/vendor/zstd/tests/gzip/hufts.sh +34 -0
- data/vendor/zstd/tests/gzip/init.cfg +5 -0
- data/vendor/zstd/tests/gzip/init.sh +616 -0
- data/vendor/zstd/tests/gzip/keep.sh +51 -0
- data/vendor/zstd/tests/gzip/list.sh +31 -0
- data/vendor/zstd/tests/gzip/memcpy-abuse.sh +34 -0
- data/vendor/zstd/tests/gzip/mixed.sh +68 -0
- data/vendor/zstd/tests/gzip/null-suffix-clobber.sh +35 -0
- data/vendor/zstd/tests/gzip/stdin.sh +31 -0
- data/vendor/zstd/tests/gzip/test-driver.sh +150 -0
- data/vendor/zstd/tests/gzip/trailing-nul.sh +37 -0
- data/vendor/zstd/tests/gzip/unpack-invalid.sh +36 -0
- data/vendor/zstd/tests/gzip/z-suffix.sh +30 -0
- data/vendor/zstd/tests/gzip/zdiff.sh +48 -0
- data/vendor/zstd/tests/gzip/zgrep-context.sh +47 -0
- data/vendor/zstd/tests/gzip/zgrep-f.sh +43 -0
- data/vendor/zstd/tests/gzip/zgrep-signal.sh +64 -0
- data/vendor/zstd/tests/gzip/znew-k.sh +40 -0
- data/vendor/zstd/tests/invalidDictionaries.c +61 -0
- data/vendor/zstd/tests/largeDictionary.c +131 -0
- data/vendor/zstd/tests/legacy.c +262 -0
- data/vendor/zstd/tests/libzstd_builds.sh +104 -0
- data/vendor/zstd/tests/longmatch.c +123 -0
- data/vendor/zstd/tests/loremOut.c +50 -0
- data/vendor/zstd/tests/loremOut.h +15 -0
- data/vendor/zstd/tests/paramgrill.c +2965 -0
- data/vendor/zstd/tests/playTests.sh +1926 -0
- data/vendor/zstd/tests/poolTests.c +271 -0
- data/vendor/zstd/tests/rateLimiter.py +41 -0
- data/vendor/zstd/tests/regression/Makefile +60 -0
- data/vendor/zstd/tests/regression/README.md +28 -0
- data/vendor/zstd/tests/regression/config.c +404 -0
- data/vendor/zstd/tests/regression/config.h +91 -0
- data/vendor/zstd/tests/regression/data.c +631 -0
- data/vendor/zstd/tests/regression/data.h +121 -0
- data/vendor/zstd/tests/regression/levels.h +59 -0
- data/vendor/zstd/tests/regression/method.c +701 -0
- data/vendor/zstd/tests/regression/method.h +65 -0
- data/vendor/zstd/tests/regression/result.c +30 -0
- data/vendor/zstd/tests/regression/result.h +103 -0
- data/vendor/zstd/tests/regression/results.csv +1480 -0
- data/vendor/zstd/tests/regression/test.c +362 -0
- data/vendor/zstd/tests/roundTripCrash.c +241 -0
- data/vendor/zstd/tests/seqgen.c +260 -0
- data/vendor/zstd/tests/seqgen.h +58 -0
- data/vendor/zstd/tests/test-license.py +156 -0
- data/vendor/zstd/tests/test-variants.sh +115 -0
- data/vendor/zstd/tests/test-zstd-versions.py +308 -0
- data/vendor/zstd/tests/test_process_substitution.bash +92 -0
- data/vendor/zstd/tests/zstreamtest.c +3467 -0
- data/vendor/zstd/zlibWrapper/BUCK +22 -0
- data/vendor/zstd/zlibWrapper/Makefile +120 -0
- data/vendor/zstd/zlibWrapper/README.md +163 -0
- data/vendor/zstd/zlibWrapper/examples/example.c +598 -0
- data/vendor/zstd/zlibWrapper/examples/example_original.c +599 -0
- data/vendor/zstd/zlibWrapper/examples/fitblk.c +254 -0
- data/vendor/zstd/zlibWrapper/examples/fitblk_original.c +233 -0
- data/vendor/zstd/zlibWrapper/examples/minigzip.c +605 -0
- data/vendor/zstd/zlibWrapper/examples/zwrapbench.c +1018 -0
- data/vendor/zstd/zlibWrapper/gzclose.c +26 -0
- data/vendor/zstd/zlibWrapper/gzcompatibility.h +68 -0
- data/vendor/zstd/zlibWrapper/gzguts.h +229 -0
- data/vendor/zstd/zlibWrapper/gzlib.c +587 -0
- data/vendor/zstd/zlibWrapper/gzread.c +637 -0
- data/vendor/zstd/zlibWrapper/gzwrite.c +632 -0
- data/vendor/zstd/zlibWrapper/zstd_zlibwrapper.c +1200 -0
- data/vendor/zstd/zlibWrapper/zstd_zlibwrapper.h +91 -0
- metadata +738 -0
|
@@ -0,0 +1,766 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
* All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* This source code is licensed under both the BSD-style license (found in the
|
|
6
|
+
* LICENSE file in the root directory of this source tree) and the GPLv2 (found
|
|
7
|
+
* in the COPYING file in the root directory of this source tree).
|
|
8
|
+
* You may select, at your option, one of the above-listed licenses.
|
|
9
|
+
*/
|
|
10
|
+
|
|
11
|
+
#include "../common/portability_macros.h"
|
|
12
|
+
|
|
13
|
+
#if defined(__ELF__) && defined(__GNUC__)
|
|
14
|
+
/* Stack marking
|
|
15
|
+
* ref: https://wiki.gentoo.org/wiki/Hardened/GNU_stack_quickstart
|
|
16
|
+
*/
|
|
17
|
+
.section .note.GNU-stack,"",%progbits
|
|
18
|
+
|
|
19
|
+
#if defined(__aarch64__)
|
|
20
|
+
/* Mark that this assembly supports BTI & PAC, because it is empty for aarch64.
|
|
21
|
+
* See: https://github.com/facebook/zstd/issues/3841
|
|
22
|
+
* See: https://gcc.godbolt.org/z/sqr5T4ffK
|
|
23
|
+
* See: https://lore.kernel.org/linux-arm-kernel/20200429211641.9279-8-broonie@kernel.org/
|
|
24
|
+
* See: https://reviews.llvm.org/D62609
|
|
25
|
+
*/
|
|
26
|
+
.pushsection .note.gnu.property, "a"
|
|
27
|
+
.p2align 3
|
|
28
|
+
.long 4 /* size of the name - "GNU\0" */
|
|
29
|
+
.long 0x10 /* size of descriptor */
|
|
30
|
+
.long 0x5 /* NT_GNU_PROPERTY_TYPE_0 */
|
|
31
|
+
.asciz "GNU"
|
|
32
|
+
.long 0xc0000000 /* pr_type - GNU_PROPERTY_AARCH64_FEATURE_1_AND */
|
|
33
|
+
.long 4 /* pr_datasz - 4 bytes */
|
|
34
|
+
.long 3 /* pr_data - GNU_PROPERTY_AARCH64_FEATURE_1_BTI | GNU_PROPERTY_AARCH64_FEATURE_1_PAC */
|
|
35
|
+
.p2align 3 /* pr_padding - bring everything to 8 byte alignment */
|
|
36
|
+
.popsection
|
|
37
|
+
#endif
|
|
38
|
+
|
|
39
|
+
#endif
|
|
40
|
+
|
|
41
|
+
// There appears to be an unreconcilable syntax difference between Linux and Darwin assemblers.
|
|
42
|
+
// Name of a private label (i.e. not exported to symbol table) on Darwin has to start with "L",
|
|
43
|
+
// on Linux has to start with ".". There's no way to have a name start with both "." and "L", so
|
|
44
|
+
// we have to use a macro.
|
|
45
|
+
#if defined(__APPLE__)
|
|
46
|
+
#define LOCAL_LABEL(label) L_ ## label
|
|
47
|
+
#else
|
|
48
|
+
#define LOCAL_LABEL(label) .L_ ## label
|
|
49
|
+
#endif
|
|
50
|
+
|
|
51
|
+
#if ZSTD_ENABLE_ASM_X86_64_BMI2
|
|
52
|
+
|
|
53
|
+
/* Calling convention:
|
|
54
|
+
*
|
|
55
|
+
* %rdi (or %rcx on Windows) contains the first argument: HUF_DecompressAsmArgs*.
|
|
56
|
+
* %rbp isn't maintained (no frame pointer).
|
|
57
|
+
* %rsp contains the stack pointer that grows down.
|
|
58
|
+
* No red-zone is assumed, only addresses >= %rsp are used.
|
|
59
|
+
* All register contents are preserved.
|
|
60
|
+
*/
|
|
61
|
+
|
|
62
|
+
ZSTD_HIDE_ASM_FUNCTION(HUF_decompress4X1_usingDTable_internal_fast_asm_loop)
|
|
63
|
+
ZSTD_HIDE_ASM_FUNCTION(HUF_decompress4X2_usingDTable_internal_fast_asm_loop)
|
|
64
|
+
ZSTD_HIDE_ASM_FUNCTION(_HUF_decompress4X2_usingDTable_internal_fast_asm_loop)
|
|
65
|
+
ZSTD_HIDE_ASM_FUNCTION(_HUF_decompress4X1_usingDTable_internal_fast_asm_loop)
|
|
66
|
+
.global HUF_decompress4X1_usingDTable_internal_fast_asm_loop
|
|
67
|
+
.global HUF_decompress4X2_usingDTable_internal_fast_asm_loop
|
|
68
|
+
.global _HUF_decompress4X1_usingDTable_internal_fast_asm_loop
|
|
69
|
+
.global _HUF_decompress4X2_usingDTable_internal_fast_asm_loop
|
|
70
|
+
.text
|
|
71
|
+
|
|
72
|
+
/* Sets up register mappings for clarity.
|
|
73
|
+
* op[], bits[], dtable & ip[0] each get their own register.
|
|
74
|
+
* ip[1,2,3] & olimit alias var[].
|
|
75
|
+
* %rax is a scratch register.
|
|
76
|
+
*/
|
|
77
|
+
|
|
78
|
+
#define op0 rsi
|
|
79
|
+
#define op1 rbx
|
|
80
|
+
#define op2 rcx
|
|
81
|
+
#define op3 rdi
|
|
82
|
+
|
|
83
|
+
#define ip0 r8
|
|
84
|
+
#define ip1 r9
|
|
85
|
+
#define ip2 r10
|
|
86
|
+
#define ip3 r11
|
|
87
|
+
|
|
88
|
+
#define bits0 rbp
|
|
89
|
+
#define bits1 rdx
|
|
90
|
+
#define bits2 r12
|
|
91
|
+
#define bits3 r13
|
|
92
|
+
#define dtable r14
|
|
93
|
+
#define olimit r15
|
|
94
|
+
|
|
95
|
+
/* var[] aliases ip[1,2,3] & olimit
|
|
96
|
+
* ip[1,2,3] are saved every iteration.
|
|
97
|
+
* olimit is only used in compute_olimit.
|
|
98
|
+
*/
|
|
99
|
+
#define var0 r15
|
|
100
|
+
#define var1 r9
|
|
101
|
+
#define var2 r10
|
|
102
|
+
#define var3 r11
|
|
103
|
+
|
|
104
|
+
/* 32-bit var registers */
|
|
105
|
+
#define vard0 r15d
|
|
106
|
+
#define vard1 r9d
|
|
107
|
+
#define vard2 r10d
|
|
108
|
+
#define vard3 r11d
|
|
109
|
+
|
|
110
|
+
/* Calls X(N) for each stream 0, 1, 2, 3. */
|
|
111
|
+
#define FOR_EACH_STREAM(X) \
|
|
112
|
+
X(0); \
|
|
113
|
+
X(1); \
|
|
114
|
+
X(2); \
|
|
115
|
+
X(3)
|
|
116
|
+
|
|
117
|
+
/* Calls X(N, idx) for each stream 0, 1, 2, 3. */
|
|
118
|
+
#define FOR_EACH_STREAM_WITH_INDEX(X, idx) \
|
|
119
|
+
X(0, idx); \
|
|
120
|
+
X(1, idx); \
|
|
121
|
+
X(2, idx); \
|
|
122
|
+
X(3, idx)
|
|
123
|
+
|
|
124
|
+
/* Define both _HUF_* & HUF_* symbols because MacOS
|
|
125
|
+
* C symbols are prefixed with '_' & Linux symbols aren't.
|
|
126
|
+
*/
|
|
127
|
+
_HUF_decompress4X1_usingDTable_internal_fast_asm_loop:
|
|
128
|
+
HUF_decompress4X1_usingDTable_internal_fast_asm_loop:
|
|
129
|
+
ZSTD_CET_ENDBRANCH
|
|
130
|
+
.cfi_startproc
|
|
131
|
+
.cfi_def_cfa_offset 8
|
|
132
|
+
.cfi_offset %rip, -8
|
|
133
|
+
/* Save all registers - even if they are callee saved for simplicity. */
|
|
134
|
+
push %rax
|
|
135
|
+
.cfi_def_cfa_offset 16
|
|
136
|
+
.cfi_offset rax, -16
|
|
137
|
+
push %rbx
|
|
138
|
+
.cfi_def_cfa_offset 24
|
|
139
|
+
.cfi_offset rbx, -24
|
|
140
|
+
push %rcx
|
|
141
|
+
.cfi_def_cfa_offset 32
|
|
142
|
+
.cfi_offset rcx, -32
|
|
143
|
+
push %rdx
|
|
144
|
+
.cfi_def_cfa_offset 40
|
|
145
|
+
.cfi_offset rdx, -40
|
|
146
|
+
push %rbp
|
|
147
|
+
.cfi_def_cfa_offset 48
|
|
148
|
+
.cfi_offset rbp, -48
|
|
149
|
+
push %rsi
|
|
150
|
+
.cfi_def_cfa_offset 56
|
|
151
|
+
.cfi_offset rsi, -56
|
|
152
|
+
push %rdi
|
|
153
|
+
.cfi_def_cfa_offset 64
|
|
154
|
+
.cfi_offset rdi, -64
|
|
155
|
+
push %r8
|
|
156
|
+
.cfi_def_cfa_offset 72
|
|
157
|
+
.cfi_offset r8, -72
|
|
158
|
+
push %r9
|
|
159
|
+
.cfi_def_cfa_offset 80
|
|
160
|
+
.cfi_offset r9, -80
|
|
161
|
+
push %r10
|
|
162
|
+
.cfi_def_cfa_offset 88
|
|
163
|
+
.cfi_offset r10, -88
|
|
164
|
+
push %r11
|
|
165
|
+
.cfi_def_cfa_offset 96
|
|
166
|
+
.cfi_offset r11, -96
|
|
167
|
+
push %r12
|
|
168
|
+
.cfi_def_cfa_offset 104
|
|
169
|
+
.cfi_offset r12, -104
|
|
170
|
+
push %r13
|
|
171
|
+
.cfi_def_cfa_offset 112
|
|
172
|
+
.cfi_offset r13, -112
|
|
173
|
+
push %r14
|
|
174
|
+
.cfi_def_cfa_offset 120
|
|
175
|
+
.cfi_offset r14, -120
|
|
176
|
+
push %r15
|
|
177
|
+
.cfi_def_cfa_offset 128
|
|
178
|
+
.cfi_offset r15, -128
|
|
179
|
+
|
|
180
|
+
/* Read HUF_DecompressAsmArgs* args from %rax */
|
|
181
|
+
#if defined(_WIN32)
|
|
182
|
+
movq %rcx, %rax
|
|
183
|
+
#else
|
|
184
|
+
movq %rdi, %rax
|
|
185
|
+
#endif
|
|
186
|
+
movq 0(%rax), %ip0
|
|
187
|
+
movq 8(%rax), %ip1
|
|
188
|
+
movq 16(%rax), %ip2
|
|
189
|
+
movq 24(%rax), %ip3
|
|
190
|
+
movq 32(%rax), %op0
|
|
191
|
+
movq 40(%rax), %op1
|
|
192
|
+
movq 48(%rax), %op2
|
|
193
|
+
movq 56(%rax), %op3
|
|
194
|
+
movq 64(%rax), %bits0
|
|
195
|
+
movq 72(%rax), %bits1
|
|
196
|
+
movq 80(%rax), %bits2
|
|
197
|
+
movq 88(%rax), %bits3
|
|
198
|
+
movq 96(%rax), %dtable
|
|
199
|
+
push %rax /* argument */
|
|
200
|
+
.cfi_def_cfa_offset 136
|
|
201
|
+
push 104(%rax) /* ilowest */
|
|
202
|
+
.cfi_def_cfa_offset 144
|
|
203
|
+
push 112(%rax) /* oend */
|
|
204
|
+
.cfi_def_cfa_offset 152
|
|
205
|
+
push %olimit /* olimit space */
|
|
206
|
+
.cfi_def_cfa_offset 160
|
|
207
|
+
|
|
208
|
+
subq $24, %rsp
|
|
209
|
+
.cfi_def_cfa_offset 184
|
|
210
|
+
|
|
211
|
+
LOCAL_LABEL(4X1_compute_olimit):
|
|
212
|
+
/* Computes how many iterations we can do safely
|
|
213
|
+
* %r15, %rax may be clobbered
|
|
214
|
+
* rbx, rdx must be saved
|
|
215
|
+
* op3 & ip0 mustn't be clobbered
|
|
216
|
+
*/
|
|
217
|
+
movq %rbx, 0(%rsp)
|
|
218
|
+
movq %rdx, 8(%rsp)
|
|
219
|
+
|
|
220
|
+
movq 32(%rsp), %rax /* rax = oend */
|
|
221
|
+
subq %op3, %rax /* rax = oend - op3 */
|
|
222
|
+
|
|
223
|
+
/* r15 = (oend - op3) / 5 */
|
|
224
|
+
movabsq $-3689348814741910323, %rdx
|
|
225
|
+
mulq %rdx
|
|
226
|
+
movq %rdx, %r15
|
|
227
|
+
shrq $2, %r15
|
|
228
|
+
|
|
229
|
+
movq %ip0, %rax /* rax = ip0 */
|
|
230
|
+
movq 40(%rsp), %rdx /* rdx = ilowest */
|
|
231
|
+
subq %rdx, %rax /* rax = ip0 - ilowest */
|
|
232
|
+
movq %rax, %rbx /* rbx = ip0 - ilowest */
|
|
233
|
+
|
|
234
|
+
/* rdx = (ip0 - ilowest) / 7 */
|
|
235
|
+
movabsq $2635249153387078803, %rdx
|
|
236
|
+
mulq %rdx
|
|
237
|
+
subq %rdx, %rbx
|
|
238
|
+
shrq %rbx
|
|
239
|
+
addq %rbx, %rdx
|
|
240
|
+
shrq $2, %rdx
|
|
241
|
+
|
|
242
|
+
/* r15 = min(%rdx, %r15) */
|
|
243
|
+
cmpq %rdx, %r15
|
|
244
|
+
cmova %rdx, %r15
|
|
245
|
+
|
|
246
|
+
/* r15 = r15 * 5 */
|
|
247
|
+
leaq (%r15, %r15, 4), %r15
|
|
248
|
+
|
|
249
|
+
/* olimit = op3 + r15 */
|
|
250
|
+
addq %op3, %olimit
|
|
251
|
+
|
|
252
|
+
movq 8(%rsp), %rdx
|
|
253
|
+
movq 0(%rsp), %rbx
|
|
254
|
+
|
|
255
|
+
/* If (op3 + 20 > olimit) */
|
|
256
|
+
movq %op3, %rax /* rax = op3 */
|
|
257
|
+
cmpq %rax, %olimit /* op3 == olimit */
|
|
258
|
+
je LOCAL_LABEL(4X1_exit)
|
|
259
|
+
|
|
260
|
+
/* If (ip1 < ip0) go to exit */
|
|
261
|
+
cmpq %ip0, %ip1
|
|
262
|
+
jb LOCAL_LABEL(4X1_exit)
|
|
263
|
+
|
|
264
|
+
/* If (ip2 < ip1) go to exit */
|
|
265
|
+
cmpq %ip1, %ip2
|
|
266
|
+
jb LOCAL_LABEL(4X1_exit)
|
|
267
|
+
|
|
268
|
+
/* If (ip3 < ip2) go to exit */
|
|
269
|
+
cmpq %ip2, %ip3
|
|
270
|
+
jb LOCAL_LABEL(4X1_exit)
|
|
271
|
+
|
|
272
|
+
/* Reads top 11 bits from bits[n]
|
|
273
|
+
* Loads dt[bits[n]] into var[n]
|
|
274
|
+
*/
|
|
275
|
+
#define GET_NEXT_DELT(n) \
|
|
276
|
+
movq $53, %var##n; \
|
|
277
|
+
shrxq %var##n, %bits##n, %var##n; \
|
|
278
|
+
movzwl (%dtable,%var##n,2),%vard##n
|
|
279
|
+
|
|
280
|
+
/* var[n] must contain the DTable entry computed with GET_NEXT_DELT
|
|
281
|
+
* Moves var[n] to %rax
|
|
282
|
+
* bits[n] <<= var[n] & 63
|
|
283
|
+
* op[n][idx] = %rax >> 8
|
|
284
|
+
* %ah is a way to access bits [8, 16) of %rax
|
|
285
|
+
*/
|
|
286
|
+
#define DECODE_FROM_DELT(n, idx) \
|
|
287
|
+
movq %var##n, %rax; \
|
|
288
|
+
shlxq %var##n, %bits##n, %bits##n; \
|
|
289
|
+
movb %ah, idx(%op##n)
|
|
290
|
+
|
|
291
|
+
/* Assumes GET_NEXT_DELT has been called.
|
|
292
|
+
* Calls DECODE_FROM_DELT then GET_NEXT_DELT
|
|
293
|
+
*/
|
|
294
|
+
#define DECODE_AND_GET_NEXT(n, idx) \
|
|
295
|
+
DECODE_FROM_DELT(n, idx); \
|
|
296
|
+
GET_NEXT_DELT(n) \
|
|
297
|
+
|
|
298
|
+
/* // ctz & nbBytes is stored in bits[n]
|
|
299
|
+
* // nbBits is stored in %rax
|
|
300
|
+
* ctz = CTZ[bits[n]]
|
|
301
|
+
* nbBits = ctz & 7
|
|
302
|
+
* nbBytes = ctz >> 3
|
|
303
|
+
* op[n] += 5
|
|
304
|
+
* ip[n] -= nbBytes
|
|
305
|
+
* // Note: x86-64 is little-endian ==> no bswap
|
|
306
|
+
* bits[n] = MEM_readST(ip[n]) | 1
|
|
307
|
+
* bits[n] <<= nbBits
|
|
308
|
+
*/
|
|
309
|
+
#define RELOAD_BITS(n) \
|
|
310
|
+
bsfq %bits##n, %bits##n; \
|
|
311
|
+
movq %bits##n, %rax; \
|
|
312
|
+
andq $7, %rax; \
|
|
313
|
+
shrq $3, %bits##n; \
|
|
314
|
+
leaq 5(%op##n), %op##n; \
|
|
315
|
+
subq %bits##n, %ip##n; \
|
|
316
|
+
movq (%ip##n), %bits##n; \
|
|
317
|
+
orq $1, %bits##n; \
|
|
318
|
+
shlx %rax, %bits##n, %bits##n
|
|
319
|
+
|
|
320
|
+
/* Store clobbered variables on the stack */
|
|
321
|
+
movq %olimit, 24(%rsp)
|
|
322
|
+
movq %ip1, 0(%rsp)
|
|
323
|
+
movq %ip2, 8(%rsp)
|
|
324
|
+
movq %ip3, 16(%rsp)
|
|
325
|
+
|
|
326
|
+
/* Call GET_NEXT_DELT for each stream */
|
|
327
|
+
FOR_EACH_STREAM(GET_NEXT_DELT)
|
|
328
|
+
|
|
329
|
+
.p2align 6
|
|
330
|
+
|
|
331
|
+
LOCAL_LABEL(4X1_loop_body):
|
|
332
|
+
/* Decode 5 symbols in each of the 4 streams (20 total)
|
|
333
|
+
* Must have called GET_NEXT_DELT for each stream
|
|
334
|
+
*/
|
|
335
|
+
FOR_EACH_STREAM_WITH_INDEX(DECODE_AND_GET_NEXT, 0)
|
|
336
|
+
FOR_EACH_STREAM_WITH_INDEX(DECODE_AND_GET_NEXT, 1)
|
|
337
|
+
FOR_EACH_STREAM_WITH_INDEX(DECODE_AND_GET_NEXT, 2)
|
|
338
|
+
FOR_EACH_STREAM_WITH_INDEX(DECODE_AND_GET_NEXT, 3)
|
|
339
|
+
FOR_EACH_STREAM_WITH_INDEX(DECODE_FROM_DELT, 4)
|
|
340
|
+
|
|
341
|
+
/* Load ip[1,2,3] from stack (var[] aliases them)
|
|
342
|
+
* ip[] is needed for RELOAD_BITS
|
|
343
|
+
* Each will be stored back to the stack after RELOAD
|
|
344
|
+
*/
|
|
345
|
+
movq 0(%rsp), %ip1
|
|
346
|
+
movq 8(%rsp), %ip2
|
|
347
|
+
movq 16(%rsp), %ip3
|
|
348
|
+
|
|
349
|
+
/* Reload each stream & fetch the next table entry
|
|
350
|
+
* to prepare for the next iteration
|
|
351
|
+
*/
|
|
352
|
+
RELOAD_BITS(0)
|
|
353
|
+
GET_NEXT_DELT(0)
|
|
354
|
+
|
|
355
|
+
RELOAD_BITS(1)
|
|
356
|
+
movq %ip1, 0(%rsp)
|
|
357
|
+
GET_NEXT_DELT(1)
|
|
358
|
+
|
|
359
|
+
RELOAD_BITS(2)
|
|
360
|
+
movq %ip2, 8(%rsp)
|
|
361
|
+
GET_NEXT_DELT(2)
|
|
362
|
+
|
|
363
|
+
RELOAD_BITS(3)
|
|
364
|
+
movq %ip3, 16(%rsp)
|
|
365
|
+
GET_NEXT_DELT(3)
|
|
366
|
+
|
|
367
|
+
/* If op3 < olimit: continue the loop */
|
|
368
|
+
cmp %op3, 24(%rsp)
|
|
369
|
+
ja LOCAL_LABEL(4X1_loop_body)
|
|
370
|
+
|
|
371
|
+
/* Reload ip[1,2,3] from stack */
|
|
372
|
+
movq 0(%rsp), %ip1
|
|
373
|
+
movq 8(%rsp), %ip2
|
|
374
|
+
movq 16(%rsp), %ip3
|
|
375
|
+
|
|
376
|
+
/* Re-compute olimit */
|
|
377
|
+
jmp LOCAL_LABEL(4X1_compute_olimit)
|
|
378
|
+
|
|
379
|
+
#undef GET_NEXT_DELT
|
|
380
|
+
#undef DECODE_FROM_DELT
|
|
381
|
+
#undef DECODE
|
|
382
|
+
#undef RELOAD_BITS
|
|
383
|
+
LOCAL_LABEL(4X1_exit):
|
|
384
|
+
addq $24, %rsp
|
|
385
|
+
.cfi_def_cfa_offset 160
|
|
386
|
+
|
|
387
|
+
/* Restore stack (oend & olimit) */
|
|
388
|
+
pop %rax /* olimit */
|
|
389
|
+
.cfi_def_cfa_offset 152
|
|
390
|
+
pop %rax /* oend */
|
|
391
|
+
.cfi_def_cfa_offset 144
|
|
392
|
+
pop %rax /* ilowest */
|
|
393
|
+
.cfi_def_cfa_offset 136
|
|
394
|
+
pop %rax /* arg */
|
|
395
|
+
.cfi_def_cfa_offset 128
|
|
396
|
+
|
|
397
|
+
/* Save ip / op / bits */
|
|
398
|
+
movq %ip0, 0(%rax)
|
|
399
|
+
movq %ip1, 8(%rax)
|
|
400
|
+
movq %ip2, 16(%rax)
|
|
401
|
+
movq %ip3, 24(%rax)
|
|
402
|
+
movq %op0, 32(%rax)
|
|
403
|
+
movq %op1, 40(%rax)
|
|
404
|
+
movq %op2, 48(%rax)
|
|
405
|
+
movq %op3, 56(%rax)
|
|
406
|
+
movq %bits0, 64(%rax)
|
|
407
|
+
movq %bits1, 72(%rax)
|
|
408
|
+
movq %bits2, 80(%rax)
|
|
409
|
+
movq %bits3, 88(%rax)
|
|
410
|
+
|
|
411
|
+
/* Restore registers */
|
|
412
|
+
pop %r15
|
|
413
|
+
.cfi_restore r15
|
|
414
|
+
.cfi_def_cfa_offset 120
|
|
415
|
+
pop %r14
|
|
416
|
+
.cfi_restore r14
|
|
417
|
+
.cfi_def_cfa_offset 112
|
|
418
|
+
pop %r13
|
|
419
|
+
.cfi_restore r13
|
|
420
|
+
.cfi_def_cfa_offset 104
|
|
421
|
+
pop %r12
|
|
422
|
+
.cfi_restore r12
|
|
423
|
+
.cfi_def_cfa_offset 96
|
|
424
|
+
pop %r11
|
|
425
|
+
.cfi_restore r11
|
|
426
|
+
.cfi_def_cfa_offset 88
|
|
427
|
+
pop %r10
|
|
428
|
+
.cfi_restore r10
|
|
429
|
+
.cfi_def_cfa_offset 80
|
|
430
|
+
pop %r9
|
|
431
|
+
.cfi_restore r9
|
|
432
|
+
.cfi_def_cfa_offset 72
|
|
433
|
+
pop %r8
|
|
434
|
+
.cfi_restore r8
|
|
435
|
+
.cfi_def_cfa_offset 64
|
|
436
|
+
pop %rdi
|
|
437
|
+
.cfi_restore rdi
|
|
438
|
+
.cfi_def_cfa_offset 56
|
|
439
|
+
pop %rsi
|
|
440
|
+
.cfi_restore rsi
|
|
441
|
+
.cfi_def_cfa_offset 48
|
|
442
|
+
pop %rbp
|
|
443
|
+
.cfi_restore rbp
|
|
444
|
+
.cfi_def_cfa_offset 40
|
|
445
|
+
pop %rdx
|
|
446
|
+
.cfi_restore rdx
|
|
447
|
+
.cfi_def_cfa_offset 32
|
|
448
|
+
pop %rcx
|
|
449
|
+
.cfi_restore rcx
|
|
450
|
+
.cfi_def_cfa_offset 24
|
|
451
|
+
pop %rbx
|
|
452
|
+
.cfi_restore rbx
|
|
453
|
+
.cfi_def_cfa_offset 16
|
|
454
|
+
pop %rax
|
|
455
|
+
.cfi_restore rax
|
|
456
|
+
.cfi_def_cfa_offset 8
|
|
457
|
+
ret
|
|
458
|
+
.cfi_endproc
|
|
459
|
+
|
|
460
|
+
_HUF_decompress4X2_usingDTable_internal_fast_asm_loop:
|
|
461
|
+
HUF_decompress4X2_usingDTable_internal_fast_asm_loop:
|
|
462
|
+
ZSTD_CET_ENDBRANCH
|
|
463
|
+
.cfi_startproc
|
|
464
|
+
.cfi_def_cfa_offset 8
|
|
465
|
+
.cfi_offset %rip, -8
|
|
466
|
+
/* Save all registers - even if they are callee saved for simplicity. */
|
|
467
|
+
push %rax
|
|
468
|
+
.cfi_def_cfa_offset 16
|
|
469
|
+
.cfi_offset rax, -16
|
|
470
|
+
push %rbx
|
|
471
|
+
.cfi_def_cfa_offset 24
|
|
472
|
+
.cfi_offset rbx, -24
|
|
473
|
+
push %rcx
|
|
474
|
+
.cfi_def_cfa_offset 32
|
|
475
|
+
.cfi_offset rcx, -32
|
|
476
|
+
push %rdx
|
|
477
|
+
.cfi_def_cfa_offset 40
|
|
478
|
+
.cfi_offset rdx, -40
|
|
479
|
+
push %rbp
|
|
480
|
+
.cfi_def_cfa_offset 48
|
|
481
|
+
.cfi_offset rbp, -48
|
|
482
|
+
push %rsi
|
|
483
|
+
.cfi_def_cfa_offset 56
|
|
484
|
+
.cfi_offset rsi, -56
|
|
485
|
+
push %rdi
|
|
486
|
+
.cfi_def_cfa_offset 64
|
|
487
|
+
.cfi_offset rdi, -64
|
|
488
|
+
push %r8
|
|
489
|
+
.cfi_def_cfa_offset 72
|
|
490
|
+
.cfi_offset r8, -72
|
|
491
|
+
push %r9
|
|
492
|
+
.cfi_def_cfa_offset 80
|
|
493
|
+
.cfi_offset r9, -80
|
|
494
|
+
push %r10
|
|
495
|
+
.cfi_def_cfa_offset 88
|
|
496
|
+
.cfi_offset r10, -88
|
|
497
|
+
push %r11
|
|
498
|
+
.cfi_def_cfa_offset 96
|
|
499
|
+
.cfi_offset r11, -96
|
|
500
|
+
push %r12
|
|
501
|
+
.cfi_def_cfa_offset 104
|
|
502
|
+
.cfi_offset r12, -104
|
|
503
|
+
push %r13
|
|
504
|
+
.cfi_def_cfa_offset 112
|
|
505
|
+
.cfi_offset r13, -112
|
|
506
|
+
push %r14
|
|
507
|
+
.cfi_def_cfa_offset 120
|
|
508
|
+
.cfi_offset r14, -120
|
|
509
|
+
push %r15
|
|
510
|
+
.cfi_def_cfa_offset 128
|
|
511
|
+
.cfi_offset r15, -128
|
|
512
|
+
|
|
513
|
+
/* Read HUF_DecompressAsmArgs* args from %rax */
|
|
514
|
+
#if defined(_WIN32)
|
|
515
|
+
movq %rcx, %rax
|
|
516
|
+
#else
|
|
517
|
+
movq %rdi, %rax
|
|
518
|
+
#endif
|
|
519
|
+
movq 0(%rax), %ip0
|
|
520
|
+
movq 8(%rax), %ip1
|
|
521
|
+
movq 16(%rax), %ip2
|
|
522
|
+
movq 24(%rax), %ip3
|
|
523
|
+
movq 32(%rax), %op0
|
|
524
|
+
movq 40(%rax), %op1
|
|
525
|
+
movq 48(%rax), %op2
|
|
526
|
+
movq 56(%rax), %op3
|
|
527
|
+
movq 64(%rax), %bits0
|
|
528
|
+
movq 72(%rax), %bits1
|
|
529
|
+
movq 80(%rax), %bits2
|
|
530
|
+
movq 88(%rax), %bits3
|
|
531
|
+
movq 96(%rax), %dtable
|
|
532
|
+
push %rax /* argument */
|
|
533
|
+
.cfi_def_cfa_offset 136
|
|
534
|
+
push %rax /* olimit */
|
|
535
|
+
.cfi_def_cfa_offset 144
|
|
536
|
+
push 104(%rax) /* ilowest */
|
|
537
|
+
.cfi_def_cfa_offset 152
|
|
538
|
+
|
|
539
|
+
movq 112(%rax), %rax
|
|
540
|
+
push %rax /* oend3 */
|
|
541
|
+
.cfi_def_cfa_offset 160
|
|
542
|
+
|
|
543
|
+
movq %op3, %rax
|
|
544
|
+
push %rax /* oend2 */
|
|
545
|
+
.cfi_def_cfa_offset 168
|
|
546
|
+
|
|
547
|
+
movq %op2, %rax
|
|
548
|
+
push %rax /* oend1 */
|
|
549
|
+
.cfi_def_cfa_offset 176
|
|
550
|
+
|
|
551
|
+
movq %op1, %rax
|
|
552
|
+
push %rax /* oend0 */
|
|
553
|
+
.cfi_def_cfa_offset 184
|
|
554
|
+
|
|
555
|
+
/* Scratch space */
|
|
556
|
+
subq $8, %rsp
|
|
557
|
+
.cfi_def_cfa_offset 192
|
|
558
|
+
|
|
559
|
+
LOCAL_LABEL(4X2_compute_olimit):
|
|
560
|
+
/* Computes how many iterations we can do safely
|
|
561
|
+
* %r15, %rax may be clobbered
|
|
562
|
+
* rdx must be saved
|
|
563
|
+
* op[1,2,3,4] & ip0 mustn't be clobbered
|
|
564
|
+
*/
|
|
565
|
+
movq %rdx, 0(%rsp)
|
|
566
|
+
|
|
567
|
+
/* We can consume up to 7 input bytes each iteration. */
|
|
568
|
+
movq %ip0, %rax /* rax = ip0 */
|
|
569
|
+
movq 40(%rsp), %rdx /* rdx = ilowest */
|
|
570
|
+
subq %rdx, %rax /* rax = ip0 - ilowest */
|
|
571
|
+
movq %rax, %r15 /* r15 = ip0 - ilowest */
|
|
572
|
+
|
|
573
|
+
/* rdx = rax / 7 */
|
|
574
|
+
movabsq $2635249153387078803, %rdx
|
|
575
|
+
mulq %rdx
|
|
576
|
+
subq %rdx, %r15
|
|
577
|
+
shrq %r15
|
|
578
|
+
addq %r15, %rdx
|
|
579
|
+
shrq $2, %rdx
|
|
580
|
+
|
|
581
|
+
/* r15 = (ip0 - ilowest) / 7 */
|
|
582
|
+
movq %rdx, %r15
|
|
583
|
+
|
|
584
|
+
/* r15 = min(r15, min(oend0 - op0, oend1 - op1, oend2 - op2, oend3 - op3) / 10) */
|
|
585
|
+
movq 8(%rsp), %rax /* rax = oend0 */
|
|
586
|
+
subq %op0, %rax /* rax = oend0 - op0 */
|
|
587
|
+
movq 16(%rsp), %rdx /* rdx = oend1 */
|
|
588
|
+
subq %op1, %rdx /* rdx = oend1 - op1 */
|
|
589
|
+
|
|
590
|
+
cmpq %rax, %rdx
|
|
591
|
+
cmova %rax, %rdx /* rdx = min(%rdx, %rax) */
|
|
592
|
+
|
|
593
|
+
movq 24(%rsp), %rax /* rax = oend2 */
|
|
594
|
+
subq %op2, %rax /* rax = oend2 - op2 */
|
|
595
|
+
|
|
596
|
+
cmpq %rax, %rdx
|
|
597
|
+
cmova %rax, %rdx /* rdx = min(%rdx, %rax) */
|
|
598
|
+
|
|
599
|
+
movq 32(%rsp), %rax /* rax = oend3 */
|
|
600
|
+
subq %op3, %rax /* rax = oend3 - op3 */
|
|
601
|
+
|
|
602
|
+
cmpq %rax, %rdx
|
|
603
|
+
cmova %rax, %rdx /* rdx = min(%rdx, %rax) */
|
|
604
|
+
|
|
605
|
+
movabsq $-3689348814741910323, %rax
|
|
606
|
+
mulq %rdx
|
|
607
|
+
shrq $3, %rdx /* rdx = rdx / 10 */
|
|
608
|
+
|
|
609
|
+
/* r15 = min(%rdx, %r15) */
|
|
610
|
+
cmpq %rdx, %r15
|
|
611
|
+
cmova %rdx, %r15
|
|
612
|
+
|
|
613
|
+
/* olimit = op3 + 5 * r15 */
|
|
614
|
+
movq %r15, %rax
|
|
615
|
+
leaq (%op3, %rax, 4), %olimit
|
|
616
|
+
addq %rax, %olimit
|
|
617
|
+
|
|
618
|
+
movq 0(%rsp), %rdx
|
|
619
|
+
|
|
620
|
+
/* If (op3 + 10 > olimit) */
|
|
621
|
+
movq %op3, %rax /* rax = op3 */
|
|
622
|
+
cmpq %rax, %olimit /* op3 == olimit */
|
|
623
|
+
je LOCAL_LABEL(4X2_exit)
|
|
624
|
+
|
|
625
|
+
/* If (ip1 < ip0) go to exit */
|
|
626
|
+
cmpq %ip0, %ip1
|
|
627
|
+
jb LOCAL_LABEL(4X2_exit)
|
|
628
|
+
|
|
629
|
+
/* If (ip2 < ip1) go to exit */
|
|
630
|
+
cmpq %ip1, %ip2
|
|
631
|
+
jb LOCAL_LABEL(4X2_exit)
|
|
632
|
+
|
|
633
|
+
/* If (ip3 < ip2) go to exit */
|
|
634
|
+
cmpq %ip2, %ip3
|
|
635
|
+
jb LOCAL_LABEL(4X2_exit)
|
|
636
|
+
|
|
637
|
+
#define DECODE(n, idx) \
|
|
638
|
+
movq %bits##n, %rax; \
|
|
639
|
+
shrq $53, %rax; \
|
|
640
|
+
movzwl 0(%dtable,%rax,4),%r8d; \
|
|
641
|
+
movzbl 2(%dtable,%rax,4),%r15d; \
|
|
642
|
+
movzbl 3(%dtable,%rax,4),%eax; \
|
|
643
|
+
movw %r8w, (%op##n); \
|
|
644
|
+
shlxq %r15, %bits##n, %bits##n; \
|
|
645
|
+
addq %rax, %op##n
|
|
646
|
+
|
|
647
|
+
#define RELOAD_BITS(n) \
|
|
648
|
+
bsfq %bits##n, %bits##n; \
|
|
649
|
+
movq %bits##n, %rax; \
|
|
650
|
+
shrq $3, %bits##n; \
|
|
651
|
+
andq $7, %rax; \
|
|
652
|
+
subq %bits##n, %ip##n; \
|
|
653
|
+
movq (%ip##n), %bits##n; \
|
|
654
|
+
orq $1, %bits##n; \
|
|
655
|
+
shlxq %rax, %bits##n, %bits##n
|
|
656
|
+
|
|
657
|
+
|
|
658
|
+
movq %olimit, 48(%rsp)
|
|
659
|
+
|
|
660
|
+
.p2align 6
|
|
661
|
+
|
|
662
|
+
LOCAL_LABEL(4X2_loop_body):
|
|
663
|
+
/* We clobber r8, so store it on the stack */
|
|
664
|
+
movq %r8, 0(%rsp)
|
|
665
|
+
|
|
666
|
+
/* Decode 5 symbols from each of the 4 streams (20 symbols total). */
|
|
667
|
+
FOR_EACH_STREAM_WITH_INDEX(DECODE, 0)
|
|
668
|
+
FOR_EACH_STREAM_WITH_INDEX(DECODE, 1)
|
|
669
|
+
FOR_EACH_STREAM_WITH_INDEX(DECODE, 2)
|
|
670
|
+
FOR_EACH_STREAM_WITH_INDEX(DECODE, 3)
|
|
671
|
+
FOR_EACH_STREAM_WITH_INDEX(DECODE, 4)
|
|
672
|
+
|
|
673
|
+
/* Reload r8 */
|
|
674
|
+
movq 0(%rsp), %r8
|
|
675
|
+
|
|
676
|
+
FOR_EACH_STREAM(RELOAD_BITS)
|
|
677
|
+
|
|
678
|
+
cmp %op3, 48(%rsp)
|
|
679
|
+
ja LOCAL_LABEL(4X2_loop_body)
|
|
680
|
+
jmp LOCAL_LABEL(4X2_compute_olimit)
|
|
681
|
+
|
|
682
|
+
#undef DECODE
|
|
683
|
+
#undef RELOAD_BITS
|
|
684
|
+
LOCAL_LABEL(4X2_exit):
|
|
685
|
+
addq $8, %rsp
|
|
686
|
+
.cfi_def_cfa_offset 184
|
|
687
|
+
/* Restore stack (oend & olimit) */
|
|
688
|
+
pop %rax /* oend0 */
|
|
689
|
+
.cfi_def_cfa_offset 176
|
|
690
|
+
pop %rax /* oend1 */
|
|
691
|
+
.cfi_def_cfa_offset 168
|
|
692
|
+
pop %rax /* oend2 */
|
|
693
|
+
.cfi_def_cfa_offset 160
|
|
694
|
+
pop %rax /* oend3 */
|
|
695
|
+
.cfi_def_cfa_offset 152
|
|
696
|
+
pop %rax /* ilowest */
|
|
697
|
+
.cfi_def_cfa_offset 144
|
|
698
|
+
pop %rax /* olimit */
|
|
699
|
+
.cfi_def_cfa_offset 136
|
|
700
|
+
pop %rax /* arg */
|
|
701
|
+
.cfi_def_cfa_offset 128
|
|
702
|
+
|
|
703
|
+
/* Save ip / op / bits */
|
|
704
|
+
movq %ip0, 0(%rax)
|
|
705
|
+
movq %ip1, 8(%rax)
|
|
706
|
+
movq %ip2, 16(%rax)
|
|
707
|
+
movq %ip3, 24(%rax)
|
|
708
|
+
movq %op0, 32(%rax)
|
|
709
|
+
movq %op1, 40(%rax)
|
|
710
|
+
movq %op2, 48(%rax)
|
|
711
|
+
movq %op3, 56(%rax)
|
|
712
|
+
movq %bits0, 64(%rax)
|
|
713
|
+
movq %bits1, 72(%rax)
|
|
714
|
+
movq %bits2, 80(%rax)
|
|
715
|
+
movq %bits3, 88(%rax)
|
|
716
|
+
|
|
717
|
+
/* Restore registers */
|
|
718
|
+
pop %r15
|
|
719
|
+
.cfi_restore r15
|
|
720
|
+
.cfi_def_cfa_offset 120
|
|
721
|
+
pop %r14
|
|
722
|
+
.cfi_restore r14
|
|
723
|
+
.cfi_def_cfa_offset 112
|
|
724
|
+
pop %r13
|
|
725
|
+
.cfi_restore r13
|
|
726
|
+
.cfi_def_cfa_offset 104
|
|
727
|
+
pop %r12
|
|
728
|
+
.cfi_restore r12
|
|
729
|
+
.cfi_def_cfa_offset 96
|
|
730
|
+
pop %r11
|
|
731
|
+
.cfi_restore r11
|
|
732
|
+
.cfi_def_cfa_offset 88
|
|
733
|
+
pop %r10
|
|
734
|
+
.cfi_restore r10
|
|
735
|
+
.cfi_def_cfa_offset 80
|
|
736
|
+
pop %r9
|
|
737
|
+
.cfi_restore r9
|
|
738
|
+
.cfi_def_cfa_offset 72
|
|
739
|
+
pop %r8
|
|
740
|
+
.cfi_restore r8
|
|
741
|
+
.cfi_def_cfa_offset 64
|
|
742
|
+
pop %rdi
|
|
743
|
+
.cfi_restore rdi
|
|
744
|
+
.cfi_def_cfa_offset 56
|
|
745
|
+
pop %rsi
|
|
746
|
+
.cfi_restore rsi
|
|
747
|
+
.cfi_def_cfa_offset 48
|
|
748
|
+
pop %rbp
|
|
749
|
+
.cfi_restore rbp
|
|
750
|
+
.cfi_def_cfa_offset 40
|
|
751
|
+
pop %rdx
|
|
752
|
+
.cfi_restore rdx
|
|
753
|
+
.cfi_def_cfa_offset 32
|
|
754
|
+
pop %rcx
|
|
755
|
+
.cfi_restore rcx
|
|
756
|
+
.cfi_def_cfa_offset 24
|
|
757
|
+
pop %rbx
|
|
758
|
+
.cfi_restore rbx
|
|
759
|
+
.cfi_def_cfa_offset 16
|
|
760
|
+
pop %rax
|
|
761
|
+
.cfi_restore rax
|
|
762
|
+
.cfi_def_cfa_offset 8
|
|
763
|
+
ret
|
|
764
|
+
.cfi_endproc
|
|
765
|
+
|
|
766
|
+
#endif
|