gitextract_f0ho13on/ ├── .github/ │ ├── FUNDING.yml │ └── workflows/ │ ├── build-all.yml │ ├── build-native.yml │ ├── ci.yml │ ├── install-extras.sh │ ├── release-assets.yml │ ├── run-msan.sh │ └── update-manpage.yml ├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md ├── dist.sh ├── docs/ │ ├── bugs.md │ ├── coding-guidelines.md │ ├── design.md │ ├── execstack.md │ ├── glossary.md │ ├── memory-sanitizer.md │ ├── mold.1 │ └── mold.md ├── install-build-deps.sh ├── install-cross-tools.sh ├── lib/ │ ├── aho-corasick.cc │ ├── atomics.h │ ├── bitvector.h │ ├── compress.cc │ ├── config.h.in │ ├── crc32.cc │ ├── demangle.cc │ ├── filepath.cc │ ├── gentoo-test.sh │ ├── glob.cc │ ├── hyperloglog.cc │ ├── integers.h │ ├── lib.h │ ├── perf.cc │ ├── random.cc │ ├── siphash.h │ ├── tar.cc │ └── update-git-hash.cmake ├── src/ │ ├── arch-arm32.cc │ ├── arch-arm64.cc │ ├── arch-i386.cc │ ├── arch-loongarch.cc │ ├── arch-m68k.cc │ ├── arch-ppc32.cc │ ├── arch-ppc64v1.cc │ ├── arch-ppc64v2.cc │ ├── arch-riscv.cc │ ├── arch-s390x.cc │ ├── arch-sh4.cc │ ├── arch-sparc64.cc │ ├── arch-x86-64.cc │ ├── archive-file.cc │ ├── cmdline.cc │ ├── elf.cc │ ├── elf.h │ ├── entry.cc │ ├── error.cc │ ├── filetype.cc │ ├── gc-sections.cc │ ├── gdb-index.cc │ ├── icf.cc │ ├── input-files.cc │ ├── input-sections.cc │ ├── jobs-unix.cc │ ├── jobs-win32.cc │ ├── linker-script.cc │ ├── lto-unix.cc │ ├── lto-win32.cc │ ├── lto.h │ ├── main.cc │ ├── mapfile.cc │ ├── mapped-file-unix.cc │ ├── mapped-file-win32.cc │ ├── mold-wrapper.c │ ├── mold.h │ ├── output-chunks.cc │ ├── output-file-unix.cc │ ├── output-file-win32.cc │ ├── passes.cc │ ├── relocatable.cc │ ├── shrink-sections.cc │ ├── signal-unix.cc │ ├── signal-win32.cc │ ├── subprocess-unix.cc │ ├── subprocess-win32.cc │ ├── thunks.cc │ └── tls.cc ├── test/ │ ├── CMakeLists.txt │ ├── abs-error.sh │ ├── absolute-symbols.sh │ ├── allow-multiple-definition.sh │ ├── ar-alignment.sh │ ├── arch-aarch64-long-thunk.sh │ ├── arch-aarch64-range-extension-thunk-disassembly.sh │ ├── arch-aarch64-variant-pcs.sh │ ├── arch-arm-abs-error.sh │ ├── arch-arm-exidx-sentinel.sh │ ├── arch-arm-range-extension-thunk-disassembly.sh │ ├── arch-arm-range-extension-thunk.sh │ ├── arch-arm-target1.sh │ ├── arch-arm-thm-jump19.sh │ ├── arch-arm-thm-jump8.sh │ ├── arch-arm-thumb-interwork.sh │ ├── arch-arm-tlsdesc.sh │ ├── arch-armeb-be32.sh │ ├── arch-i686-tls-module-base.sh │ ├── arch-i686-tlsdesc.sh │ ├── arch-loongarch64-mcmodel-extreme.sh │ ├── arch-loongarch64-relax-call36.sh │ ├── arch-loongarch64-relax-got-load.sh │ ├── arch-loongarch64-relax-pcala-addi.sh │ ├── arch-loongarch64-relax-tlsdesc.sh │ ├── arch-ppc64le-save-restore-gprs.sh │ ├── arch-riscv64-attributes.sh │ ├── arch-riscv64-attributes2.sh │ ├── arch-riscv64-global-pointer-dso.sh │ ├── arch-riscv64-global-pointer.sh │ ├── arch-riscv64-obj-compatible.sh │ ├── arch-riscv64-relax-align.sh │ ├── arch-riscv64-relax-got.sh │ ├── arch-riscv64-relax-hi20.sh │ ├── arch-riscv64-relax-j.sh │ ├── arch-riscv64-reloc-overflow.sh │ ├── arch-riscv64-symbol-size.sh │ ├── arch-riscv64-variant-cc.sh │ ├── arch-riscv64-weak-undef.sh │ ├── arch-s390x-got.sh │ ├── arch-x86_64-address-equality.sh │ ├── arch-x86_64-apx-gotpcrelx.sh │ ├── arch-x86_64-apx-gottpoff.sh │ ├── arch-x86_64-apx-gottpoff2.sh │ ├── arch-x86_64-apx-tlsdesc.sh │ ├── arch-x86_64-empty-arg.sh │ ├── arch-x86_64-empty-mergeable-section.sh │ ├── arch-x86_64-emulation-deduction.sh │ ├── arch-x86_64-exception-mcmodel-large.sh │ ├── arch-x86_64-execstack-if-needed.sh │ ├── arch-x86_64-function-multiversion.sh │ ├── arch-x86_64-gnu-linkonce.sh │ ├── arch-x86_64-gnu-retain.sh │ ├── arch-x86_64-gotpcrelx.sh │ ├── arch-x86_64-ifunc-alias.sh │ ├── arch-x86_64-ifunc-export.sh │ ├── arch-x86_64-incompatible-libs-linker-script.sh │ ├── arch-x86_64-incompatible-libs-linker-script2.sh │ ├── arch-x86_64-incompatible-libs.sh │ ├── arch-x86_64-incompatible-libs2.sh │ ├── arch-x86_64-incompatible-obj.sh │ ├── arch-x86_64-init-array-readonly.sh │ ├── arch-x86_64-init-array.sh │ ├── arch-x86_64-isa-level.sh │ ├── arch-x86_64-large-bss.sh │ ├── arch-x86_64-mergeable-records.sh │ ├── arch-x86_64-mergeable-strings-nonalloc.sh │ ├── arch-x86_64-mergeable-strings.sh │ ├── arch-x86_64-note-property.sh │ ├── arch-x86_64-note-property2.sh │ ├── arch-x86_64-note.sh │ ├── arch-x86_64-note2.sh │ ├── arch-x86_64-plt.sh │ ├── arch-x86_64-preinit-array.sh │ ├── arch-x86_64-relax.sh │ ├── arch-x86_64-reloc-overflow.sh │ ├── arch-x86_64-reloc-zero.sh │ ├── arch-x86_64-reloc.sh │ ├── arch-x86_64-section-alignment.sh │ ├── arch-x86_64-section-name.sh │ ├── arch-x86_64-tbss-only.sh │ ├── arch-x86_64-tls-gd-mcmodel-large.sh │ ├── arch-x86_64-tls-gd-to-ie.sh │ ├── arch-x86_64-tls-large-tbss.sh │ ├── arch-x86_64-tls-ld-mcmodel-large.sh │ ├── arch-x86_64-tls-module-base.sh │ ├── arch-x86_64-tlsdesc.sh │ ├── arch-x86_64-unique.sh │ ├── arch-x86_64-warn-execstack.sh │ ├── arch-x86_64-warn-shared-textrel.sh │ ├── arch-x86_64-warn-textrel.sh │ ├── arch-x86_64-z-dynamic-undefined-weak.sh │ ├── arch-x86_64-z-ibt.sh │ ├── arch-x86_64-z-ibtplt.sh │ ├── arch-x86_64-z-rewrite-endbr.sh │ ├── arch-x86_64-z-rewrite-endbr2.sh │ ├── arch-x86_64-z-rewrite-endbr3.sh │ ├── arch-x86_64-z-shstk.sh │ ├── arch-x86_64-z-text.sh │ ├── as-needed-dso.sh │ ├── as-needed-dso2.sh │ ├── as-needed-weak.sh │ ├── as-needed.sh │ ├── audit.sh │ ├── auxiliary.sh │ ├── bno-symbolic.sh │ ├── bsymbolic-functions.sh │ ├── bsymbolic-non-weak-functions.sh │ ├── bsymbolic-non-weak.sh │ ├── bsymbolic.sh │ ├── build-id.sh │ ├── canonical-plt.sh │ ├── cmdline.sh │ ├── color-diagnostics.sh │ ├── comment.sh │ ├── common-archive.sh │ ├── common-ref.sh │ ├── common-symbols.sh │ ├── common.inc │ ├── compress-debug-sections-zstd.sh │ ├── compress-debug-sections.sh │ ├── compressed-debug-info.sh │ ├── copyrel-alignment.sh │ ├── copyrel-norelro.sh │ ├── copyrel-protected.sh │ ├── copyrel-relro.sh │ ├── copyrel-relro2.sh │ ├── copyrel.sh │ ├── crel.sh │ ├── ctors-in-init-array.sh │ ├── dead-debug-sections.sh │ ├── debug-macro-section.sh │ ├── default-symver-version-script.sh │ ├── default-symver.sh │ ├── defsym-lto.sh │ ├── defsym-missing-symbol.sh │ ├── defsym.sh │ ├── defsym2.sh │ ├── demangle-cpp.sh │ ├── demangle-rust.sh │ ├── demangle.sh │ ├── depaudit.sh │ ├── depaudit2.sh │ ├── dependency-file-lto.sh │ ├── dependency-file-response-file.sh │ ├── dependency-file.sh │ ├── disable-new-dtags.sh │ ├── discard-section.sh │ ├── discard.sh │ ├── dso-undef.sh │ ├── dt-init.sh │ ├── dt-needed.sh │ ├── duplicate-error-archive.sh │ ├── duplicate-error-gc-sections.sh │ ├── duplicate-error-lto.sh │ ├── duplicate-error.sh │ ├── dynamic-dt-debug.sh │ ├── dynamic-linker.sh │ ├── dynamic-list-data.sh │ ├── dynamic-list.sh │ ├── dynamic-list2.sh │ ├── dynamic-list3.sh │ ├── dynamic-list4.sh │ ├── dynamic.sh │ ├── emit-relocs-cpp.sh │ ├── emit-relocs-dead-sections.sh │ ├── emit-relocs.sh │ ├── empty-dso.sh │ ├── empty-file.sh │ ├── empty-input.sh │ ├── empty-version.sh │ ├── entry.sh │ ├── exception-multiple-ehframe.sh │ ├── exception.sh │ ├── exclude-libs.sh │ ├── exclude-libs2.sh │ ├── exclude-libs3.sh │ ├── execstack.sh │ ├── execute-only.sh │ ├── export-dynamic.sh │ ├── export-from-exe.sh │ ├── fatal-warnings.sh │ ├── filler.sh │ ├── filter.sh │ ├── func-addr.sh │ ├── gc-sections.sh │ ├── gdb-index-compress-output.sh │ ├── gdb-index-dwarf2.sh │ ├── gdb-index-dwarf3.sh │ ├── gdb-index-dwarf4.sh │ ├── gdb-index-dwarf5.sh │ ├── gdb-index-dwarf64.sh │ ├── gdb-index-empty.sh │ ├── gdb-index-split-dwarf.sh │ ├── glibc-2.22-bug.sh │ ├── global-offset-table.sh │ ├── gnu-hash.sh │ ├── gnu-property.sh │ ├── gnu-retain.sh │ ├── gnu-unique.sh │ ├── gnu-warning.sh │ ├── hash-style-sysv.sh │ ├── hash-style.sh │ ├── hello-dynamic.sh │ ├── hello-static.sh │ ├── help.sh │ ├── hidden-archive.sh │ ├── hidden-undef.sh │ ├── hidden-weak-undef.sh │ ├── icf-gcc-except-table.sh │ ├── icf-safe.sh │ ├── icf-small.sh │ ├── icf.sh │ ├── ifunc-address-equality-exported.sh │ ├── ifunc-address-equality.sh │ ├── ifunc-alias.sh │ ├── ifunc-dlopen.sh │ ├── ifunc-dso.sh │ ├── ifunc-dynamic.sh │ ├── ifunc-export.sh │ ├── ifunc-funcptr.sh │ ├── ifunc-noplt.sh │ ├── ifunc-static-pie.sh │ ├── ifunc-static.sh │ ├── image-base.sh │ ├── init-array-priorities.sh │ ├── init-in-dso.sh │ ├── init.sh │ ├── initfirst.sh │ ├── interpose.sh │ ├── invalid-version-script.sh │ ├── issue646.sh │ ├── large-alignment-dso.sh │ ├── large-alignment.sh │ ├── large-max-page-size-strip.sh │ ├── large-max-page-size.sh │ ├── large-text.sh │ ├── library.sh │ ├── link-order.sh │ ├── linker-script-defsym.sh │ ├── linker-script-error.sh │ ├── linker-script-relocatable.sh │ ├── linker-script.sh │ ├── linker-script2.sh │ ├── linker-script3.sh │ ├── linker-script4.sh │ ├── linker-script5.sh │ ├── linker-script6.sh │ ├── lto-archive.sh │ ├── lto-archive2.sh │ ├── lto-archive3.sh │ ├── lto-comdat.sh │ ├── lto-dso.sh │ ├── lto-gcc.sh │ ├── lto-llvm.sh │ ├── lto-llvm2.sh │ ├── lto-no-plugin.sh │ ├── lto-nostdlib.sh │ ├── lto-version-script.sh │ ├── main-in-dso.sh │ ├── many-input-sections.sh │ ├── many-input-sections2.sh │ ├── many-output-sections.sh │ ├── mcmodel-large.sh │ ├── mergeable-strings.sh │ ├── missing-but-ok.sh │ ├── missing-error.sh │ ├── mold-wrapper.sh │ ├── mold-wrapper2.sh │ ├── nmagic.sh │ ├── no-allow-shlib-undefined-circular.sh │ ├── no-allow-shlib-undefined.sh │ ├── no-allow-shlib-undefined2.sh │ ├── no-allow-shlib-undefined3.sh │ ├── no-allow-shlib-undefined4.sh │ ├── no-eh-frame-header.sh │ ├── no-object-file.sh │ ├── no-quick-exit.sh │ ├── no-undefined-version.sh │ ├── nocopyreloc.sh │ ├── noinhibit-exec.sh │ ├── non-canonical-plt.sh │ ├── nostdlib.sh │ ├── oformat-binary.sh │ ├── omagic.sh │ ├── package-metadata.sh │ ├── physical-image-base.sh │ ├── pie.sh │ ├── plt-dso.sh │ ├── plt-symbols.sh │ ├── pltgot.sh │ ├── preinit-array.sh │ ├── print-dependencies.sh │ ├── protected-dynsym.sh │ ├── protected.sh │ ├── push-pop-state.sh │ ├── range-extension-thunk.sh │ ├── range-extension-thunk2.sh │ ├── range-extension-thunk3.sh │ ├── range-extension-thunk4.sh │ ├── relax-got-load.sh │ ├── reloc-rodata.sh │ ├── relocatable-archive.sh │ ├── relocatable-c++.sh │ ├── relocatable-compressed-debug-info.sh │ ├── relocatable-debug-info.sh │ ├── relocatable-exception.sh │ ├── relocatable-many-sections.sh │ ├── relocatable-merge-sections.sh │ ├── relocatable-mergeable-sections.sh │ ├── relocatable.sh │ ├── relro-alignment.sh │ ├── relro.sh │ ├── repro.sh │ ├── require-defined.sh │ ├── response-file-quoting.sh │ ├── response-file.sh │ ├── response-file2.sh │ ├── retain-symbols-file.sh │ ├── reverse-sections.sh │ ├── rodata-name.sh │ ├── rosegment.sh │ ├── rpath.sh │ ├── run-clang.sh │ ├── run.sh │ ├── section-align.sh │ ├── section-attributes.sh │ ├── section-order.sh │ ├── section-start.sh │ ├── separate-debug-file-sort.sh │ ├── separate-debug-file.sh │ ├── shared-abs-sym.sh │ ├── shared.sh │ ├── shuffle-sections-seed.sh │ ├── shuffle-sections.sh │ ├── soname.sh │ ├── sort-debug-info-compressed.sh │ ├── sort-debug-info-merged.sh │ ├── sort-debug-info.sh │ ├── spare-program-headers.sh │ ├── start-lib.sh │ ├── start-stop-symbol.sh │ ├── start-stop.sh │ ├── static-archive.sh │ ├── static-pie.sh │ ├── stdout.sh │ ├── strip-debug.sh │ ├── strip.sh │ ├── stt-common.sh │ ├── symbol-rank.sh │ ├── symbol-version-as-needed.sh │ ├── symbol-version-lto.sh │ ├── symbol-version-multi.sh │ ├── symbol-version.sh │ ├── symbol-version2.sh │ ├── symbol-version3.sh │ ├── symbol-version4.sh │ ├── symbol-version5.sh │ ├── symtab-dso.sh │ ├── symtab-section-symbols.sh │ ├── symtab.sh │ ├── synthetic-symbols.sh │ ├── sysroot-linker-script.sh │ ├── sysroot.sh │ ├── sysroot2.sh │ ├── tail-call.sh │ ├── tbss-only.sh │ ├── textrel.sh │ ├── textrel2.sh │ ├── thin-archive.sh │ ├── thread-count.sh │ ├── tls-alignment-multi.sh │ ├── tls-common.sh │ ├── tls-df-static-tls.sh │ ├── tls-dso.sh │ ├── tls-gd-dlopen.sh │ ├── tls-gd-noplt.sh │ ├── tls-gd-to-ie.sh │ ├── tls-gd.sh │ ├── tls-ie.sh │ ├── tls-irregular-start-addr.sh │ ├── tls-large-alignment.sh │ ├── tls-large-static-image.sh │ ├── tls-ld-noplt.sh │ ├── tls-ld.sh │ ├── tls-le-error.sh │ ├── tls-le.sh │ ├── tls-nopic.sh │ ├── tls-pic.sh │ ├── tls-small-alignment.sh │ ├── tlsdesc-dlopen.sh │ ├── tlsdesc-import.sh │ ├── tlsdesc-initial-exec.sh │ ├── tlsdesc-local-dynamic.sh │ ├── tlsdesc-static.sh │ ├── tlsdesc.sh │ ├── trace-symbol-symver.sh │ ├── trace-symbol.sh │ ├── trace.sh │ ├── undefined-glob-gc-sections.sh │ ├── undefined-glob.sh │ ├── undefined.sh │ ├── undefined2.sh │ ├── unknown-section-type.sh │ ├── unresolved-symbols.sh │ ├── unresolved-symbols2.sh │ ├── verbose.sh │ ├── version-script-search-paths.sh │ ├── version-script.sh │ ├── version-script10.sh │ ├── version-script11.sh │ ├── version-script12.sh │ ├── version-script13.sh │ ├── version-script14.sh │ ├── version-script15.sh │ ├── version-script16.sh │ ├── version-script17.sh │ ├── version-script18.sh │ ├── version-script19.sh │ ├── version-script2.sh │ ├── version-script20.sh │ ├── version-script21.sh │ ├── version-script22.sh │ ├── version-script23.sh │ ├── version-script3.sh │ ├── version-script4.sh │ ├── version-script5.sh │ ├── version-script6.sh │ ├── version-script7.sh │ ├── version-script8.sh │ ├── version-script9.sh │ ├── version.sh │ ├── versioned-undef.sh │ ├── visibility.sh │ ├── warn-common.sh │ ├── warn-once.sh │ ├── warn-symbol-type.sh │ ├── warn-unresolved-symbols.sh │ ├── weak-export-dso.sh │ ├── weak-export-dso2.sh │ ├── weak-export-exe.sh │ ├── weak-undef-dso.sh │ ├── weak-undef.sh │ ├── weak-undef2.sh │ ├── weak-undef4.sh │ ├── weak-undef5.sh │ ├── whole-archive.sh │ ├── wrap-lto.sh │ ├── wrap.sh │ ├── z-cet-report.sh │ ├── z-defs.sh │ ├── z-dynamic-undefined-weak-exe.sh │ ├── z-dynamic-undefined-weak.sh │ ├── z-dynamic-undefined-weak2.sh │ ├── z-max-page-size.sh │ ├── z-nodefaultlib.sh │ ├── z-nodump.sh │ ├── z-now.sh │ ├── z-origin.sh │ ├── z-pack-relative-relocs.sh │ ├── z-rodynamic.sh │ ├── z-sectionheader.sh │ ├── z-separate-code.sh │ ├── z-stack-size.sh │ ├── z-start-stop-visibility.sh │ └── zero-to-bss.sh └── third-party/ ├── blake3/ │ ├── .cargo/ │ │ └── config.toml │ ├── .git-blame-ignore-revs │ ├── .github/ │ │ └── workflows/ │ │ ├── build_b3sum.py │ │ ├── ci.yml │ │ ├── tag.yml │ │ └── upload_github_release_asset.py │ ├── .gitignore │ ├── CONTRIBUTING.md │ ├── Cargo.toml │ ├── LICENSE_A2 │ ├── LICENSE_A2LLVM │ ├── LICENSE_CC0 │ ├── README.md │ ├── b3sum/ │ │ ├── .gitignore │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ ├── README.md │ │ ├── src/ │ │ │ ├── main.rs │ │ │ └── unit_tests.rs │ │ ├── tests/ │ │ │ └── cli_tests.rs │ │ └── what_does_check_do.md │ ├── benches/ │ │ └── bench.rs │ ├── build.rs │ ├── reference_impl/ │ │ ├── Cargo.toml │ │ ├── README.md │ │ └── reference_impl.rs │ ├── src/ │ │ ├── ffi_avx2.rs │ │ ├── ffi_avx512.rs │ │ ├── ffi_neon.rs │ │ ├── ffi_sse2.rs │ │ ├── ffi_sse41.rs │ │ ├── guts.rs │ │ ├── hazmat.rs │ │ ├── io.rs │ │ ├── join.rs │ │ ├── lib.rs │ │ ├── platform.rs │ │ ├── portable.rs │ │ ├── rust_avx2.rs │ │ ├── rust_sse2.rs │ │ ├── rust_sse41.rs │ │ ├── test.rs │ │ ├── traits.rs │ │ └── wasm32_simd.rs │ ├── test_vectors/ │ │ ├── Cargo.toml │ │ ├── cross_test.sh │ │ ├── src/ │ │ │ ├── bin/ │ │ │ │ └── generate.rs │ │ │ └── lib.rs │ │ └── test_vectors.json │ └── tools/ │ ├── compiler_version/ │ │ ├── Cargo.toml │ │ ├── build.rs │ │ └── src/ │ │ └── main.rs │ ├── instruction_set_support/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── main.rs │ └── release.md ├── mimalloc/ │ ├── .gitattributes │ ├── .gitignore │ ├── CMakeLists.txt │ ├── LICENSE │ ├── SECURITY.md │ ├── azure-pipelines.yml │ ├── bin/ │ │ ├── mimalloc-redirect-arm64.lib │ │ ├── mimalloc-redirect-arm64ec.lib │ │ ├── mimalloc-redirect.lib │ │ ├── mimalloc-redirect32.lib │ │ └── readme.md │ ├── cmake/ │ │ ├── JoinPaths.cmake │ │ ├── mimalloc-config-version.cmake │ │ └── mimalloc-config.cmake │ ├── contrib/ │ │ ├── docker/ │ │ │ ├── alpine/ │ │ │ │ └── Dockerfile │ │ │ ├── alpine-arm32v7/ │ │ │ │ └── Dockerfile │ │ │ ├── manylinux-x64/ │ │ │ │ └── Dockerfile │ │ │ └── readme.md │ │ └── vcpkg/ │ │ ├── portfile.cmake │ │ ├── readme.md │ │ ├── usage │ │ ├── vcpkg-cmake-wrapper.cmake │ │ └── vcpkg.json │ ├── doc/ │ │ ├── doxyfile │ │ ├── mimalloc-doc.h │ │ └── mimalloc-doxygen.css │ ├── ide/ │ │ └── vs2022/ │ │ ├── mimalloc-lib.vcxproj │ │ ├── mimalloc-lib.vcxproj.filters │ │ ├── mimalloc-override-dll.vcxproj │ │ ├── mimalloc-override-dll.vcxproj.filters │ │ ├── mimalloc-override-test-dep.vcxproj │ │ ├── mimalloc-override-test.vcxproj │ │ ├── mimalloc-test-api.vcxproj │ │ ├── mimalloc-test-stress.vcxproj │ │ ├── mimalloc-test.vcxproj │ │ └── mimalloc.sln │ ├── include/ │ │ ├── mimalloc/ │ │ │ ├── atomic.h │ │ │ ├── internal.h │ │ │ ├── prim.h │ │ │ ├── track.h │ │ │ └── types.h │ │ ├── mimalloc-new-delete.h │ │ ├── mimalloc-override.h │ │ ├── mimalloc-stats.h │ │ └── mimalloc.h │ ├── mimalloc.pc.in │ ├── readme.md │ ├── src/ │ │ ├── alloc-aligned.c │ │ ├── alloc-override.c │ │ ├── alloc-posix.c │ │ ├── alloc.c │ │ ├── arena-abandon.c │ │ ├── arena.c │ │ ├── bitmap.c │ │ ├── bitmap.h │ │ ├── free.c │ │ ├── heap.c │ │ ├── init.c │ │ ├── libc.c │ │ ├── options.c │ │ ├── os.c │ │ ├── page-queue.c │ │ ├── page.c │ │ ├── prim/ │ │ │ ├── emscripten/ │ │ │ │ └── prim.c │ │ │ ├── osx/ │ │ │ │ ├── alloc-override-zone.c │ │ │ │ └── prim.c │ │ │ ├── prim.c │ │ │ ├── readme.md │ │ │ ├── unix/ │ │ │ │ └── prim.c │ │ │ ├── wasi/ │ │ │ │ └── prim.c │ │ │ └── windows/ │ │ │ ├── etw-mimalloc.wprp │ │ │ ├── etw.h │ │ │ ├── etw.man │ │ │ ├── prim.c │ │ │ └── readme.md │ │ ├── random.c │ │ ├── segment-map.c │ │ ├── segment.c │ │ ├── static.c │ │ └── stats.c │ └── test/ │ ├── CMakeLists.txt │ ├── main-override-dep.cpp │ ├── main-override-dep.h │ ├── main-override-static.c │ ├── main-override.c │ ├── main-override.cpp │ ├── main.c │ ├── readme.md │ ├── test-api-fill.c │ ├── test-api.c │ ├── test-stress.c │ ├── test-wrong.c │ └── testhelper.h ├── rust-demangle/ │ ├── .clang-format │ ├── .gitignore │ ├── Cargo.toml │ ├── LICENSE-APACHE │ ├── LICENSE-MIT │ ├── README.md │ ├── rust-demangle.c │ ├── rust-demangle.h │ └── test-harness/ │ ├── Cargo.toml │ ├── build.rs │ ├── examples/ │ │ └── check-csv-dataset.rs │ ├── src/ │ │ └── lib.rs │ └── tests/ │ ├── legacy.rs │ ├── top_level.rs │ └── v0.rs ├── tbb/ │ ├── .bazelrc │ ├── .bazelversion │ ├── .gitattributes │ ├── .github/ │ │ ├── CODEOWNERS │ │ ├── ISSUE_TEMPLATE/ │ │ │ ├── 1_question.md │ │ │ ├── 2_bug_report.md │ │ │ ├── 3_feature_request.md │ │ │ └── 4_documentation.md │ │ ├── dependabot.yml │ │ ├── issue_labeler.yml │ │ ├── labeler.yml │ │ ├── pull_request_template.md │ │ ├── scripts/ │ │ │ └── codespell.sh │ │ └── workflows/ │ │ ├── ci.yml │ │ ├── codeql.yml │ │ ├── coverity.yml │ │ ├── issue_labeler.yml │ │ ├── labeler.yml │ │ └── ossf-scorecard.yml │ ├── .gitignore │ ├── BUILD.bazel │ ├── Bazel.md │ ├── CMakeLists.txt │ ├── CODEOWNERS │ ├── CODE_OF_CONDUCT.md │ ├── CONTRIBUTING.md │ ├── INSTALL.md │ ├── LICENSE.txt │ ├── MAINTAINERS.md │ ├── MODULE.bazel │ ├── README.md │ ├── RELEASE_NOTES.md │ ├── SECURITY.md │ ├── SUPPORT.md │ ├── SYSTEM_REQUIREMENTS.md │ ├── WASM_Support.md │ ├── WORKSPACE.bazel │ ├── cmake/ │ │ ├── README.md │ │ ├── android/ │ │ │ ├── device_environment_cleanup.cmake │ │ │ ├── environment.cmake │ │ │ └── test_launcher.cmake │ │ ├── compilers/ │ │ │ ├── AppleClang.cmake │ │ │ ├── Clang.cmake │ │ │ ├── GNU.cmake │ │ │ ├── Intel.cmake │ │ │ ├── IntelLLVM.cmake │ │ │ ├── MSVC.cmake │ │ │ └── QCC.cmake │ │ ├── config_generation.cmake │ │ ├── hwloc_detection.cmake │ │ ├── memcheck.cmake │ │ ├── packaging.cmake │ │ ├── post_install/ │ │ │ └── CMakeLists.txt │ │ ├── python/ │ │ │ └── test_launcher.cmake │ │ ├── resumable_tasks.cmake │ │ ├── sanitize.cmake │ │ ├── scripts/ │ │ │ └── cmake_gen_github_configs.cmake │ │ ├── suppressions/ │ │ │ ├── lsan.suppressions │ │ │ └── tsan.suppressions │ │ ├── templates/ │ │ │ ├── TBBConfig.cmake.in │ │ │ └── TBBConfigVersion.cmake.in │ │ ├── test_spec.cmake │ │ ├── toolchains/ │ │ │ ├── mips.cmake │ │ │ └── riscv64.cmake │ │ ├── utils.cmake │ │ └── vars_utils.cmake │ ├── doc/ │ │ ├── Doxyfile.in │ │ ├── DoxygenLayout.xml │ │ ├── GSG/ │ │ │ ├── get_started.rst │ │ │ ├── installation.rst │ │ │ ├── integrate.rst │ │ │ ├── intro_gsg.rst │ │ │ ├── next_steps.rst │ │ │ ├── samples.rst │ │ │ └── system_requirements.rst │ │ ├── README.md │ │ ├── _static/ │ │ │ ├── custom.js │ │ │ └── theme_overrides.css │ │ ├── conf.py │ │ ├── index/ │ │ │ ├── index_intro.rst │ │ │ ├── toctree.rst │ │ │ └── useful_topics.rst │ │ ├── index.rst │ │ ├── main/ │ │ │ ├── _templates/ │ │ │ │ └── layout.html │ │ │ ├── examples_testing/ │ │ │ │ └── CMakeLists.txt │ │ │ ├── intro/ │ │ │ │ ├── Benefits.rst │ │ │ │ ├── help_support.rst │ │ │ │ ├── intro_os.rst │ │ │ │ ├── limitations.rst │ │ │ │ ├── notation.rst │ │ │ │ └── testing_approach.rst │ │ │ ├── reference/ │ │ │ │ ├── blocked_nd_range_ctad.rst │ │ │ │ ├── blocking_terminate.rst │ │ │ │ ├── concurrent_lru_cache_cls.rst │ │ │ │ ├── constraints_extensions.rst │ │ │ │ ├── constructors_for_nodes.rst │ │ │ │ ├── custom_mutex_chmap.rst │ │ │ │ ├── examples/ │ │ │ │ │ ├── blocked_nd_range_ctad_example.cpp │ │ │ │ │ ├── custom_mutex_chmap_example.cpp │ │ │ │ │ ├── fixed_pool_example.cpp │ │ │ │ │ ├── helpers_for_expressing_graphs_preview_api_example.cpp │ │ │ │ │ ├── helpers_for_expressing_graphs_regular_api_example.cpp │ │ │ │ │ ├── make_edges_function_example.cpp │ │ │ │ │ ├── malloc_replacement_log_example.cpp │ │ │ │ │ ├── memory_pool_allocator_example.cpp │ │ │ │ │ ├── memory_pool_example.cpp │ │ │ │ │ ├── parallel_phase_example.cpp │ │ │ │ │ ├── parallel_sort_ranges_extension_example.cpp │ │ │ │ │ ├── rvalue_reduce.cpp │ │ │ │ │ └── try_put_and_wait_example.cpp │ │ │ │ ├── follows_and_precedes_functions.rst │ │ │ │ ├── helpers_for_expressing_graphs.rst │ │ │ │ ├── heterogeneous_extensions_chmap.rst │ │ │ │ ├── info_namespace.rst │ │ │ │ ├── info_namespace_extensions.rst │ │ │ │ ├── make_edges_function.rst │ │ │ │ ├── make_node_set_function.rst │ │ │ │ ├── mutex_cls.rst │ │ │ │ ├── parallel_for_each_semantics.rst │ │ │ │ ├── parallel_phase_for_task_arena.rst │ │ │ │ ├── parallel_sort_ranges_extension.rst │ │ │ │ ├── reference.rst │ │ │ │ ├── rvalue_reduce.rst │ │ │ │ ├── rw_mutex_cls.rst │ │ │ │ ├── scalable_memory_pools/ │ │ │ │ │ ├── fixed_pool_cls.rst │ │ │ │ │ ├── malloc_replacement_log.rst │ │ │ │ │ ├── memory_pool_allocator_cls.rst │ │ │ │ │ └── memory_pool_cls.rst │ │ │ │ ├── scalable_memory_pools.rst │ │ │ │ ├── task_group_extensions.rst │ │ │ │ ├── try_put_and_wait.rst │ │ │ │ └── type_specified_message_keys.rst │ │ │ └── tbb_userguide/ │ │ │ ├── Advanced_Example.rst │ │ │ ├── Advanced_Topic_Other_Kinds_of_Iteration_Spaces.rst │ │ │ ├── Allocator_Configuration.rst │ │ │ ├── Automatic_Chunking.rst │ │ │ ├── Automically_Replacing_malloc.rst │ │ │ ├── Bandwidth_and_Cache_Affinity_os.rst │ │ │ ├── Basic_Flow_Graph_concepts.rst │ │ │ ├── Cancellation_Without_An_Exception.rst │ │ │ ├── Cancellation_and_Nested_Parallelism.rst │ │ │ ├── Concurrent_Queue_Classes.rst │ │ │ ├── Constraints.rst │ │ │ ├── Containers.rst │ │ │ ├── Controlling_Chunking_os.rst │ │ │ ├── Cook_Until_Done_parallel_do.rst │ │ │ ├── Data_Flow_Graph.rst │ │ │ ├── Debug_Versus_Release_Libraries.rst │ │ │ ├── Dependence_Graph.rst │ │ │ ├── Edges.rst │ │ │ ├── Exceptions_and_Cancellation.rst │ │ │ ├── Floating_Point_Settings.rst │ │ │ ├── Flow-Graph-exception-tips.rst │ │ │ ├── Flow-Graph-waiting-tips.rst │ │ │ ├── Flow_Graph.rst │ │ │ ├── Flow_Graph_Buffering_in_Nodes.rst │ │ │ ├── Flow_Graph_Message_Passing_Protocol.rst │ │ │ ├── Flow_Graph_Reservation.rst │ │ │ ├── Flow_Graph_Single_Vs_Broadcast.rst │ │ │ ├── Flow_Graph_Tips.rst │ │ │ ├── Flow_Graph_exception_tips.rst │ │ │ ├── Flow_Graph_making_edges_tips.rst │ │ │ ├── Flow_Graph_nested_parallelism_tips.rst │ │ │ ├── Flow_Graph_resource_tips.rst │ │ │ ├── Flow_Graph_waiting_tips.rst │ │ │ ├── Graph_Main_Categories.rst │ │ │ ├── Graph_Object.rst │ │ │ ├── Guiding_Task_Scheduler_Execution.rst │ │ │ ├── How_Task_Scheduler_Works.rst │ │ │ ├── Initializing_and_Terminating_the_Library.rst │ │ │ ├── Iterating_Over_a_Concurrent_Queue_for_Debugging.rst │ │ │ ├── Lambda_Expressions.rst │ │ │ ├── Linux_C_Dynamic_Memory_Interface_Replacement.rst │ │ │ ├── Linux_OS.rst │ │ │ ├── Lock_Pathologies.rst │ │ │ ├── Mac_OS.rst │ │ │ ├── Mapping_Nodes2Tasks.rst │ │ │ ├── Memory_Allocation.rst │ │ │ ├── Migration_Guide/ │ │ │ │ ├── Mixing_Two_Runtimes.rst │ │ │ │ ├── Task_API.rst │ │ │ │ └── Task_Scheduler_Init.rst │ │ │ ├── Migration_Guide.rst │ │ │ ├── More_on_HashCompare.rst │ │ │ ├── Mutex_Flavors.rst │ │ │ ├── Mutual_Exclusion.rst │ │ │ ├── Nodes.rst │ │ │ ├── Non-Linear_Pipelines.rst │ │ │ ├── Package_Contents_os.rst │ │ │ ├── Parallelizing_Complex_Loops.rst │ │ │ ├── Parallelizing_Flow_Graph.rst │ │ │ ├── Parallelizing_Simple_Loops_os.rst │ │ │ ├── Parallelizing_Simple_Loops_toctree.rst │ │ │ ├── Partitioner_Summary.rst │ │ │ ├── Predefined_Node_Types.rst │ │ │ ├── Reader_Writer_Mutexes.rst │ │ │ ├── References.rst │ │ │ ├── Scalable_Memory_Allocator.rst │ │ │ ├── Summary_of_Containers.rst │ │ │ ├── Summary_of_Loops_and_Pipelines.rst │ │ │ ├── Task-Based_Programming.rst │ │ │ ├── Task_Scheduler_Bypass.rst │ │ │ ├── The_Task_Scheduler.rst │ │ │ ├── Throughput_of_pipeline.rst │ │ │ ├── Timing.rst │ │ │ ├── UpgradeDowngrade.rst │ │ │ ├── Using_Circular_Buffers.rst │ │ │ ├── When_Not_to_Use_Queues.rst │ │ │ ├── When_Task-Based_Programming_Is_Inappropriate.rst │ │ │ ├── Which_Dynamic_Libraries_to_Use.rst │ │ │ ├── Windows_C_Dynamic_Memory_Interface_Replacement.rst │ │ │ ├── Windows_OS_ug.rst │ │ │ ├── Working_on_the_Assembly_Line_pipeline.rst │ │ │ ├── always_use_wait_for_all.rst │ │ │ ├── appendix_A.rst │ │ │ ├── appendix_B.rst │ │ │ ├── attach_flow_graph_to_arena.rst │ │ │ ├── automatically-replacing-malloc.rst │ │ │ ├── avoid_dynamic_node_removal.rst │ │ │ ├── avoiding_data_races.rst │ │ │ ├── broadcast_or_send.rst │ │ │ ├── cancel_a_graph.rst │ │ │ ├── cancelling_nested_parallelism.rst │ │ │ ├── catching_exceptions.rst │ │ │ ├── communicate_with_nodes.rst │ │ │ ├── concurrent_hash_map.rst │ │ │ ├── concurrent_vector_ug.rst │ │ │ ├── create_token_based_system.rst │ │ │ ├── design_patterns/ │ │ │ │ ├── Agglomeration.rst │ │ │ │ ├── Design_Patterns.rst │ │ │ │ ├── Divide_and_Conquer.rst │ │ │ │ ├── Elementwise.rst │ │ │ │ ├── Fenced_Data_Transfer.rst │ │ │ │ ├── GUI_Thread.rst │ │ │ │ ├── General_References.rst │ │ │ │ ├── Lazy_Initialization.rst │ │ │ │ ├── Local_Serializer.rst │ │ │ │ ├── Non-Preemptive_Priorities.rst │ │ │ │ ├── Odd-Even_Communication.rst │ │ │ │ ├── Reduction.rst │ │ │ │ ├── Reference_Counting.rst │ │ │ │ └── Wavefront.rst │ │ │ ├── destroy_graphs_outside_main_thread.rst │ │ │ ├── estimate_flow_graph_performance.rst │ │ │ ├── examples/ │ │ │ │ ├── blocked_nd_range_example.cpp │ │ │ │ ├── flow_graph_examples.cpp │ │ │ │ ├── parallel_for_lambda_example_1.cpp │ │ │ │ ├── parallel_for_lambda_example_2.cpp │ │ │ │ └── parallel_for_os_example.cpp │ │ │ ├── parallel_for_os.rst │ │ │ ├── parallel_for_toctree.rst │ │ │ ├── parallel_reduce.rst │ │ │ ├── snippets/ │ │ │ │ ├── blocked_nd_range_example.cpp │ │ │ │ ├── blocked_nd_range_example.h │ │ │ │ └── flow_graph_examples.cpp │ │ │ ├── std_invoke.rst │ │ │ ├── title.rst │ │ │ ├── use_concurrency_limits.rst │ │ │ ├── use_graph_reset.rst │ │ │ ├── use_input_node.rst │ │ │ ├── use_limiter_node.rst │ │ │ ├── use_make_edge.rst │ │ │ ├── use_nested_algorithms.rst │ │ │ ├── use_nested_flow_graphs.rst │ │ │ └── work_isolation.rst │ │ ├── make.bat │ │ └── test_classification.dox │ ├── examples/ │ │ ├── .clang-format │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── common/ │ │ │ ├── cmake/ │ │ │ │ ├── common.cmake │ │ │ │ └── modules/ │ │ │ │ └── FindTBB.cmake │ │ │ ├── gui/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── convideo.cpp │ │ │ │ ├── d2dvideo.cpp │ │ │ │ ├── gdivideo.cpp │ │ │ │ ├── macvideo.cpp │ │ │ │ ├── video.hpp │ │ │ │ ├── winvideo.hpp │ │ │ │ ├── xcode/ │ │ │ │ │ └── tbbExample/ │ │ │ │ │ ├── OpenGLView.h │ │ │ │ │ ├── OpenGLView.m │ │ │ │ │ ├── PkgInfo │ │ │ │ │ ├── en.lproj/ │ │ │ │ │ │ ├── InfoPlist.strings │ │ │ │ │ │ ├── MainMenu.nib │ │ │ │ │ │ └── MainMenu.xib │ │ │ │ │ ├── iOS.storyboard │ │ │ │ │ ├── main.m │ │ │ │ │ ├── tbbAppDelegate.h │ │ │ │ │ ├── tbbAppDelegate.m │ │ │ │ │ ├── tbbExample-Info.ios.plist │ │ │ │ │ └── tbbExample-Info.plist │ │ │ │ └── xvideo.cpp │ │ │ └── utility/ │ │ │ ├── fast_random.hpp │ │ │ ├── get_default_num_threads.hpp │ │ │ └── utility.hpp │ │ ├── concurrent_hash_map/ │ │ │ ├── README.md │ │ │ └── count_strings/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ └── count_strings.cpp │ │ ├── concurrent_priority_queue/ │ │ │ ├── README.md │ │ │ └── shortpath/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ └── shortpath.cpp │ │ ├── getting_started/ │ │ │ ├── README.md │ │ │ └── sub_string_finder/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── sub_string_finder.cpp │ │ │ ├── sub_string_finder_extended.cpp │ │ │ └── sub_string_finder_pretty.cpp │ │ ├── graph/ │ │ │ ├── README.md │ │ │ ├── binpack/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README.md │ │ │ │ └── binpack.cpp │ │ │ ├── cholesky/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README.md │ │ │ │ ├── cholesky.cpp │ │ │ │ └── init.cpp │ │ │ ├── dining_philosophers/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README.md │ │ │ │ └── dining_philosophers.cpp │ │ │ ├── fgbzip2/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README.md │ │ │ │ ├── blocksort.cpp │ │ │ │ ├── bzlib.cpp │ │ │ │ ├── bzlib.hpp │ │ │ │ ├── bzlib_private.hpp │ │ │ │ ├── compress.cpp │ │ │ │ ├── crctable.cpp │ │ │ │ ├── decompress.cpp │ │ │ │ ├── fgbzip2.cpp │ │ │ │ ├── huffman.cpp │ │ │ │ └── randtable.cpp │ │ │ ├── logic_sim/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── D_latch.hpp │ │ │ │ ├── README.md │ │ │ │ ├── basics.hpp │ │ │ │ ├── four_bit_adder.hpp │ │ │ │ ├── one_bit_adder.hpp │ │ │ │ ├── test_all.cpp │ │ │ │ └── two_bit_adder.hpp │ │ │ └── som/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── som.cpp │ │ │ ├── som.hpp │ │ │ └── som_graph.cpp │ │ ├── migration/ │ │ │ ├── README.md │ │ │ └── recursive_fibonacci/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── fibonacci.cpp │ │ │ ├── fibonacci_single_task.h │ │ │ ├── fibonacci_two_tasks.h │ │ │ └── task_emulation_layer.h │ │ ├── parallel_for/ │ │ │ ├── README.md │ │ │ ├── game_of_life/ │ │ │ │ ├── Board.hpp │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── Evolution.cpp │ │ │ │ ├── Evolution.hpp │ │ │ │ ├── Game_of_life.cpp │ │ │ │ ├── README.md │ │ │ │ └── Update_state.cpp │ │ │ ├── polygon_overlay/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README.md │ │ │ │ ├── gui/ │ │ │ │ │ ├── polygon_overlay.rc │ │ │ │ │ └── resource.h │ │ │ │ ├── polymain.cpp │ │ │ │ ├── polymain.hpp │ │ │ │ ├── polyover.cpp │ │ │ │ ├── polyover.hpp │ │ │ │ ├── pover_global.hpp │ │ │ │ ├── pover_video.cpp │ │ │ │ ├── pover_video.hpp │ │ │ │ └── rpolygon.hpp │ │ │ ├── seismic/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README.md │ │ │ │ ├── gui/ │ │ │ │ │ ├── resource.h │ │ │ │ │ └── seismic.rc │ │ │ │ ├── main.cpp │ │ │ │ ├── resource.hpp │ │ │ │ ├── seismic_video.cpp │ │ │ │ ├── seismic_video.hpp │ │ │ │ ├── universe.cpp │ │ │ │ └── universe.hpp │ │ │ └── tachyon/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── gui/ │ │ │ │ ├── resource.h │ │ │ │ └── tachyon.rc │ │ │ └── src/ │ │ │ ├── api.cpp │ │ │ ├── api.hpp │ │ │ ├── apigeom.cpp │ │ │ ├── apitrigeom.cpp │ │ │ ├── apitrigeom.hpp │ │ │ ├── bndbox.cpp │ │ │ ├── bndbox.hpp │ │ │ ├── box.cpp │ │ │ ├── box.hpp │ │ │ ├── camera.cpp │ │ │ ├── camera.hpp │ │ │ ├── coordsys.cpp │ │ │ ├── coordsys.hpp │ │ │ ├── cylinder.cpp │ │ │ ├── cylinder.hpp │ │ │ ├── extvol.cpp │ │ │ ├── extvol.hpp │ │ │ ├── global.cpp │ │ │ ├── global.hpp │ │ │ ├── grid.cpp │ │ │ ├── grid.hpp │ │ │ ├── imageio.cpp │ │ │ ├── imageio.hpp │ │ │ ├── imap.cpp │ │ │ ├── imap.hpp │ │ │ ├── intersect.cpp │ │ │ ├── intersect.hpp │ │ │ ├── jpeg.cpp │ │ │ ├── jpeg.hpp │ │ │ ├── light.cpp │ │ │ ├── light.hpp │ │ │ ├── machine.hpp │ │ │ ├── macros.hpp │ │ │ ├── main.cpp │ │ │ ├── objbound.cpp │ │ │ ├── objbound.hpp │ │ │ ├── parse.cpp │ │ │ ├── parse.hpp │ │ │ ├── plane.cpp │ │ │ ├── plane.hpp │ │ │ ├── ppm.cpp │ │ │ ├── ppm.hpp │ │ │ ├── pthread.cpp │ │ │ ├── pthread_w.hpp │ │ │ ├── quadric.cpp │ │ │ ├── quadric.hpp │ │ │ ├── render.cpp │ │ │ ├── render.hpp │ │ │ ├── ring.cpp │ │ │ ├── ring.hpp │ │ │ ├── shade.cpp │ │ │ ├── shade.hpp │ │ │ ├── sphere.cpp │ │ │ ├── sphere.hpp │ │ │ ├── tachyon_video.cpp │ │ │ ├── tachyon_video.hpp │ │ │ ├── texture.cpp │ │ │ ├── texture.hpp │ │ │ ├── tgafile.cpp │ │ │ ├── tgafile.hpp │ │ │ ├── trace.hpp │ │ │ ├── trace.omp.cpp │ │ │ ├── trace.serial.cpp │ │ │ ├── trace.simple.cpp │ │ │ ├── trace.taskq.cpp │ │ │ ├── trace.tbb.cpp │ │ │ ├── trace.tbb1d.cpp │ │ │ ├── trace.threads.cpp │ │ │ ├── trace.threads2d.cpp │ │ │ ├── trace_rest.cpp │ │ │ ├── triangle.cpp │ │ │ ├── triangle.hpp │ │ │ ├── types.hpp │ │ │ ├── ui.cpp │ │ │ ├── ui.hpp │ │ │ ├── util.cpp │ │ │ ├── util.hpp │ │ │ ├── vector.cpp │ │ │ ├── vector.hpp │ │ │ ├── vol.cpp │ │ │ └── vol.hpp │ │ ├── parallel_for_each/ │ │ │ ├── README.md │ │ │ └── parallel_preorder/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Graph.cpp │ │ │ ├── Graph.hpp │ │ │ ├── Matrix.hpp │ │ │ ├── README.md │ │ │ ├── main.cpp │ │ │ └── parallel_preorder.cpp │ │ ├── parallel_pipeline/ │ │ │ ├── README.md │ │ │ └── square/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── gen_input.cpp │ │ │ └── square.cpp │ │ ├── parallel_reduce/ │ │ │ ├── README.md │ │ │ ├── convex_hull/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README.md │ │ │ │ ├── convex_hull.hpp │ │ │ │ ├── convex_hull_bench.cpp │ │ │ │ └── convex_hull_sample.cpp │ │ │ ├── pi/ │ │ │ │ ├── CMakeLists.txt │ │ │ │ ├── README.md │ │ │ │ ├── common.h │ │ │ │ ├── main.cpp │ │ │ │ └── pi.cpp │ │ │ └── primes/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── main.cpp │ │ │ ├── primes.cpp │ │ │ └── primes.hpp │ │ ├── task_arena/ │ │ │ ├── README.md │ │ │ └── fractal/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── fractal.cpp │ │ │ ├── fractal.hpp │ │ │ ├── fractal_video.hpp │ │ │ ├── gui/ │ │ │ │ ├── fractal.rc │ │ │ │ └── resource.h │ │ │ └── main.cpp │ │ ├── task_group/ │ │ │ ├── README.md │ │ │ └── sudoku/ │ │ │ ├── CMakeLists.txt │ │ │ ├── README.md │ │ │ ├── input1 │ │ │ ├── input2 │ │ │ ├── input3 │ │ │ ├── input4 │ │ │ └── sudoku.cpp │ │ └── test_all/ │ │ ├── README.md │ │ └── fibonacci/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ └── fibonacci.cpp │ ├── include/ │ │ ├── oneapi/ │ │ │ ├── tbb/ │ │ │ │ ├── blocked_nd_range.h │ │ │ │ ├── blocked_range.h │ │ │ │ ├── blocked_range2d.h │ │ │ │ ├── blocked_range3d.h │ │ │ │ ├── blocked_rangeNd.h │ │ │ │ ├── cache_aligned_allocator.h │ │ │ │ ├── collaborative_call_once.h │ │ │ │ ├── combinable.h │ │ │ │ ├── concurrent_hash_map.h │ │ │ │ ├── concurrent_lru_cache.h │ │ │ │ ├── concurrent_map.h │ │ │ │ ├── concurrent_priority_queue.h │ │ │ │ ├── concurrent_queue.h │ │ │ │ ├── concurrent_set.h │ │ │ │ ├── concurrent_unordered_map.h │ │ │ │ ├── concurrent_unordered_set.h │ │ │ │ ├── concurrent_vector.h │ │ │ │ ├── detail/ │ │ │ │ │ ├── _aggregator.h │ │ │ │ │ ├── _aligned_space.h │ │ │ │ │ ├── _allocator_traits.h │ │ │ │ │ ├── _assert.h │ │ │ │ │ ├── _attach.h │ │ │ │ │ ├── _concurrent_queue_base.h │ │ │ │ │ ├── _concurrent_skip_list.h │ │ │ │ │ ├── _concurrent_unordered_base.h │ │ │ │ │ ├── _config.h │ │ │ │ │ ├── _containers_helpers.h │ │ │ │ │ ├── _exception.h │ │ │ │ │ ├── _export.h │ │ │ │ │ ├── _flow_graph_body_impl.h │ │ │ │ │ ├── _flow_graph_cache_impl.h │ │ │ │ │ ├── _flow_graph_impl.h │ │ │ │ │ ├── _flow_graph_indexer_impl.h │ │ │ │ │ ├── _flow_graph_item_buffer_impl.h │ │ │ │ │ ├── _flow_graph_join_impl.h │ │ │ │ │ ├── _flow_graph_node_impl.h │ │ │ │ │ ├── _flow_graph_node_set_impl.h │ │ │ │ │ ├── _flow_graph_nodes_deduction.h │ │ │ │ │ ├── _flow_graph_tagged_buffer_impl.h │ │ │ │ │ ├── _flow_graph_trace_impl.h │ │ │ │ │ ├── _flow_graph_types_impl.h │ │ │ │ │ ├── _hash_compare.h │ │ │ │ │ ├── _intrusive_list_node.h │ │ │ │ │ ├── _machine.h │ │ │ │ │ ├── _mutex_common.h │ │ │ │ │ ├── _namespace_injection.h │ │ │ │ │ ├── _node_handle.h │ │ │ │ │ ├── _pipeline_filters.h │ │ │ │ │ ├── _pipeline_filters_deduction.h │ │ │ │ │ ├── _range_common.h │ │ │ │ │ ├── _rtm_mutex.h │ │ │ │ │ ├── _rtm_rw_mutex.h │ │ │ │ │ ├── _scoped_lock.h │ │ │ │ │ ├── _segment_table.h │ │ │ │ │ ├── _small_object_pool.h │ │ │ │ │ ├── _string_resource.h │ │ │ │ │ ├── _task.h │ │ │ │ │ ├── _task_handle.h │ │ │ │ │ ├── _template_helpers.h │ │ │ │ │ ├── _utils.h │ │ │ │ │ └── _waitable_atomic.h │ │ │ │ ├── enumerable_thread_specific.h │ │ │ │ ├── flow_graph.h │ │ │ │ ├── flow_graph_abstractions.h │ │ │ │ ├── global_control.h │ │ │ │ ├── info.h │ │ │ │ ├── memory_pool.h │ │ │ │ ├── mutex.h │ │ │ │ ├── null_mutex.h │ │ │ │ ├── null_rw_mutex.h │ │ │ │ ├── parallel_for.h │ │ │ │ ├── parallel_for_each.h │ │ │ │ ├── parallel_invoke.h │ │ │ │ ├── parallel_pipeline.h │ │ │ │ ├── parallel_reduce.h │ │ │ │ ├── parallel_scan.h │ │ │ │ ├── parallel_sort.h │ │ │ │ ├── partitioner.h │ │ │ │ ├── profiling.h │ │ │ │ ├── queuing_mutex.h │ │ │ │ ├── queuing_rw_mutex.h │ │ │ │ ├── rw_mutex.h │ │ │ │ ├── scalable_allocator.h │ │ │ │ ├── spin_mutex.h │ │ │ │ ├── spin_rw_mutex.h │ │ │ │ ├── task.h │ │ │ │ ├── task_arena.h │ │ │ │ ├── task_group.h │ │ │ │ ├── task_scheduler_observer.h │ │ │ │ ├── tbb_allocator.h │ │ │ │ ├── tbbmalloc_proxy.h │ │ │ │ ├── tick_count.h │ │ │ │ └── version.h │ │ │ └── tbb.h │ │ └── tbb/ │ │ ├── blocked_nd_range.h │ │ ├── blocked_range.h │ │ ├── blocked_range2d.h │ │ ├── blocked_range3d.h │ │ ├── blocked_rangeNd.h │ │ ├── cache_aligned_allocator.h │ │ ├── collaborative_call_once.h │ │ ├── combinable.h │ │ ├── concurrent_hash_map.h │ │ ├── concurrent_lru_cache.h │ │ ├── concurrent_map.h │ │ ├── concurrent_priority_queue.h │ │ ├── concurrent_queue.h │ │ ├── concurrent_set.h │ │ ├── concurrent_unordered_map.h │ │ ├── concurrent_unordered_set.h │ │ ├── concurrent_vector.h │ │ ├── enumerable_thread_specific.h │ │ ├── flow_graph.h │ │ ├── flow_graph_abstractions.h │ │ ├── global_control.h │ │ ├── info.h │ │ ├── memory_pool.h │ │ ├── mutex.h │ │ ├── null_mutex.h │ │ ├── null_rw_mutex.h │ │ ├── parallel_for.h │ │ ├── parallel_for_each.h │ │ ├── parallel_invoke.h │ │ ├── parallel_pipeline.h │ │ ├── parallel_reduce.h │ │ ├── parallel_scan.h │ │ ├── parallel_sort.h │ │ ├── partitioner.h │ │ ├── profiling.h │ │ ├── queuing_mutex.h │ │ ├── queuing_rw_mutex.h │ │ ├── rw_mutex.h │ │ ├── scalable_allocator.h │ │ ├── spin_mutex.h │ │ ├── spin_rw_mutex.h │ │ ├── task.h │ │ ├── task_arena.h │ │ ├── task_group.h │ │ ├── task_scheduler_observer.h │ │ ├── tbb.h │ │ ├── tbb_allocator.h │ │ ├── tbbmalloc_proxy.h │ │ ├── tick_count.h │ │ └── version.h │ ├── integration/ │ │ ├── cmake/ │ │ │ └── generate_vars.cmake │ │ ├── linux/ │ │ │ ├── env/ │ │ │ │ ├── vars.sh │ │ │ │ └── vars.sh.in │ │ │ ├── modulefiles/ │ │ │ │ ├── tbb │ │ │ │ └── tbb32 │ │ │ ├── oneapi/ │ │ │ │ └── vars.sh │ │ │ └── sys_check/ │ │ │ └── sys_check.sh │ │ ├── mac/ │ │ │ └── env/ │ │ │ ├── vars.sh │ │ │ └── vars.sh.in │ │ ├── pkg-config/ │ │ │ └── tbb.pc.in │ │ └── windows/ │ │ ├── env/ │ │ │ ├── vars.bat │ │ │ └── vars.bat.in │ │ ├── nuget/ │ │ │ ├── inteltbb.devel.win.targets │ │ │ └── inteltbb.redist.win.targets │ │ ├── oneapi/ │ │ │ └── vars.bat │ │ └── sys_check/ │ │ └── sys_check.bat │ ├── python/ │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── TBB.py │ │ ├── rml/ │ │ │ ├── CMakeLists.txt │ │ │ ├── ipc_server.cpp │ │ │ ├── ipc_utils.cpp │ │ │ └── ipc_utils.h │ │ ├── setup.py │ │ └── tbb/ │ │ ├── __init__.py │ │ ├── __main__.py │ │ ├── api.i │ │ ├── pool.py │ │ └── test.py │ ├── rfcs/ │ │ ├── README.md │ │ ├── archived/ │ │ │ └── README.md │ │ ├── experimental/ │ │ │ ├── README.md │ │ │ ├── blocked_nd_range_ctad/ │ │ │ │ └── README.md │ │ │ └── parallel_phase_for_task_arena/ │ │ │ └── README.md │ │ ├── proposed/ │ │ │ ├── README.md │ │ │ ├── loading-dependencies/ │ │ │ │ └── loading-dependencies-by-module-name.org │ │ │ └── numa_support/ │ │ │ ├── README.md │ │ │ └── tbbbind-link-static-hwloc.org │ │ ├── supported/ │ │ │ └── README.md │ │ └── template.md │ ├── src/ │ │ ├── tbb/ │ │ │ ├── CMakeLists.txt │ │ │ ├── address_waiter.cpp │ │ │ ├── allocator.cpp │ │ │ ├── arena.cpp │ │ │ ├── arena.h │ │ │ ├── arena_slot.cpp │ │ │ ├── arena_slot.h │ │ │ ├── assert_impl.h │ │ │ ├── cancellation_disseminator.h │ │ │ ├── co_context.h │ │ │ ├── concurrent_bounded_queue.cpp │ │ │ ├── concurrent_monitor.h │ │ │ ├── concurrent_monitor_mutex.h │ │ │ ├── def/ │ │ │ │ ├── lin32-tbb.def │ │ │ │ ├── lin64-tbb.def │ │ │ │ ├── mac64-tbb.def │ │ │ │ ├── win32-tbb.def │ │ │ │ └── win64-tbb.def │ │ │ ├── dynamic_link.cpp │ │ │ ├── dynamic_link.h │ │ │ ├── environment.h │ │ │ ├── exception.cpp │ │ │ ├── global_control.cpp │ │ │ ├── governor.cpp │ │ │ ├── governor.h │ │ │ ├── intrusive_list.h │ │ │ ├── itt_notify.cpp │ │ │ ├── itt_notify.h │ │ │ ├── mailbox.h │ │ │ ├── main.cpp │ │ │ ├── main.h │ │ │ ├── market.cpp │ │ │ ├── market.h │ │ │ ├── market_concurrent_monitor.h │ │ │ ├── misc.cpp │ │ │ ├── misc.h │ │ │ ├── misc_ex.cpp │ │ │ ├── observer_proxy.cpp │ │ │ ├── observer_proxy.h │ │ │ ├── parallel_pipeline.cpp │ │ │ ├── permit_manager.h │ │ │ ├── pm_client.h │ │ │ ├── private_server.cpp │ │ │ ├── profiling.cpp │ │ │ ├── queuing_rw_mutex.cpp │ │ │ ├── rml_base.h │ │ │ ├── rml_tbb.cpp │ │ │ ├── rml_tbb.h │ │ │ ├── rml_thread_monitor.h │ │ │ ├── rtm_mutex.cpp │ │ │ ├── rtm_rw_mutex.cpp │ │ │ ├── scheduler_common.h │ │ │ ├── semaphore.cpp │ │ │ ├── semaphore.h │ │ │ ├── small_object_pool.cpp │ │ │ ├── small_object_pool_impl.h │ │ │ ├── task.cpp │ │ │ ├── task_dispatcher.cpp │ │ │ ├── task_dispatcher.h │ │ │ ├── task_group_context.cpp │ │ │ ├── task_stream.h │ │ │ ├── tbb.rc │ │ │ ├── tcm.h │ │ │ ├── tcm_adaptor.cpp │ │ │ ├── tcm_adaptor.h │ │ │ ├── thread_control_monitor.h │ │ │ ├── thread_data.h │ │ │ ├── thread_dispatcher.cpp │ │ │ ├── thread_dispatcher.h │ │ │ ├── thread_dispatcher_client.h │ │ │ ├── thread_request_serializer.cpp │ │ │ ├── thread_request_serializer.h │ │ │ ├── threading_control.cpp │ │ │ ├── threading_control.h │ │ │ ├── threading_control_client.h │ │ │ ├── tls.h │ │ │ ├── tools_api/ │ │ │ │ ├── disable_warnings.h │ │ │ │ ├── ittnotify.h │ │ │ │ ├── ittnotify_config.h │ │ │ │ ├── ittnotify_static.c │ │ │ │ ├── ittnotify_static.h │ │ │ │ ├── ittnotify_types.h │ │ │ │ └── legacy/ │ │ │ │ └── ittnotify.h │ │ │ ├── version.cpp │ │ │ └── waiters.h │ │ ├── tbbbind/ │ │ │ ├── CMakeLists.txt │ │ │ ├── def/ │ │ │ │ ├── lin32-tbbbind.def │ │ │ │ ├── lin64-tbbbind.def │ │ │ │ ├── mac64-tbbbind.def │ │ │ │ ├── win32-tbbbind.def │ │ │ │ └── win64-tbbbind.def │ │ │ ├── tbb_bind.cpp │ │ │ └── tbb_bind.rc │ │ ├── tbbmalloc/ │ │ │ ├── CMakeLists.txt │ │ │ ├── Customize.h │ │ │ ├── MapMemory.h │ │ │ ├── Statistics.h │ │ │ ├── Synchronize.h │ │ │ ├── TypeDefinitions.h │ │ │ ├── backend.cpp │ │ │ ├── backend.h │ │ │ ├── backref.cpp │ │ │ ├── def/ │ │ │ │ ├── lin32-tbbmalloc.def │ │ │ │ ├── lin64-tbbmalloc.def │ │ │ │ ├── mac64-tbbmalloc.def │ │ │ │ ├── win32-tbbmalloc.def │ │ │ │ └── win64-tbbmalloc.def │ │ │ ├── frontend.cpp │ │ │ ├── large_objects.cpp │ │ │ ├── large_objects.h │ │ │ ├── shared_utils.h │ │ │ ├── tbbmalloc.cpp │ │ │ ├── tbbmalloc.rc │ │ │ ├── tbbmalloc_internal.h │ │ │ └── tbbmalloc_internal_api.h │ │ └── tbbmalloc_proxy/ │ │ ├── CMakeLists.txt │ │ ├── def/ │ │ │ ├── lin32-proxy.def │ │ │ └── lin64-proxy.def │ │ ├── function_replacement.cpp │ │ ├── function_replacement.h │ │ ├── proxy.cpp │ │ ├── proxy.h │ │ ├── proxy_overload_osx.h │ │ └── tbbmalloc_proxy.rc │ ├── test/ │ │ ├── CMakeLists.txt │ │ ├── common/ │ │ │ ├── allocator_overload.h │ │ │ ├── allocator_stl_test_common.h │ │ │ ├── allocator_test_common.h │ │ │ ├── checktype.h │ │ │ ├── common_arena_constraints.h │ │ │ ├── concepts_common.h │ │ │ ├── concurrency_tracker.h │ │ │ ├── concurrent_associative_common.h │ │ │ ├── concurrent_lru_cache_common.h │ │ │ ├── concurrent_ordered_common.h │ │ │ ├── concurrent_priority_queue_common.h │ │ │ ├── concurrent_unordered_common.h │ │ │ ├── config.h │ │ │ ├── container_move_support.h │ │ │ ├── containers_common.h │ │ │ ├── cpu_usertime.h │ │ │ ├── custom_allocators.h │ │ │ ├── doctest.h │ │ │ ├── dummy_body.h │ │ │ ├── exception_handling.h │ │ │ ├── fp_control.h │ │ │ ├── graph_utils.h │ │ │ ├── initializer_list_support.h │ │ │ ├── inject_scheduler.h │ │ │ ├── iterator.h │ │ │ ├── memory_usage.h │ │ │ ├── node_handling_support.h │ │ │ ├── parallel_for_each_common.h │ │ │ ├── parallel_invoke_common.h │ │ │ ├── parallel_reduce_common.h │ │ │ ├── range_based_for_support.h │ │ │ ├── rwm_upgrade_downgrade.h │ │ │ ├── spin_barrier.h │ │ │ ├── state_trackable.h │ │ │ ├── test.h │ │ │ ├── test_comparisons.h │ │ │ ├── test_follows_and_precedes_api.h │ │ │ ├── test_invoke.h │ │ │ ├── test_join_node_multiple_predecessors.h │ │ │ ├── tls_limit.h │ │ │ ├── utils.h │ │ │ ├── utils_assert.h │ │ │ ├── utils_concurrency_limit.h │ │ │ ├── utils_dynamic_libs.h │ │ │ ├── utils_env.h │ │ │ ├── utils_report.h │ │ │ ├── utils_yield.h │ │ │ └── vector_types.h │ │ ├── conformance/ │ │ │ ├── conformance_allocators.cpp │ │ │ ├── conformance_arena_constraints.cpp │ │ │ ├── conformance_async_node.cpp │ │ │ ├── conformance_blocked_nd_range.cpp │ │ │ ├── conformance_blocked_range.cpp │ │ │ ├── conformance_blocked_range2d.cpp │ │ │ ├── conformance_blocked_range3d.cpp │ │ │ ├── conformance_blocked_rangeNd.cpp │ │ │ ├── conformance_broadcast_node.cpp │ │ │ ├── conformance_buffer_node.cpp │ │ │ ├── conformance_collaborative_call_once.cpp │ │ │ ├── conformance_combinable.cpp │ │ │ ├── conformance_composite_node.cpp │ │ │ ├── conformance_concurrent_hash_map.cpp │ │ │ ├── conformance_concurrent_lru_cache.cpp │ │ │ ├── conformance_concurrent_map.cpp │ │ │ ├── conformance_concurrent_priority_queue.cpp │ │ │ ├── conformance_concurrent_queue.cpp │ │ │ ├── conformance_concurrent_set.cpp │ │ │ ├── conformance_concurrent_unordered_map.cpp │ │ │ ├── conformance_concurrent_unordered_set.cpp │ │ │ ├── conformance_concurrent_vector.cpp │ │ │ ├── conformance_continue_node.cpp │ │ │ ├── conformance_enumerable_thread_specific.cpp │ │ │ ├── conformance_flowgraph.h │ │ │ ├── conformance_function_node.cpp │ │ │ ├── conformance_global_control.cpp │ │ │ ├── conformance_graph.cpp │ │ │ ├── conformance_indexer_node.cpp │ │ │ ├── conformance_input_node.cpp │ │ │ ├── conformance_join_node.cpp │ │ │ ├── conformance_limiter_node.cpp │ │ │ ├── conformance_multifunction_node.cpp │ │ │ ├── conformance_mutex.cpp │ │ │ ├── conformance_mutex.h │ │ │ ├── conformance_overwrite_node.cpp │ │ │ ├── conformance_parallel_for.cpp │ │ │ ├── conformance_parallel_for_each.cpp │ │ │ ├── conformance_parallel_invoke.cpp │ │ │ ├── conformance_parallel_pipeline.cpp │ │ │ ├── conformance_parallel_reduce.cpp │ │ │ ├── conformance_parallel_scan.cpp │ │ │ ├── conformance_parallel_sort.cpp │ │ │ ├── conformance_priority_queue_node.cpp │ │ │ ├── conformance_queue_node.cpp │ │ │ ├── conformance_resumable_tasks.cpp │ │ │ ├── conformance_sequencer_node.cpp │ │ │ ├── conformance_split_node.cpp │ │ │ ├── conformance_task_arena.cpp │ │ │ ├── conformance_task_group.cpp │ │ │ ├── conformance_task_group_context.cpp │ │ │ ├── conformance_tick_count.cpp │ │ │ ├── conformance_version.cpp │ │ │ └── conformance_write_once_node.cpp │ │ ├── tbb/ │ │ │ ├── test_adaptive_mutex.cpp │ │ │ ├── test_allocators.cpp │ │ │ ├── test_arena_constraints.cpp │ │ │ ├── test_arena_priorities.cpp │ │ │ ├── test_async_node.cpp │ │ │ ├── test_blocked_range.cpp │ │ │ ├── test_broadcast_node.cpp │ │ │ ├── test_buffer_node.cpp │ │ │ ├── test_buffering_try_put_and_wait.h │ │ │ ├── test_collaborative_call_once.cpp │ │ │ ├── test_composite_node.cpp │ │ │ ├── test_concurrent_hash_map.cpp │ │ │ ├── test_concurrent_lru_cache.cpp │ │ │ ├── test_concurrent_map.cpp │ │ │ ├── test_concurrent_monitor.cpp │ │ │ ├── test_concurrent_priority_queue.cpp │ │ │ ├── test_concurrent_queue.cpp │ │ │ ├── test_concurrent_queue_whitebox.cpp │ │ │ ├── test_concurrent_set.cpp │ │ │ ├── test_concurrent_unordered_map.cpp │ │ │ ├── test_concurrent_unordered_set.cpp │ │ │ ├── test_concurrent_vector.cpp │ │ │ ├── test_continue_node.cpp │ │ │ ├── test_dynamic_link.cpp │ │ │ ├── test_eh_algorithms.cpp │ │ │ ├── test_eh_flow_graph.cpp │ │ │ ├── test_eh_thread.cpp │ │ │ ├── test_enumerable_thread_specific.cpp │ │ │ ├── test_environment_whitebox.cpp │ │ │ ├── test_flow_graph.cpp │ │ │ ├── test_flow_graph_priorities.cpp │ │ │ ├── test_flow_graph_whitebox.cpp │ │ │ ├── test_function_node.cpp │ │ │ ├── test_fuzzing.cpp │ │ │ ├── test_global_control.cpp │ │ │ ├── test_handle_perror.cpp │ │ │ ├── test_hw_concurrency.cpp │ │ │ ├── test_implicit_linkage_on_windows.cpp │ │ │ ├── test_indexer_node.cpp │ │ │ ├── test_input_node.cpp │ │ │ ├── test_intrusive_list.cpp │ │ │ ├── test_join_node.cpp │ │ │ ├── test_join_node.h │ │ │ ├── test_join_node_key_matching.cpp │ │ │ ├── test_join_node_key_matching_n_args.cpp │ │ │ ├── test_join_node_msg_key_matching.cpp │ │ │ ├── test_join_node_msg_key_matching_n_args.cpp │ │ │ ├── test_join_node_preview.cpp │ │ │ ├── test_limiter_node.cpp │ │ │ ├── test_multifunction_node.cpp │ │ │ ├── test_mutex.cpp │ │ │ ├── test_mutex.h │ │ │ ├── test_numa_dist.cpp │ │ │ ├── test_openmp.cpp │ │ │ ├── test_overwrite_node.cpp │ │ │ ├── test_parallel_for.cpp │ │ │ ├── test_parallel_for_each.cpp │ │ │ ├── test_parallel_invoke.cpp │ │ │ ├── test_parallel_phase.cpp │ │ │ ├── test_parallel_pipeline.cpp │ │ │ ├── test_parallel_reduce.cpp │ │ │ ├── test_parallel_scan.cpp │ │ │ ├── test_parallel_sort.cpp │ │ │ ├── test_partitioner.cpp │ │ │ ├── test_partitioner.h │ │ │ ├── test_priority_queue_node.cpp │ │ │ ├── test_profiling.cpp │ │ │ ├── test_queue_node.cpp │ │ │ ├── test_resumable_tasks.cpp │ │ │ ├── test_scheduler_mix.cpp │ │ │ ├── test_semaphore.cpp │ │ │ ├── test_sequencer_node.cpp │ │ │ ├── test_split_node.cpp │ │ │ ├── test_tagged_msg.cpp │ │ │ ├── test_task.cpp │ │ │ ├── test_task_arena.cpp │ │ │ ├── test_task_group.cpp │ │ │ ├── test_tbb_fork.cpp │ │ │ ├── test_tbb_header.cpp │ │ │ ├── test_tbb_header_secondary.cpp │ │ │ ├── test_tick_count.cpp │ │ │ └── test_write_once_node.cpp │ │ └── tbbmalloc/ │ │ ├── test_malloc_atexit.cpp │ │ ├── test_malloc_compliance.cpp │ │ ├── test_malloc_init_shutdown.cpp │ │ ├── test_malloc_lib_unload.cpp │ │ ├── test_malloc_new_handler.cpp │ │ ├── test_malloc_overload.cpp │ │ ├── test_malloc_overload_disable.cpp │ │ ├── test_malloc_pools.cpp │ │ ├── test_malloc_pure_c.c │ │ ├── test_malloc_regression.cpp │ │ ├── test_malloc_shutdown_hang.cpp │ │ ├── test_malloc_used_by_lib.cpp │ │ ├── test_malloc_whitebox.cpp │ │ └── test_scalable_allocator.cpp │ └── third-party-programs.txt ├── xxhash/ │ ├── .gitattributes │ ├── .github/ │ │ ├── dependabot.yml │ │ └── workflows/ │ │ ├── ci.yml │ │ └── scorecard.yml │ ├── .gitignore │ ├── CHANGELOG │ ├── Doxyfile │ ├── Doxyfile-internal │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── SECURITY.md │ ├── appveyor.yml │ ├── cli/ │ │ ├── .tipi/ │ │ │ ├── deps │ │ │ └── opts │ │ ├── COPYING │ │ ├── README.md │ │ ├── xsum_arch.c │ │ ├── xsum_arch.h │ │ ├── xsum_bench.c │ │ ├── xsum_bench.h │ │ ├── xsum_config.h │ │ ├── xsum_os_specific.c │ │ ├── xsum_os_specific.h │ │ ├── xsum_output.c │ │ ├── xsum_output.h │ │ ├── xsum_sanity_check.c │ │ ├── xsum_sanity_check.h │ │ ├── xxhsum.1 │ │ ├── xxhsum.1.md │ │ └── xxhsum.c │ ├── clib.json │ ├── cmake_unofficial/ │ │ ├── .gitignore │ │ ├── CMakeLists.txt │ │ ├── JoinPaths.cmake │ │ ├── README.md │ │ └── xxHashConfig.cmake.in │ ├── doc/ │ │ ├── README.md │ │ ├── xxhash.cry │ │ └── xxhash_spec.md │ ├── fuzz/ │ │ └── fuzzer.c │ ├── libxxhash.pc.in │ ├── tests/ │ │ ├── Makefile │ │ ├── cli-comment-line.sh │ │ ├── cli-ignore-missing.sh │ │ ├── collisions/ │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ ├── allcodecs/ │ │ │ │ ├── README.md │ │ │ │ ├── dummy.c │ │ │ │ └── dummy.h │ │ │ ├── hashes.h │ │ │ ├── main.c │ │ │ ├── pool.c │ │ │ ├── pool.h │ │ │ ├── sort.cc │ │ │ ├── sort.hh │ │ │ ├── threading.c │ │ │ └── threading.h │ │ ├── filename-escape.sh │ │ ├── generate_unicode_test.c │ │ ├── multiInclude.c │ │ ├── ppc_define.c │ │ ├── sanity_test.c │ │ ├── sanity_test_vectors.h │ │ ├── sanity_test_vectors_generator.c │ │ └── unicode_lint.sh │ ├── xxh3.h │ ├── xxh_x86dispatch.c │ ├── xxh_x86dispatch.h │ ├── xxhash.c │ └── xxhash.h ├── zlib/ │ ├── CMakeFiles/ │ │ ├── zlib.dir/ │ │ │ └── build.make │ │ └── zlibstatic.dir/ │ │ └── build.make │ ├── CMakeLists.txt │ ├── ChangeLog │ ├── FAQ │ ├── INDEX │ ├── LICENSE │ ├── Makefile │ ├── Makefile.in │ ├── README │ ├── adler32.c │ ├── amiga/ │ │ ├── Makefile.pup │ │ └── Makefile.sas │ ├── compress.c │ ├── configure │ ├── contrib/ │ │ ├── README.contrib │ │ ├── ada/ │ │ │ ├── buffer_demo.adb │ │ │ ├── mtest.adb │ │ │ ├── read.adb │ │ │ ├── readme.txt │ │ │ ├── test.adb │ │ │ ├── zlib-streams.adb │ │ │ ├── zlib-streams.ads │ │ │ ├── zlib-thin.adb │ │ │ ├── zlib-thin.ads │ │ │ ├── zlib.adb │ │ │ ├── zlib.ads │ │ │ └── zlib.gpr │ │ ├── blast/ │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── blast.c │ │ │ ├── blast.h │ │ │ ├── test.pk │ │ │ └── test.txt │ │ ├── delphi/ │ │ │ ├── ZLib.pas │ │ │ ├── ZLibConst.pas │ │ │ ├── readme.txt │ │ │ └── zlibd32.mak │ │ ├── dotzlib/ │ │ │ ├── DotZLib/ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ ├── ChecksumImpl.cs │ │ │ │ ├── CircularBuffer.cs │ │ │ │ ├── CodecBase.cs │ │ │ │ ├── Deflater.cs │ │ │ │ ├── DotZLib.cs │ │ │ │ ├── DotZLib.csproj │ │ │ │ ├── GZipStream.cs │ │ │ │ ├── Inflater.cs │ │ │ │ └── UnitTests.cs │ │ │ ├── DotZLib.build │ │ │ ├── DotZLib.chm │ │ │ ├── DotZLib.sln │ │ │ ├── LICENSE_1_0.txt │ │ │ └── readme.txt │ │ ├── gcc_gvmat64/ │ │ │ └── gvmat64.S │ │ ├── infback9/ │ │ │ ├── README │ │ │ ├── infback9.c │ │ │ ├── infback9.h │ │ │ ├── inffix9.h │ │ │ ├── inflate9.h │ │ │ ├── inftree9.c │ │ │ └── inftree9.h │ │ ├── iostream/ │ │ │ ├── test.cpp │ │ │ ├── zfstream.cpp │ │ │ └── zfstream.h │ │ ├── iostream2/ │ │ │ ├── zstream.h │ │ │ └── zstream_test.cpp │ │ ├── iostream3/ │ │ │ ├── README │ │ │ ├── TODO │ │ │ ├── test.cc │ │ │ ├── zfstream.cc │ │ │ └── zfstream.h │ │ ├── minizip/ │ │ │ ├── Makefile │ │ │ ├── Makefile.am │ │ │ ├── MiniZip64_Changes.txt │ │ │ ├── MiniZip64_info.txt │ │ │ ├── configure.ac │ │ │ ├── crypt.h │ │ │ ├── ioapi.c │ │ │ ├── ioapi.h │ │ │ ├── iowin32.c │ │ │ ├── iowin32.h │ │ │ ├── make_vms.com │ │ │ ├── miniunz.c │ │ │ ├── miniunzip.1 │ │ │ ├── minizip.1 │ │ │ ├── minizip.c │ │ │ ├── minizip.pc.in │ │ │ ├── mztools.c │ │ │ ├── mztools.h │ │ │ ├── unzip.c │ │ │ ├── unzip.h │ │ │ ├── zip.c │ │ │ └── zip.h │ │ ├── nuget/ │ │ │ ├── nuget.csproj │ │ │ └── nuget.sln │ │ ├── pascal/ │ │ │ ├── example.pas │ │ │ ├── readme.txt │ │ │ ├── zlibd32.mak │ │ │ └── zlibpas.pas │ │ ├── puff/ │ │ │ ├── Makefile │ │ │ ├── README │ │ │ ├── puff.c │ │ │ ├── puff.h │ │ │ ├── pufftest.c │ │ │ └── zeros.raw │ │ ├── testzlib/ │ │ │ ├── testzlib.c │ │ │ └── testzlib.txt │ │ ├── untgz/ │ │ │ ├── Makefile │ │ │ ├── Makefile.msc │ │ │ └── untgz.c │ │ └── vstudio/ │ │ ├── readme.txt │ │ ├── vc10/ │ │ │ ├── miniunz.vcxproj │ │ │ ├── miniunz.vcxproj.filters │ │ │ ├── minizip.vcxproj │ │ │ ├── minizip.vcxproj.filters │ │ │ ├── testzlib.vcxproj │ │ │ ├── testzlib.vcxproj.filters │ │ │ ├── testzlibdll.vcxproj │ │ │ ├── testzlibdll.vcxproj.filters │ │ │ ├── zlib.rc │ │ │ ├── zlibstat.vcxproj │ │ │ ├── zlibstat.vcxproj.filters │ │ │ ├── zlibvc.def │ │ │ ├── zlibvc.sln │ │ │ ├── zlibvc.vcxproj │ │ │ └── zlibvc.vcxproj.filters │ │ ├── vc11/ │ │ │ ├── miniunz.vcxproj │ │ │ ├── minizip.vcxproj │ │ │ ├── testzlib.vcxproj │ │ │ ├── testzlibdll.vcxproj │ │ │ ├── zlib.rc │ │ │ ├── zlibstat.vcxproj │ │ │ ├── zlibvc.def │ │ │ ├── zlibvc.sln │ │ │ └── zlibvc.vcxproj │ │ ├── vc12/ │ │ │ ├── miniunz.vcxproj │ │ │ ├── minizip.vcxproj │ │ │ ├── testzlib.vcxproj │ │ │ ├── testzlibdll.vcxproj │ │ │ ├── zlib.rc │ │ │ ├── zlibstat.vcxproj │ │ │ ├── zlibvc.def │ │ │ ├── zlibvc.sln │ │ │ └── zlibvc.vcxproj │ │ ├── vc14/ │ │ │ ├── miniunz.vcxproj │ │ │ ├── minizip.vcxproj │ │ │ ├── testzlib.vcxproj │ │ │ ├── testzlibdll.vcxproj │ │ │ ├── zlib.rc │ │ │ ├── zlibstat.vcxproj │ │ │ ├── zlibvc.def │ │ │ ├── zlibvc.sln │ │ │ └── zlibvc.vcxproj │ │ ├── vc17/ │ │ │ ├── miniunz.vcxproj │ │ │ ├── minizip.vcxproj │ │ │ ├── testzlib.vcxproj │ │ │ ├── testzlibdll.vcxproj │ │ │ ├── zlib.rc │ │ │ ├── zlibstat.vcxproj │ │ │ ├── zlibvc.def │ │ │ ├── zlibvc.sln │ │ │ └── zlibvc.vcxproj │ │ └── vc9/ │ │ ├── miniunz.vcproj │ │ ├── minizip.vcproj │ │ ├── testzlib.vcproj │ │ ├── testzlibdll.vcproj │ │ ├── zlib.rc │ │ ├── zlibstat.vcproj │ │ ├── zlibvc.def │ │ ├── zlibvc.sln │ │ └── zlibvc.vcproj │ ├── crc32.c │ ├── crc32.h │ ├── deflate.c │ ├── deflate.h │ ├── doc/ │ │ ├── algorithm.txt │ │ ├── rfc1950.txt │ │ ├── rfc1951.txt │ │ ├── rfc1952.txt │ │ └── txtvsbin.txt │ ├── examples/ │ │ ├── README.examples │ │ ├── enough.c │ │ ├── fitblk.c │ │ ├── gun.c │ │ ├── gzappend.c │ │ ├── gzjoin.c │ │ ├── gzlog.c │ │ ├── gzlog.h │ │ ├── gznorm.c │ │ ├── zlib_how.html │ │ ├── zpipe.c │ │ ├── zran.c │ │ └── zran.h │ ├── gzclose.c │ ├── gzguts.h │ ├── gzlib.c │ ├── gzread.c │ ├── gzwrite.c │ ├── infback.c │ ├── inffast.c │ ├── inffast.h │ ├── inffixed.h │ ├── inflate.c │ ├── inflate.h │ ├── inftrees.c │ ├── inftrees.h │ ├── make_vms.com │ ├── msdos/ │ │ ├── Makefile.bor │ │ ├── Makefile.dj2 │ │ ├── Makefile.emx │ │ ├── Makefile.msc │ │ └── Makefile.tc │ ├── nintendods/ │ │ ├── Makefile │ │ └── README │ ├── old/ │ │ ├── Makefile.emx │ │ ├── Makefile.riscos │ │ ├── README │ │ ├── descrip.mms │ │ ├── os2/ │ │ │ ├── Makefile.os2 │ │ │ └── zlib.def │ │ └── visual-basic.txt │ ├── os400/ │ │ ├── README400 │ │ ├── bndsrc │ │ ├── make.sh │ │ └── zlib.inc │ ├── qnx/ │ │ └── package.qpg │ ├── test/ │ │ ├── example.c │ │ ├── infcover.c │ │ └── minigzip.c │ ├── treebuild.xml │ ├── trees.c │ ├── trees.h │ ├── uncompr.c │ ├── watcom/ │ │ ├── watcom_f.mak │ │ └── watcom_l.mak │ ├── win32/ │ │ ├── DLL_FAQ.txt │ │ ├── Makefile.bor │ │ ├── Makefile.gcc │ │ ├── Makefile.msc │ │ ├── README-WIN32.txt │ │ ├── VisualC.txt │ │ ├── zlib.def │ │ └── zlib1.rc │ ├── zconf.h.cmakein │ ├── zconf.h.in │ ├── zconf.h.included │ ├── zlib.3 │ ├── zlib.h │ ├── zlib.pc.cmakein │ ├── zlib.pc.in │ ├── zutil.c │ └── zutil.h └── zstd/ ├── .buckconfig ├── .buckversion ├── .cirrus.yml ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.md │ │ └── feature_request.md │ ├── dependabot.yml │ └── workflows/ │ ├── android-ndk-build.yml │ ├── commit.yml │ ├── dev-long-tests.yml │ ├── dev-short-tests.yml │ ├── nightly.yml │ ├── publish-release-artifacts.yml │ ├── scorecards.yml │ └── windows-artifacts.yml ├── .gitignore ├── CHANGELOG ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── COPYING ├── LICENSE ├── Makefile ├── Package.swift ├── README.md ├── SECURITY.md ├── TESTING.md ├── contrib/ │ ├── VS2005/ │ │ ├── README.md │ │ ├── fullbench/ │ │ │ └── fullbench.vcproj │ │ ├── fuzzer/ │ │ │ └── fuzzer.vcproj │ │ ├── zstd/ │ │ │ └── zstd.vcproj │ │ ├── zstd.sln │ │ └── zstdlib/ │ │ └── zstdlib.vcproj │ ├── cleanTabs │ ├── diagnose_corruption/ │ │ ├── .gitignore │ │ ├── Makefile │ │ └── check_flipped_bits.c │ ├── docker/ │ │ ├── Dockerfile │ │ └── README.md │ ├── freestanding_lib/ │ │ └── freestanding.py │ ├── linux-kernel/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── README.md │ │ ├── btrfs-benchmark.sh │ │ ├── btrfs-extract-benchmark.sh │ │ ├── decompress_sources.h │ │ ├── linux.mk │ │ ├── linux_zstd.h │ │ ├── mem.h │ │ ├── squashfs-benchmark.sh │ │ ├── test/ │ │ │ ├── Makefile │ │ │ ├── include/ │ │ │ │ └── linux/ │ │ │ │ ├── compiler.h │ │ │ │ ├── errno.h │ │ │ │ ├── kernel.h │ │ │ │ ├── limits.h │ │ │ │ ├── math64.h │ │ │ │ ├── module.h │ │ │ │ ├── printk.h │ │ │ │ ├── stddef.h │ │ │ │ ├── swab.h │ │ │ │ ├── types.h │ │ │ │ ├── unaligned.h │ │ │ │ └── xxhash.h │ │ │ ├── macro-test.sh │ │ │ ├── static_test.c │ │ │ └── test.c │ │ ├── zstd_common_module.c │ │ ├── zstd_compress_module.c │ │ ├── zstd_decompress_module.c │ │ └── zstd_deps.h │ ├── match_finders/ │ │ ├── README.md │ │ ├── zstd_edist.c │ │ └── zstd_edist.h │ ├── premake/ │ │ ├── premake4.lua │ │ └── zstd.lua │ ├── recovery/ │ │ ├── Makefile │ │ └── recover_directory.c │ ├── seekable_format/ │ │ ├── README.md │ │ ├── examples/ │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ ├── parallel_compression.c │ │ │ ├── parallel_processing.c │ │ │ ├── seekable_compression.c │ │ │ ├── seekable_decompression.c │ │ │ └── seekable_decompression_mem.c │ │ ├── tests/ │ │ │ ├── .gitignore │ │ │ ├── Makefile │ │ │ └── seekable_tests.c │ │ ├── zstd_seekable.h │ │ ├── zstd_seekable_compression_format.md │ │ ├── zstdseek_compress.c │ │ └── zstdseek_decompress.c │ ├── seqBench/ │ │ ├── Makefile │ │ └── seqBench.c │ └── snap/ │ └── snapcraft.yaml ├── doc/ │ ├── README.md │ ├── decompressor_errata.md │ ├── decompressor_permissive.md │ ├── educational_decoder/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── README.md │ │ ├── harness.c │ │ ├── zstd_decompress.c │ │ └── zstd_decompress.h │ ├── zstd_compression_format.md │ └── zstd_manual.html ├── examples/ │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── common.h │ ├── dictionary_compression.c │ ├── dictionary_decompression.c │ ├── multiple_simple_compression.c │ ├── multiple_streaming_compression.c │ ├── simple_compression.c │ ├── simple_decompression.c │ ├── streaming_compression.c │ ├── streaming_compression_thread_pool.c │ ├── streaming_decompression.c │ └── streaming_memory_usage.c ├── lib/ │ ├── .gitignore │ ├── Makefile │ ├── README.md │ ├── common/ │ │ ├── allocations.h │ │ ├── bits.h │ │ ├── bitstream.h │ │ ├── compiler.h │ │ ├── cpu.h │ │ ├── debug.c │ │ ├── debug.h │ │ ├── entropy_common.c │ │ ├── error_private.c │ │ ├── error_private.h │ │ ├── fse.h │ │ ├── fse_decompress.c │ │ ├── huf.h │ │ ├── mem.h │ │ ├── pool.c │ │ ├── pool.h │ │ ├── portability_macros.h │ │ ├── threading.c │ │ ├── threading.h │ │ ├── xxhash.c │ │ ├── xxhash.h │ │ ├── zstd_common.c │ │ ├── zstd_deps.h │ │ ├── zstd_internal.h │ │ └── zstd_trace.h │ ├── compress/ │ │ ├── clevels.h │ │ ├── fse_compress.c │ │ ├── hist.c │ │ ├── hist.h │ │ ├── huf_compress.c │ │ ├── zstd_compress.c │ │ ├── zstd_compress_internal.h │ │ ├── zstd_compress_literals.c │ │ ├── zstd_compress_literals.h │ │ ├── zstd_compress_sequences.c │ │ ├── zstd_compress_sequences.h │ │ ├── zstd_compress_superblock.c │ │ ├── zstd_compress_superblock.h │ │ ├── zstd_cwksp.h │ │ ├── zstd_double_fast.c │ │ ├── zstd_double_fast.h │ │ ├── zstd_fast.c │ │ ├── zstd_fast.h │ │ ├── zstd_lazy.c │ │ ├── zstd_lazy.h │ │ ├── zstd_ldm.c │ │ ├── zstd_ldm.h │ │ ├── zstd_ldm_geartab.h │ │ ├── zstd_opt.c │ │ ├── zstd_opt.h │ │ ├── zstd_preSplit.c │ │ ├── zstd_preSplit.h │ │ ├── zstdmt_compress.c │ │ └── zstdmt_compress.h │ ├── decompress/ │ │ ├── huf_decompress.c │ │ ├── huf_decompress_amd64.S │ │ ├── zstd_ddict.c │ │ ├── zstd_ddict.h │ │ ├── zstd_decompress.c │ │ ├── zstd_decompress_block.c │ │ ├── zstd_decompress_block.h │ │ └── zstd_decompress_internal.h │ ├── deprecated/ │ │ ├── zbuff.h │ │ ├── zbuff_common.c │ │ ├── zbuff_compress.c │ │ └── zbuff_decompress.c │ ├── dictBuilder/ │ │ ├── cover.c │ │ ├── cover.h │ │ ├── divsufsort.c │ │ ├── divsufsort.h │ │ ├── fastcover.c │ │ └── zdict.c │ ├── dll/ │ │ └── example/ │ │ ├── Makefile │ │ ├── README.md │ │ ├── build_package.bat │ │ ├── fullbench-dll.sln │ │ └── fullbench-dll.vcxproj │ ├── legacy/ │ │ ├── zstd_legacy.h │ │ ├── zstd_v01.c │ │ ├── zstd_v01.h │ │ ├── zstd_v02.c │ │ ├── zstd_v02.h │ │ ├── zstd_v03.c │ │ ├── zstd_v03.h │ │ ├── zstd_v04.c │ │ ├── zstd_v04.h │ │ ├── zstd_v05.c │ │ ├── zstd_v05.h │ │ ├── zstd_v06.c │ │ ├── zstd_v06.h │ │ ├── zstd_v07.c │ │ └── zstd_v07.h │ ├── libzstd.mk │ ├── libzstd.pc.in │ ├── module.modulemap │ ├── zdict.h │ ├── zstd.h │ └── zstd_errors.h ├── tests/ │ ├── .gitignore │ ├── DEPRECATED-test-zstd-speed.py │ ├── Makefile │ ├── README.md │ ├── automated_benchmarking.py │ ├── bigdict.c │ ├── checkTag.c │ ├── check_size.py │ ├── cli-tests/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── basic/ │ │ │ ├── args.sh │ │ │ ├── args.sh.exit │ │ │ ├── args.sh.stderr.glob │ │ │ ├── help.sh │ │ │ ├── help.sh.stdout.glob │ │ │ ├── memlimit.sh │ │ │ ├── memlimit.sh.stderr.exact │ │ │ ├── memlimit.sh.stdout.exact │ │ │ ├── output_dir.sh │ │ │ ├── output_dir.sh.stderr.exact │ │ │ ├── output_dir.sh.stdout.exact │ │ │ ├── version.sh │ │ │ └── version.sh.stdout.glob │ │ ├── bin/ │ │ │ ├── cmp_size │ │ │ ├── datagen │ │ │ ├── die │ │ │ ├── println │ │ │ ├── zstd │ │ │ ├── zstdgrep │ │ │ └── zstdless │ │ ├── cltools/ │ │ │ ├── setup │ │ │ ├── zstdgrep.sh │ │ │ ├── zstdgrep.sh.exit │ │ │ ├── zstdgrep.sh.stderr.exact │ │ │ ├── zstdgrep.sh.stdout.glob │ │ │ ├── zstdless.sh │ │ │ ├── zstdless.sh.stderr.exact │ │ │ └── zstdless.sh.stdout.glob │ │ ├── common/ │ │ │ ├── format.sh │ │ │ ├── mtime.sh │ │ │ ├── permissions.sh │ │ │ └── platform.sh │ │ ├── compression/ │ │ │ ├── adapt.sh │ │ │ ├── basic.sh │ │ │ ├── compress-literals.sh │ │ │ ├── format.sh │ │ │ ├── golden.sh │ │ │ ├── gzip-compat.sh │ │ │ ├── levels.sh │ │ │ ├── levels.sh.stderr.exact │ │ │ ├── long-distance-matcher.sh │ │ │ ├── multi-threaded.sh │ │ │ ├── multi-threaded.sh.stderr.exact │ │ │ ├── multiple-files.sh │ │ │ ├── multiple-files.sh.stdout.exact │ │ │ ├── row-match-finder.sh │ │ │ ├── setup │ │ │ ├── stream-size.sh │ │ │ ├── verbose-wlog.sh │ │ │ ├── verbose-wlog.sh.stderr.glob │ │ │ ├── verbose-wlog.sh.stdout.glob │ │ │ ├── window-resize.sh │ │ │ ├── window-resize.sh.stderr.ignore │ │ │ └── window-resize.sh.stdout.glob │ │ ├── decompression/ │ │ │ ├── detectErrors.sh │ │ │ ├── golden.sh │ │ │ ├── pass-through.sh │ │ │ ├── pass-through.sh.stderr.exact │ │ │ └── pass-through.sh.stdout.exact │ │ ├── dict-builder/ │ │ │ ├── empty-input.sh │ │ │ ├── empty-input.sh.stderr.exact │ │ │ ├── no-inputs.sh │ │ │ ├── no-inputs.sh.exit │ │ │ └── no-inputs.sh.stderr.exact │ │ ├── dictionaries/ │ │ │ ├── dictionary-mismatch.sh │ │ │ ├── dictionary-mismatch.sh.stderr.exact │ │ │ ├── golden.sh │ │ │ ├── setup │ │ │ └── setup_once │ │ ├── file-handling/ │ │ │ ├── directory-mirror.sh │ │ │ ├── directory-mirror.sh.stderr.exact │ │ │ └── directory-mirror.sh.stdout.exact │ │ ├── file-stat/ │ │ │ ├── compress-file-to-dir-without-write-perm.sh │ │ │ ├── compress-file-to-dir-without-write-perm.sh.stderr.exact │ │ │ ├── compress-file-to-file.sh │ │ │ ├── compress-file-to-file.sh.stderr.exact │ │ │ ├── compress-file-to-stdout.sh │ │ │ ├── compress-file-to-stdout.sh.stderr.exact │ │ │ ├── compress-stdin-to-file.sh │ │ │ ├── compress-stdin-to-file.sh.stderr.exact │ │ │ ├── compress-stdin-to-stdout.sh │ │ │ ├── compress-stdin-to-stdout.sh.stderr.exact │ │ │ ├── decompress-file-to-file.sh │ │ │ ├── decompress-file-to-file.sh.stderr.exact │ │ │ ├── decompress-file-to-stdout.sh │ │ │ ├── decompress-file-to-stdout.sh.stderr.exact │ │ │ ├── decompress-stdin-to-file.sh │ │ │ ├── decompress-stdin-to-file.sh.stderr.exact │ │ │ ├── decompress-stdin-to-stdout.sh │ │ │ └── decompress-stdin-to-stdout.sh.stderr.exact │ │ ├── progress/ │ │ │ ├── no-progress.sh │ │ │ ├── no-progress.sh.stderr.glob │ │ │ ├── progress.sh │ │ │ └── progress.sh.stderr.glob │ │ ├── run.py │ │ └── zstd-symlinks/ │ │ ├── setup │ │ ├── zstdcat.sh │ │ └── zstdcat.sh.stdout.exact │ ├── datagencli.c │ ├── decodecorpus.c │ ├── dict-files/ │ │ └── zero-weight-dict │ ├── external_matchfinder.c │ ├── external_matchfinder.h │ ├── fullbench.c │ ├── fuzz/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── README.md │ │ ├── block_decompress.c │ │ ├── block_round_trip.c │ │ ├── decompress_cross_format.c │ │ ├── decompress_dstSize_tooSmall.c │ │ ├── dictionary_decompress.c │ │ ├── dictionary_loader.c │ │ ├── dictionary_round_trip.c │ │ ├── dictionary_stream_round_trip.c │ │ ├── fse_read_ncount.c │ │ ├── fuzz.h │ │ ├── fuzz.py │ │ ├── fuzz_data_producer.c │ │ ├── fuzz_data_producer.h │ │ ├── fuzz_helpers.c │ │ ├── fuzz_helpers.h │ │ ├── fuzz_third_party_seq_prod.h │ │ ├── generate_sequences.c │ │ ├── huf_decompress.c │ │ ├── huf_round_trip.c │ │ ├── raw_dictionary_round_trip.c │ │ ├── regression_driver.c │ │ ├── seekable_roundtrip.c │ │ ├── seq_prod_fuzz_example/ │ │ │ ├── Makefile │ │ │ ├── README.md │ │ │ └── example_seq_prod.c │ │ ├── sequence_compression_api.c │ │ ├── simple_compress.c │ │ ├── simple_decompress.c │ │ ├── simple_round_trip.c │ │ ├── stream_decompress.c │ │ ├── stream_round_trip.c │ │ ├── zstd_frame_info.c │ │ ├── zstd_helpers.c │ │ └── zstd_helpers.h │ ├── fuzzer.c │ ├── golden-compression/ │ │ ├── PR-3517-block-splitter-corruption-test │ │ ├── http │ │ ├── huffman-compressed-larger │ │ └── large-literal-and-match-lengths │ ├── golden-decompression-errors/ │ │ ├── .gitignore │ │ ├── off0.bin.zst │ │ ├── truncated_huff_state.zst │ │ └── zeroSeq_extraneous.zst │ ├── golden-dictionaries/ │ │ └── http-dict-missing-symbols │ ├── gzip/ │ │ ├── Makefile │ │ ├── gzip-env.sh │ │ ├── helin-segv.sh │ │ ├── help-version.sh │ │ ├── hufts.sh │ │ ├── init.cfg │ │ ├── init.sh │ │ ├── keep.sh │ │ ├── list.sh │ │ ├── memcpy-abuse.sh │ │ ├── mixed.sh │ │ ├── null-suffix-clobber.sh │ │ ├── stdin.sh │ │ ├── test-driver.sh │ │ ├── trailing-nul.sh │ │ ├── unpack-invalid.sh │ │ ├── z-suffix.sh │ │ ├── zdiff.sh │ │ ├── zgrep-context.sh │ │ ├── zgrep-f.sh │ │ ├── zgrep-signal.sh │ │ └── znew-k.sh │ ├── invalidDictionaries.c │ ├── largeDictionary.c │ ├── legacy.c │ ├── libzstd_builds.sh │ ├── longmatch.c │ ├── loremOut.c │ ├── loremOut.h │ ├── paramgrill.c │ ├── playTests.sh │ ├── poolTests.c │ ├── rateLimiter.py │ ├── regression/ │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── README.md │ │ ├── config.c │ │ ├── config.h │ │ ├── data.c │ │ ├── data.h │ │ ├── levels.h │ │ ├── method.c │ │ ├── method.h │ │ ├── result.c │ │ ├── result.h │ │ ├── results.csv │ │ └── test.c │ ├── roundTripCrash.c │ ├── seqgen.c │ ├── seqgen.h │ ├── test-license.py │ ├── test-variants.sh │ ├── test-zstd-versions.py │ └── zstreamtest.c └── zlibWrapper/ ├── .gitignore ├── Makefile ├── README.md ├── examples/ │ ├── example.c │ ├── example_original.c │ ├── fitblk.c │ ├── fitblk_original.c │ ├── minigzip.c │ └── zwrapbench.c ├── gzclose.c ├── gzcompatibility.h ├── gzguts.h ├── gzlib.c ├── gzread.c ├── gzwrite.c ├── zstd_zlibwrapper.c └── zstd_zlibwrapper.h