re2 1.23.0 → 1.23.2
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.
- package/README.md +2 -0
- package/binding.gyp +3 -2
- package/package.json +5 -5
- package/vendor/abseil-cpp/CMake/AbseilDll.cmake +25 -4
- package/vendor/abseil-cpp/CMake/AbseilHelpers.cmake +6 -1
- package/vendor/abseil-cpp/CMakeLists.txt +2 -2
- package/vendor/abseil-cpp/MODULE.bazel +2 -2
- package/vendor/abseil-cpp/absl/algorithm/BUILD.bazel +0 -1
- package/vendor/abseil-cpp/absl/algorithm/CMakeLists.txt +0 -2
- package/vendor/abseil-cpp/absl/algorithm/container.h +191 -140
- package/vendor/abseil-cpp/absl/algorithm/container_test.cc +818 -0
- package/vendor/abseil-cpp/absl/base/BUILD.bazel +44 -5
- package/vendor/abseil-cpp/absl/base/CMakeLists.txt +42 -3
- package/vendor/abseil-cpp/absl/base/attributes.h +5 -1
- package/vendor/abseil-cpp/absl/base/call_once_test.cc +10 -10
- package/vendor/abseil-cpp/absl/base/casts.cc +61 -0
- package/vendor/abseil-cpp/absl/base/casts.h +128 -2
- package/vendor/abseil-cpp/absl/base/casts_test.cc +151 -0
- package/vendor/abseil-cpp/absl/base/config.h +13 -37
- package/vendor/abseil-cpp/absl/base/internal/dynamic_annotations.h +1 -1
- package/vendor/abseil-cpp/absl/base/internal/iterator_traits.h +4 -0
- package/vendor/abseil-cpp/absl/base/internal/nullability_traits.h +71 -0
- package/vendor/abseil-cpp/absl/base/internal/nullability_traits_test.cc +98 -0
- package/vendor/abseil-cpp/absl/base/internal/raw_logging.cc +3 -4
- package/vendor/abseil-cpp/absl/base/internal/spinlock.cc +13 -7
- package/vendor/abseil-cpp/absl/base/internal/spinlock.h +16 -11
- package/vendor/abseil-cpp/absl/base/internal/strerror_test.cc +2 -1
- package/vendor/abseil-cpp/absl/base/internal/sysinfo.cc +0 -9
- package/vendor/abseil-cpp/absl/base/internal/sysinfo_test.cc +0 -6
- package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +1 -1
- package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +1 -1
- package/vendor/abseil-cpp/absl/base/macros.h +40 -17
- package/vendor/abseil-cpp/absl/base/nullability.h +1 -1
- package/vendor/abseil-cpp/absl/base/optimization.h +1 -3
- package/vendor/abseil-cpp/absl/base/options.h +1 -27
- package/vendor/abseil-cpp/absl/base/spinlock_test_common.cc +5 -8
- package/vendor/abseil-cpp/absl/cleanup/cleanup.h +4 -0
- package/vendor/abseil-cpp/absl/container/BUILD.bazel +195 -2
- package/vendor/abseil-cpp/absl/container/CMakeLists.txt +136 -2
- package/vendor/abseil-cpp/absl/container/btree_map.h +56 -6
- package/vendor/abseil-cpp/absl/container/btree_set.h +52 -6
- package/vendor/abseil-cpp/absl/container/btree_test.cc +107 -1
- package/vendor/abseil-cpp/absl/container/chunked_queue.h +755 -0
- package/vendor/abseil-cpp/absl/container/chunked_queue_benchmark.cc +386 -0
- package/vendor/abseil-cpp/absl/container/chunked_queue_test.cc +768 -0
- package/vendor/abseil-cpp/absl/container/fixed_array.h +4 -6
- package/vendor/abseil-cpp/absl/container/flat_hash_map.h +16 -6
- package/vendor/abseil-cpp/absl/container/flat_hash_map_test.cc +1 -2
- package/vendor/abseil-cpp/absl/container/flat_hash_set.h +16 -6
- package/vendor/abseil-cpp/absl/container/flat_hash_set_test.cc +0 -2
- package/vendor/abseil-cpp/absl/container/inlined_vector.h +12 -4
- package/vendor/abseil-cpp/absl/container/inlined_vector_test.cc +21 -0
- package/vendor/abseil-cpp/absl/container/internal/btree_container.h +14 -5
- package/vendor/abseil-cpp/absl/container/internal/chunked_queue.h +173 -0
- package/vendor/abseil-cpp/absl/container/internal/common.h +51 -0
- package/vendor/abseil-cpp/absl/container/internal/container_memory.h +7 -1
- package/vendor/abseil-cpp/absl/container/internal/container_memory_test.cc +11 -0
- package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.cc +0 -2
- package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.h +1 -2
- package/vendor/abseil-cpp/absl/container/internal/hash_policy_testing.h +0 -14
- package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +11 -8
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +3 -4
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.h +23 -6
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +31 -15
- package/vendor/abseil-cpp/absl/container/internal/heterogeneous_lookup_testing.h +80 -0
- package/vendor/abseil-cpp/absl/container/internal/inlined_vector.h +4 -12
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_map.h +35 -10
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.cc +149 -23
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.h +120 -126
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +4 -0
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +8 -0
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +14 -59
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +111 -22
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_constructor_test.h +53 -112
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_lookup_test.h +10 -15
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_members_test.h +3 -3
- package/vendor/abseil-cpp/absl/container/internal/unordered_map_modifiers_test.h +45 -61
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_constructor_test.h +53 -112
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_lookup_test.h +6 -9
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_members_test.h +3 -3
- package/vendor/abseil-cpp/absl/container/internal/unordered_set_modifiers_test.h +25 -31
- package/vendor/abseil-cpp/absl/container/linked_hash_map.h +666 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_map_benchmark.cc +140 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_map_test.cc +987 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_set.h +527 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_set_benchmark.cc +84 -0
- package/vendor/abseil-cpp/absl/container/linked_hash_set_test.cc +947 -0
- package/vendor/abseil-cpp/absl/container/node_hash_map.h +17 -6
- package/vendor/abseil-cpp/absl/container/node_hash_set.h +16 -5
- package/vendor/abseil-cpp/absl/container/node_hash_set_test.cc +1 -2
- package/vendor/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +79 -0
- package/vendor/abseil-cpp/absl/copts/GENERATED_copts.bzl +79 -0
- package/vendor/abseil-cpp/absl/copts/copts.py +17 -4
- package/vendor/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +67 -13
- package/vendor/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +4 -2
- package/vendor/abseil-cpp/absl/debugging/BUILD.bazel +31 -0
- package/vendor/abseil-cpp/absl/debugging/CMakeLists.txt +34 -0
- package/vendor/abseil-cpp/absl/debugging/failure_signal_handler.cc +2 -2
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.cc +118 -0
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.h +71 -0
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer_test.cc +97 -0
- package/vendor/abseil-cpp/absl/debugging/internal/demangle.cc +2 -2
- package/vendor/abseil-cpp/absl/debugging/internal/elf_mem_image.h +4 -4
- package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.cc +4 -0
- package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.h +7 -0
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +1 -1
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +0 -7
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +3 -2
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +2 -1
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +8 -3
- package/vendor/abseil-cpp/absl/debugging/internal/symbolize.h +2 -2
- package/vendor/abseil-cpp/absl/debugging/stacktrace.cc +35 -67
- package/vendor/abseil-cpp/absl/debugging/stacktrace.h +3 -0
- package/vendor/abseil-cpp/absl/debugging/stacktrace_benchmark.cc +24 -1
- package/vendor/abseil-cpp/absl/debugging/stacktrace_test.cc +39 -15
- package/vendor/abseil-cpp/absl/debugging/symbolize_emscripten.inc +4 -17
- package/vendor/abseil-cpp/absl/debugging/symbolize_test.cc +25 -40
- package/vendor/abseil-cpp/absl/debugging/symbolize_win32.inc +2 -4
- package/vendor/abseil-cpp/absl/flags/BUILD.bazel +1 -0
- package/vendor/abseil-cpp/absl/flags/declare.h +9 -0
- package/vendor/abseil-cpp/absl/flags/flag.h +2 -1
- package/vendor/abseil-cpp/absl/flags/internal/commandlineflag.h +1 -1
- package/vendor/abseil-cpp/absl/flags/internal/flag.cc +3 -2
- package/vendor/abseil-cpp/absl/flags/marshalling.cc +1 -16
- package/vendor/abseil-cpp/absl/flags/parse.cc +4 -2
- package/vendor/abseil-cpp/absl/flags/parse_test.cc +1 -1
- package/vendor/abseil-cpp/absl/flags/reflection.cc +4 -3
- package/vendor/abseil-cpp/absl/functional/BUILD.bazel +4 -0
- package/vendor/abseil-cpp/absl/functional/CMakeLists.txt +4 -0
- package/vendor/abseil-cpp/absl/functional/any_invocable.h +3 -1
- package/vendor/abseil-cpp/absl/functional/function_ref.h +125 -20
- package/vendor/abseil-cpp/absl/functional/function_ref_test.cc +122 -9
- package/vendor/abseil-cpp/absl/functional/internal/any_invocable.h +13 -2
- package/vendor/abseil-cpp/absl/functional/internal/function_ref.h +42 -4
- package/vendor/abseil-cpp/absl/hash/hash_benchmark.cc +11 -0
- package/vendor/abseil-cpp/absl/hash/hash_test.cc +5 -2
- package/vendor/abseil-cpp/absl/hash/internal/hash.cc +184 -53
- package/vendor/abseil-cpp/absl/hash/internal/hash.h +116 -10
- package/vendor/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +43 -4
- package/vendor/abseil-cpp/absl/log/BUILD.bazel +2 -0
- package/vendor/abseil-cpp/absl/log/CMakeLists.txt +35 -1
- package/vendor/abseil-cpp/absl/log/check_test_impl.inc +59 -4
- package/vendor/abseil-cpp/absl/log/die_if_null.cc +3 -1
- package/vendor/abseil-cpp/absl/log/die_if_null.h +24 -3
- package/vendor/abseil-cpp/absl/log/internal/BUILD.bazel +31 -1
- package/vendor/abseil-cpp/absl/log/internal/check_impl.h +2 -1
- package/vendor/abseil-cpp/absl/log/internal/check_op.cc +3 -1
- package/vendor/abseil-cpp/absl/log/internal/check_op.h +44 -18
- package/vendor/abseil-cpp/absl/log/internal/conditions.h +38 -35
- package/vendor/abseil-cpp/absl/log/internal/container.h +312 -0
- package/vendor/abseil-cpp/absl/log/internal/container_test.cc +254 -0
- package/vendor/abseil-cpp/absl/log/internal/log_impl.h +108 -110
- package/vendor/abseil-cpp/absl/log/internal/log_message.cc +5 -2
- package/vendor/abseil-cpp/absl/log/internal/log_message.h +5 -1
- package/vendor/abseil-cpp/absl/log/internal/strip.h +30 -31
- package/vendor/abseil-cpp/absl/log/internal/vlog_config.cc +19 -19
- package/vendor/abseil-cpp/absl/log/internal/vlog_config.h +0 -1
- package/vendor/abseil-cpp/absl/log/log.h +2 -2
- package/vendor/abseil-cpp/absl/meta/BUILD.bazel +51 -0
- package/vendor/abseil-cpp/absl/meta/CMakeLists.txt +46 -0
- package/vendor/abseil-cpp/absl/meta/internal/constexpr_testing.h +73 -0
- package/vendor/abseil-cpp/absl/meta/internal/constexpr_testing_test.cc +40 -0
- package/vendor/abseil-cpp/absl/meta/internal/requires.h +67 -0
- package/vendor/abseil-cpp/absl/meta/internal/requires_test.cc +66 -0
- package/vendor/abseil-cpp/absl/meta/type_traits.h +42 -1
- package/vendor/abseil-cpp/absl/meta/type_traits_test.cc +14 -0
- package/vendor/abseil-cpp/absl/numeric/int128.h +41 -21
- package/vendor/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +16 -22
- package/vendor/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +5 -7
- package/vendor/abseil-cpp/absl/numeric/int128_test.cc +52 -5
- package/vendor/abseil-cpp/absl/profiling/BUILD.bazel +1 -0
- package/vendor/abseil-cpp/absl/profiling/CMakeLists.txt +1 -0
- package/vendor/abseil-cpp/absl/profiling/hashtable.cc +18 -7
- package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.cc +1 -0
- package/vendor/abseil-cpp/absl/random/internal/fastmath_test.cc +3 -5
- package/vendor/abseil-cpp/absl/random/internal/platform.h +0 -13
- package/vendor/abseil-cpp/absl/random/internal/randen_engine_test.cc +0 -1
- package/vendor/abseil-cpp/absl/random/internal/seed_material.cc +1 -27
- package/vendor/abseil-cpp/absl/status/BUILD.bazel +17 -0
- package/vendor/abseil-cpp/absl/status/CMakeLists.txt +16 -0
- package/vendor/abseil-cpp/absl/status/internal/status_internal.h +4 -2
- package/vendor/abseil-cpp/absl/status/internal/status_matchers.h +2 -2
- package/vendor/abseil-cpp/absl/status/internal/statusor_internal.h +2 -1
- package/vendor/abseil-cpp/absl/status/status.cc +4 -0
- package/vendor/abseil-cpp/absl/status/status.h +5 -0
- package/vendor/abseil-cpp/absl/status/status_matchers.h +48 -0
- package/vendor/abseil-cpp/absl/status/status_matchers_test.cc +27 -0
- package/vendor/abseil-cpp/absl/status/status_test.cc +1 -0
- package/vendor/abseil-cpp/absl/status/statusor.h +1 -1
- package/vendor/abseil-cpp/absl/strings/BUILD.bazel +101 -21
- package/vendor/abseil-cpp/absl/strings/CMakeLists.txt +99 -5
- package/vendor/abseil-cpp/absl/strings/ascii.h +9 -4
- package/vendor/abseil-cpp/absl/strings/cord.cc +15 -10
- package/vendor/abseil-cpp/absl/strings/cord.h +1 -1
- package/vendor/abseil-cpp/absl/strings/escaping.cc +126 -94
- package/vendor/abseil-cpp/absl/strings/internal/append_and_overwrite.h +93 -0
- package/vendor/abseil-cpp/absl/strings/internal/append_and_overwrite_test.cc +95 -0
- package/vendor/abseil-cpp/absl/strings/internal/cord_internal.h +2 -0
- package/vendor/abseil-cpp/absl/strings/internal/cord_rep_btree_test.cc +8 -8
- package/vendor/abseil-cpp/absl/strings/internal/cordz_info.cc +24 -18
- package/vendor/abseil-cpp/absl/strings/internal/cordz_info.h +10 -16
- package/vendor/abseil-cpp/absl/strings/internal/escaping.h +9 -7
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer.cc +107 -0
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer.h +115 -0
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer_internal.h +423 -0
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer_test.cc +685 -0
- package/vendor/abseil-cpp/absl/strings/internal/resize_uninitialized.h +0 -12
- package/vendor/abseil-cpp/absl/strings/internal/str_format/checker.h +2 -4
- package/vendor/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +21 -7
- package/vendor/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +495 -8
- package/vendor/abseil-cpp/absl/strings/internal/str_join_internal.h +18 -15
- package/vendor/abseil-cpp/absl/strings/numbers.cc +71 -8
- package/vendor/abseil-cpp/absl/strings/numbers.h +25 -12
- package/vendor/abseil-cpp/absl/strings/numbers_test.cc +70 -0
- package/vendor/abseil-cpp/absl/strings/resize_and_overwrite.h +194 -0
- package/vendor/abseil-cpp/absl/strings/resize_and_overwrite_test.cc +154 -0
- package/vendor/abseil-cpp/absl/strings/str_cat.cc +96 -91
- package/vendor/abseil-cpp/absl/strings/str_cat.h +17 -12
- package/vendor/abseil-cpp/absl/strings/str_format_test.cc +4 -4
- package/vendor/abseil-cpp/absl/strings/str_split.h +1 -1
- package/vendor/abseil-cpp/absl/strings/str_split_test.cc +1 -1
- package/vendor/abseil-cpp/absl/strings/string_view.h +8 -718
- package/vendor/abseil-cpp/absl/strings/string_view_test.cc +1 -1265
- package/vendor/abseil-cpp/absl/strings/substitute.cc +24 -24
- package/vendor/abseil-cpp/absl/synchronization/BUILD.bazel +2 -3
- package/vendor/abseil-cpp/absl/synchronization/CMakeLists.txt +1 -0
- package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +2 -2
- package/vendor/abseil-cpp/absl/synchronization/internal/kernel_timeout_test.cc +15 -5
- package/vendor/abseil-cpp/absl/synchronization/mutex.cc +2 -1
- package/vendor/abseil-cpp/absl/synchronization/mutex.h +47 -23
- package/vendor/abseil-cpp/absl/synchronization/notification.h +1 -1
- package/vendor/abseil-cpp/absl/time/CMakeLists.txt +2 -0
- package/vendor/abseil-cpp/absl/time/civil_time_benchmark.cc +1 -2
- package/vendor/abseil-cpp/absl/time/civil_time_test.cc +58 -103
- package/vendor/abseil-cpp/absl/time/clock.cc +18 -16
- package/vendor/abseil-cpp/absl/time/clock_test.cc +2 -2
- package/vendor/abseil-cpp/absl/time/duration_benchmark.cc +144 -0
- package/vendor/abseil-cpp/absl/time/duration_test.cc +26 -29
- package/vendor/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +7 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +4 -2
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +6 -103
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +186 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.h +37 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab +9 -9
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +12 -12
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +47 -47
- package/vendor/abseil-cpp/absl/time/time.cc +4 -4
- package/vendor/abseil-cpp/absl/time/time.h +10 -10
- package/vendor/abseil-cpp/absl/time/time_test.cc +1 -0
- package/vendor/abseil-cpp/absl/types/compare.h +62 -61
- package/vendor/abseil-cpp/absl/types/compare_test.cc +3 -3
- package/vendor/abseil-cpp/absl/types/internal/span.h +1 -0
- package/vendor/abseil-cpp/absl/types/optional.h +2 -2
- package/vendor/abseil-cpp/absl/types/span.h +10 -2
- package/vendor/abseil-cpp/absl/utility/utility.h +13 -0
- package/vendor/abseil-cpp/ci/absl_alternate_options.h +0 -1
- package/vendor/abseil-cpp/ci/cmake_common.sh +1 -1
- package/vendor/abseil-cpp/ci/cmake_install_test.sh +6 -0
- package/vendor/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +2 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +1 -0
- package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +6 -0
- package/vendor/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +6 -0
- package/vendor/abseil-cpp/ci/macos_xcode_bazel.sh +3 -2
- package/vendor/abseil-cpp/ci/macos_xcode_cmake.sh +5 -0
- package/vendor/abseil-cpp/ci/windows_clangcl_bazel.bat +1 -0
- package/vendor/abseil-cpp/ci/windows_msvc_bazel.bat +1 -0
- package/vendor/abseil-cpp/ci/windows_msvc_cmake.bat +6 -1
- package/vendor/abseil-cpp/absl/base/internal/identity.h +0 -39
- package/vendor/abseil-cpp/absl/strings/string_view.cc +0 -257
- package/vendor/abseil-cpp/absl/strings/string_view_benchmark.cc +0 -380
|
@@ -122,13 +122,18 @@ class NodeHashMapPolicy;
|
|
|
122
122
|
// if (result != ducks.end()) {
|
|
123
123
|
// std::cout << "Result: " << result->second << std::endl;
|
|
124
124
|
// }
|
|
125
|
-
template <
|
|
126
|
-
|
|
127
|
-
|
|
125
|
+
template <
|
|
126
|
+
class Key, class Value,
|
|
127
|
+
class Hash =
|
|
128
|
+
typename container_internal::NodeHashMapPolicy<Key, Value>::DefaultHash,
|
|
129
|
+
class Eq =
|
|
130
|
+
typename container_internal::NodeHashMapPolicy<Key, Value>::DefaultEq,
|
|
131
|
+
class Alloc = typename container_internal::NodeHashMapPolicy<
|
|
132
|
+
Key, Value>::DefaultAlloc>
|
|
128
133
|
class ABSL_ATTRIBUTE_OWNER node_hash_map
|
|
129
|
-
: public absl::container_internal::
|
|
134
|
+
: public absl::container_internal::InstantiateRawHashMap<
|
|
130
135
|
absl::container_internal::NodeHashMapPolicy<Key, Value>, Hash, Eq,
|
|
131
|
-
Alloc
|
|
136
|
+
Alloc>::type {
|
|
132
137
|
using Base = typename node_hash_map::raw_hash_map;
|
|
133
138
|
|
|
134
139
|
public:
|
|
@@ -455,7 +460,9 @@ class ABSL_ATTRIBUTE_OWNER node_hash_map
|
|
|
455
460
|
//
|
|
456
461
|
// Sets the number of slots in the `node_hash_map` to the number needed to
|
|
457
462
|
// accommodate at least `count` total elements without exceeding the current
|
|
458
|
-
// maximum load factor, and may rehash the container if needed.
|
|
463
|
+
// maximum load factor, and may rehash the container if needed. After this
|
|
464
|
+
// returns, it is guaranteed that `count - size()` elements can be inserted
|
|
465
|
+
// into the `node_hash_map` without another rehash.
|
|
459
466
|
using Base::reserve;
|
|
460
467
|
|
|
461
468
|
// node_hash_map::at()
|
|
@@ -627,6 +634,10 @@ class NodeHashMapPolicy
|
|
|
627
634
|
using mapped_type = Value;
|
|
628
635
|
using init_type = std::pair</*non const*/ key_type, mapped_type>;
|
|
629
636
|
|
|
637
|
+
using DefaultHash = DefaultHashContainerHash<Key>;
|
|
638
|
+
using DefaultEq = DefaultHashContainerEq<Key>;
|
|
639
|
+
using DefaultAlloc = std::allocator<std::pair<const Key, Value>>;
|
|
640
|
+
|
|
630
641
|
template <class Allocator, class... Args>
|
|
631
642
|
static value_type* new_element(Allocator* alloc, Args&&... args) {
|
|
632
643
|
using PairAlloc = typename absl::allocator_traits<
|
|
@@ -118,11 +118,16 @@ struct NodeHashSetPolicy;
|
|
|
118
118
|
// if (ducks.contains("dewey")) {
|
|
119
119
|
// std::cout << "We found dewey!" << std::endl;
|
|
120
120
|
// }
|
|
121
|
-
template <
|
|
122
|
-
|
|
121
|
+
template <
|
|
122
|
+
class T,
|
|
123
|
+
class Hash = typename container_internal::NodeHashSetPolicy<T>::DefaultHash,
|
|
124
|
+
class Eq = typename container_internal::NodeHashSetPolicy<T>::DefaultEq,
|
|
125
|
+
class Alloc =
|
|
126
|
+
typename container_internal::NodeHashSetPolicy<T>::DefaultAlloc>
|
|
123
127
|
class ABSL_ATTRIBUTE_OWNER node_hash_set
|
|
124
|
-
: public absl::container_internal::
|
|
125
|
-
absl::container_internal::NodeHashSetPolicy<T>, Hash, Eq,
|
|
128
|
+
: public absl::container_internal::InstantiateRawHashSet<
|
|
129
|
+
absl::container_internal::NodeHashSetPolicy<T>, Hash, Eq,
|
|
130
|
+
Alloc>::type {
|
|
126
131
|
using Base = typename node_hash_set::raw_hash_set;
|
|
127
132
|
|
|
128
133
|
public:
|
|
@@ -390,7 +395,9 @@ class ABSL_ATTRIBUTE_OWNER node_hash_set
|
|
|
390
395
|
//
|
|
391
396
|
// Sets the number of slots in the `node_hash_set` to the number needed to
|
|
392
397
|
// accommodate at least `count` total elements without exceeding the current
|
|
393
|
-
// maximum load factor, and may rehash the container if needed.
|
|
398
|
+
// maximum load factor, and may rehash the container if needed. After this
|
|
399
|
+
// returns, it is guaranteed that `count - size()` elements can be inserted
|
|
400
|
+
// into the `node_hash_set` without another rehash.
|
|
394
401
|
using Base::reserve;
|
|
395
402
|
|
|
396
403
|
// node_hash_set::contains()
|
|
@@ -527,6 +534,10 @@ struct NodeHashSetPolicy
|
|
|
527
534
|
using init_type = T;
|
|
528
535
|
using constant_iterators = std::true_type;
|
|
529
536
|
|
|
537
|
+
using DefaultHash = DefaultHashContainerHash<T>;
|
|
538
|
+
using DefaultEq = DefaultHashContainerEq<T>;
|
|
539
|
+
using DefaultAlloc = std::allocator<T>;
|
|
540
|
+
|
|
530
541
|
template <class Allocator, class... Args>
|
|
531
542
|
static T* new_element(Allocator* alloc, Args&&... args) {
|
|
532
543
|
using ValueAlloc =
|
|
@@ -35,8 +35,7 @@ namespace absl {
|
|
|
35
35
|
ABSL_NAMESPACE_BEGIN
|
|
36
36
|
namespace container_internal {
|
|
37
37
|
namespace {
|
|
38
|
-
|
|
39
|
-
using ::absl::container_internal::hash_internal::EnumClass;
|
|
38
|
+
|
|
40
39
|
using ::testing::IsEmpty;
|
|
41
40
|
using ::testing::Pointee;
|
|
42
41
|
using ::testing::UnorderedElementsAre;
|
|
@@ -10,6 +10,46 @@ list(APPEND ABSL_CLANG_CL_FLAGS
|
|
|
10
10
|
"/D_CRT_SECURE_NO_WARNINGS"
|
|
11
11
|
"/D_SCL_SECURE_NO_WARNINGS"
|
|
12
12
|
"/D_ENABLE_EXTENDED_ALIGNED_STORAGE"
|
|
13
|
+
"-Wmost"
|
|
14
|
+
"-Wextra"
|
|
15
|
+
"-Wc++98-compat-extra-semi"
|
|
16
|
+
"-Wcast-qual"
|
|
17
|
+
"-Wconversion"
|
|
18
|
+
"-Wdeprecated-pragma"
|
|
19
|
+
"-Wfloat-overflow-conversion"
|
|
20
|
+
"-Wfloat-zero-conversion"
|
|
21
|
+
"-Wfor-loop-analysis"
|
|
22
|
+
"-Wformat-security"
|
|
23
|
+
"-Wgnu-redeclared-enum"
|
|
24
|
+
"-Winfinite-recursion"
|
|
25
|
+
"-Winvalid-constexpr"
|
|
26
|
+
"-Wliteral-conversion"
|
|
27
|
+
"-Wmissing-declarations"
|
|
28
|
+
"-Wnullability-completeness"
|
|
29
|
+
"-Woverlength-strings"
|
|
30
|
+
"-Wpointer-arith"
|
|
31
|
+
"-Wself-assign"
|
|
32
|
+
"-Wshadow-all"
|
|
33
|
+
"-Wshorten-64-to-32"
|
|
34
|
+
"-Wsign-conversion"
|
|
35
|
+
"-Wstring-conversion"
|
|
36
|
+
"-Wtautological-overlap-compare"
|
|
37
|
+
"-Wtautological-unsigned-zero-compare"
|
|
38
|
+
"-Wthread-safety"
|
|
39
|
+
"-Wundef"
|
|
40
|
+
"-Wuninitialized"
|
|
41
|
+
"-Wunreachable-code"
|
|
42
|
+
"-Wunused-comparison"
|
|
43
|
+
"-Wunused-local-typedefs"
|
|
44
|
+
"-Wunused-result"
|
|
45
|
+
"-Wvla"
|
|
46
|
+
"-Wwrite-strings"
|
|
47
|
+
"-Wno-float-conversion"
|
|
48
|
+
"-Wno-implicit-float-conversion"
|
|
49
|
+
"-Wno-implicit-int-float-conversion"
|
|
50
|
+
"-Wno-unknown-warning-option"
|
|
51
|
+
"-Wno-unused-command-line-argument"
|
|
52
|
+
"-DNOMINMAX"
|
|
13
53
|
)
|
|
14
54
|
|
|
15
55
|
list(APPEND ABSL_CLANG_CL_TEST_FLAGS
|
|
@@ -19,6 +59,43 @@ list(APPEND ABSL_CLANG_CL_TEST_FLAGS
|
|
|
19
59
|
"/D_CRT_SECURE_NO_WARNINGS"
|
|
20
60
|
"/D_SCL_SECURE_NO_WARNINGS"
|
|
21
61
|
"/D_ENABLE_EXTENDED_ALIGNED_STORAGE"
|
|
62
|
+
"-Wmost"
|
|
63
|
+
"-Wextra"
|
|
64
|
+
"-Wc++98-compat-extra-semi"
|
|
65
|
+
"-Wcast-qual"
|
|
66
|
+
"-Wconversion"
|
|
67
|
+
"-Wdeprecated-pragma"
|
|
68
|
+
"-Wfloat-overflow-conversion"
|
|
69
|
+
"-Wfloat-zero-conversion"
|
|
70
|
+
"-Wfor-loop-analysis"
|
|
71
|
+
"-Wformat-security"
|
|
72
|
+
"-Wgnu-redeclared-enum"
|
|
73
|
+
"-Winfinite-recursion"
|
|
74
|
+
"-Winvalid-constexpr"
|
|
75
|
+
"-Wliteral-conversion"
|
|
76
|
+
"-Wmissing-declarations"
|
|
77
|
+
"-Woverlength-strings"
|
|
78
|
+
"-Wpointer-arith"
|
|
79
|
+
"-Wself-assign"
|
|
80
|
+
"-Wshadow-all"
|
|
81
|
+
"-Wstring-conversion"
|
|
82
|
+
"-Wtautological-overlap-compare"
|
|
83
|
+
"-Wtautological-unsigned-zero-compare"
|
|
84
|
+
"-Wthread-safety"
|
|
85
|
+
"-Wundef"
|
|
86
|
+
"-Wuninitialized"
|
|
87
|
+
"-Wunreachable-code"
|
|
88
|
+
"-Wunused-comparison"
|
|
89
|
+
"-Wunused-local-typedefs"
|
|
90
|
+
"-Wunused-result"
|
|
91
|
+
"-Wvla"
|
|
92
|
+
"-Wwrite-strings"
|
|
93
|
+
"-Wno-float-conversion"
|
|
94
|
+
"-Wno-implicit-float-conversion"
|
|
95
|
+
"-Wno-implicit-int-float-conversion"
|
|
96
|
+
"-Wno-unknown-warning-option"
|
|
97
|
+
"-Wno-unused-command-line-argument"
|
|
98
|
+
"-DNOMINMAX"
|
|
22
99
|
"-Wno-deprecated-declarations"
|
|
23
100
|
"-Wno-implicit-int-conversion"
|
|
24
101
|
"-Wno-missing-prototypes"
|
|
@@ -84,6 +161,7 @@ list(APPEND ABSL_GCC_TEST_FLAGS
|
|
|
84
161
|
|
|
85
162
|
list(APPEND ABSL_LLVM_FLAGS
|
|
86
163
|
"-Wall"
|
|
164
|
+
"-Wmost"
|
|
87
165
|
"-Wextra"
|
|
88
166
|
"-Wc++98-compat-extra-semi"
|
|
89
167
|
"-Wcast-qual"
|
|
@@ -127,6 +205,7 @@ list(APPEND ABSL_LLVM_FLAGS
|
|
|
127
205
|
|
|
128
206
|
list(APPEND ABSL_LLVM_TEST_FLAGS
|
|
129
207
|
"-Wall"
|
|
208
|
+
"-Wmost"
|
|
130
209
|
"-Wextra"
|
|
131
210
|
"-Wc++98-compat-extra-semi"
|
|
132
211
|
"-Wcast-qual"
|
|
@@ -11,6 +11,46 @@ ABSL_CLANG_CL_FLAGS = [
|
|
|
11
11
|
"/D_CRT_SECURE_NO_WARNINGS",
|
|
12
12
|
"/D_SCL_SECURE_NO_WARNINGS",
|
|
13
13
|
"/D_ENABLE_EXTENDED_ALIGNED_STORAGE",
|
|
14
|
+
"-Wmost",
|
|
15
|
+
"-Wextra",
|
|
16
|
+
"-Wc++98-compat-extra-semi",
|
|
17
|
+
"-Wcast-qual",
|
|
18
|
+
"-Wconversion",
|
|
19
|
+
"-Wdeprecated-pragma",
|
|
20
|
+
"-Wfloat-overflow-conversion",
|
|
21
|
+
"-Wfloat-zero-conversion",
|
|
22
|
+
"-Wfor-loop-analysis",
|
|
23
|
+
"-Wformat-security",
|
|
24
|
+
"-Wgnu-redeclared-enum",
|
|
25
|
+
"-Winfinite-recursion",
|
|
26
|
+
"-Winvalid-constexpr",
|
|
27
|
+
"-Wliteral-conversion",
|
|
28
|
+
"-Wmissing-declarations",
|
|
29
|
+
"-Wnullability-completeness",
|
|
30
|
+
"-Woverlength-strings",
|
|
31
|
+
"-Wpointer-arith",
|
|
32
|
+
"-Wself-assign",
|
|
33
|
+
"-Wshadow-all",
|
|
34
|
+
"-Wshorten-64-to-32",
|
|
35
|
+
"-Wsign-conversion",
|
|
36
|
+
"-Wstring-conversion",
|
|
37
|
+
"-Wtautological-overlap-compare",
|
|
38
|
+
"-Wtautological-unsigned-zero-compare",
|
|
39
|
+
"-Wthread-safety",
|
|
40
|
+
"-Wundef",
|
|
41
|
+
"-Wuninitialized",
|
|
42
|
+
"-Wunreachable-code",
|
|
43
|
+
"-Wunused-comparison",
|
|
44
|
+
"-Wunused-local-typedefs",
|
|
45
|
+
"-Wunused-result",
|
|
46
|
+
"-Wvla",
|
|
47
|
+
"-Wwrite-strings",
|
|
48
|
+
"-Wno-float-conversion",
|
|
49
|
+
"-Wno-implicit-float-conversion",
|
|
50
|
+
"-Wno-implicit-int-float-conversion",
|
|
51
|
+
"-Wno-unknown-warning-option",
|
|
52
|
+
"-Wno-unused-command-line-argument",
|
|
53
|
+
"-DNOMINMAX",
|
|
14
54
|
]
|
|
15
55
|
|
|
16
56
|
ABSL_CLANG_CL_TEST_FLAGS = [
|
|
@@ -20,6 +60,43 @@ ABSL_CLANG_CL_TEST_FLAGS = [
|
|
|
20
60
|
"/D_CRT_SECURE_NO_WARNINGS",
|
|
21
61
|
"/D_SCL_SECURE_NO_WARNINGS",
|
|
22
62
|
"/D_ENABLE_EXTENDED_ALIGNED_STORAGE",
|
|
63
|
+
"-Wmost",
|
|
64
|
+
"-Wextra",
|
|
65
|
+
"-Wc++98-compat-extra-semi",
|
|
66
|
+
"-Wcast-qual",
|
|
67
|
+
"-Wconversion",
|
|
68
|
+
"-Wdeprecated-pragma",
|
|
69
|
+
"-Wfloat-overflow-conversion",
|
|
70
|
+
"-Wfloat-zero-conversion",
|
|
71
|
+
"-Wfor-loop-analysis",
|
|
72
|
+
"-Wformat-security",
|
|
73
|
+
"-Wgnu-redeclared-enum",
|
|
74
|
+
"-Winfinite-recursion",
|
|
75
|
+
"-Winvalid-constexpr",
|
|
76
|
+
"-Wliteral-conversion",
|
|
77
|
+
"-Wmissing-declarations",
|
|
78
|
+
"-Woverlength-strings",
|
|
79
|
+
"-Wpointer-arith",
|
|
80
|
+
"-Wself-assign",
|
|
81
|
+
"-Wshadow-all",
|
|
82
|
+
"-Wstring-conversion",
|
|
83
|
+
"-Wtautological-overlap-compare",
|
|
84
|
+
"-Wtautological-unsigned-zero-compare",
|
|
85
|
+
"-Wthread-safety",
|
|
86
|
+
"-Wundef",
|
|
87
|
+
"-Wuninitialized",
|
|
88
|
+
"-Wunreachable-code",
|
|
89
|
+
"-Wunused-comparison",
|
|
90
|
+
"-Wunused-local-typedefs",
|
|
91
|
+
"-Wunused-result",
|
|
92
|
+
"-Wvla",
|
|
93
|
+
"-Wwrite-strings",
|
|
94
|
+
"-Wno-float-conversion",
|
|
95
|
+
"-Wno-implicit-float-conversion",
|
|
96
|
+
"-Wno-implicit-int-float-conversion",
|
|
97
|
+
"-Wno-unknown-warning-option",
|
|
98
|
+
"-Wno-unused-command-line-argument",
|
|
99
|
+
"-DNOMINMAX",
|
|
23
100
|
"-Wno-deprecated-declarations",
|
|
24
101
|
"-Wno-implicit-int-conversion",
|
|
25
102
|
"-Wno-missing-prototypes",
|
|
@@ -85,6 +162,7 @@ ABSL_GCC_TEST_FLAGS = [
|
|
|
85
162
|
|
|
86
163
|
ABSL_LLVM_FLAGS = [
|
|
87
164
|
"-Wall",
|
|
165
|
+
"-Wmost",
|
|
88
166
|
"-Wextra",
|
|
89
167
|
"-Wc++98-compat-extra-semi",
|
|
90
168
|
"-Wcast-qual",
|
|
@@ -128,6 +206,7 @@ ABSL_LLVM_FLAGS = [
|
|
|
128
206
|
|
|
129
207
|
ABSL_LLVM_TEST_FLAGS = [
|
|
130
208
|
"-Wall",
|
|
209
|
+
"-Wmost",
|
|
131
210
|
"-Wextra",
|
|
132
211
|
"-Wc++98-compat-extra-semi",
|
|
133
212
|
"-Wcast-qual",
|
|
@@ -41,8 +41,13 @@ ABSL_GCC_TEST_ADDITIONAL_FLAGS = [
|
|
|
41
41
|
"-Wno-unused-private-field",
|
|
42
42
|
]
|
|
43
43
|
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
# https://github.com/llvm/llvm-project/issues/102982
|
|
45
|
+
# A list of LLVM base flags without -Wall. This is because clang-cl
|
|
46
|
+
# translates -Wall to -Weverything on Windows, mimicking MSVCs
|
|
47
|
+
# behavior. On most other platforms, -Wall is just a set of very good
|
|
48
|
+
# default flags.
|
|
49
|
+
ABSL_LLVM_BASE_FLAGS = [
|
|
50
|
+
"-Wmost",
|
|
46
51
|
"-Wextra",
|
|
47
52
|
"-Wc++98-compat-extra-semi",
|
|
48
53
|
"-Wcast-qual",
|
|
@@ -89,6 +94,8 @@ ABSL_LLVM_FLAGS = [
|
|
|
89
94
|
"-DNOMINMAX",
|
|
90
95
|
]
|
|
91
96
|
|
|
97
|
+
ABSL_LLVM_FLAGS = ["-Wall"] + ABSL_LLVM_BASE_FLAGS
|
|
98
|
+
|
|
92
99
|
ABSL_LLVM_TEST_ADDITIONAL_FLAGS = [
|
|
93
100
|
"-Wno-deprecated-declarations",
|
|
94
101
|
"-Wno-implicit-int-conversion",
|
|
@@ -164,9 +171,15 @@ COPT_VARS = {
|
|
|
164
171
|
"ABSL_LLVM_TEST_FLAGS": GccStyleFilterAndCombine(
|
|
165
172
|
ABSL_LLVM_FLAGS, ABSL_LLVM_TEST_ADDITIONAL_FLAGS
|
|
166
173
|
),
|
|
167
|
-
"ABSL_CLANG_CL_FLAGS":
|
|
174
|
+
"ABSL_CLANG_CL_FLAGS": (
|
|
175
|
+
MSVC_BIG_WARNING_FLAGS + MSVC_DEFINES + ABSL_LLVM_BASE_FLAGS
|
|
176
|
+
),
|
|
168
177
|
"ABSL_CLANG_CL_TEST_FLAGS": (
|
|
169
|
-
MSVC_BIG_WARNING_FLAGS
|
|
178
|
+
MSVC_BIG_WARNING_FLAGS
|
|
179
|
+
+ MSVC_DEFINES
|
|
180
|
+
+ GccStyleFilterAndCombine(
|
|
181
|
+
ABSL_LLVM_BASE_FLAGS, ABSL_LLVM_TEST_ADDITIONAL_FLAGS
|
|
182
|
+
)
|
|
170
183
|
),
|
|
171
184
|
"ABSL_MSVC_FLAGS": (
|
|
172
185
|
MSVC_BIG_WARNING_FLAGS + MSVC_WARNING_FLAGS + MSVC_DEFINES
|
|
@@ -317,6 +317,46 @@ class CRC32AcceleratedX86ARMCombinedMultipleStreamsBase
|
|
|
317
317
|
return crc;
|
|
318
318
|
}
|
|
319
319
|
|
|
320
|
+
// Same as Process64BytesCRC, but just interleaved for 2 streams.
|
|
321
|
+
ABSL_ATTRIBUTE_ALWAYS_INLINE void Process64BytesCRC2Streams(
|
|
322
|
+
const uint8_t* p0, const uint8_t* p1, uint64_t* crc) const {
|
|
323
|
+
uint64_t crc0 = crc[0];
|
|
324
|
+
uint64_t crc1 = crc[1];
|
|
325
|
+
for (int i = 0; i < 8; i++) {
|
|
326
|
+
crc0 = CRC32_u64(static_cast<uint32_t>(crc0),
|
|
327
|
+
absl::little_endian::Load64(p0));
|
|
328
|
+
crc1 = CRC32_u64(static_cast<uint32_t>(crc1),
|
|
329
|
+
absl::little_endian::Load64(p1));
|
|
330
|
+
p0 += 8;
|
|
331
|
+
p1 += 8;
|
|
332
|
+
}
|
|
333
|
+
crc[0] = crc0;
|
|
334
|
+
crc[1] = crc1;
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
// Same as Process64BytesCRC, but just interleaved for 3 streams.
|
|
338
|
+
ABSL_ATTRIBUTE_ALWAYS_INLINE void Process64BytesCRC3Streams(
|
|
339
|
+
const uint8_t* p0, const uint8_t* p1, const uint8_t* p2,
|
|
340
|
+
uint64_t* crc) const {
|
|
341
|
+
uint64_t crc0 = crc[0];
|
|
342
|
+
uint64_t crc1 = crc[1];
|
|
343
|
+
uint64_t crc2 = crc[2];
|
|
344
|
+
for (int i = 0; i < 8; i++) {
|
|
345
|
+
crc0 = CRC32_u64(static_cast<uint32_t>(crc0),
|
|
346
|
+
absl::little_endian::Load64(p0));
|
|
347
|
+
crc1 = CRC32_u64(static_cast<uint32_t>(crc1),
|
|
348
|
+
absl::little_endian::Load64(p1));
|
|
349
|
+
crc2 = CRC32_u64(static_cast<uint32_t>(crc2),
|
|
350
|
+
absl::little_endian::Load64(p2));
|
|
351
|
+
p0 += 8;
|
|
352
|
+
p1 += 8;
|
|
353
|
+
p2 += 8;
|
|
354
|
+
}
|
|
355
|
+
crc[0] = crc0;
|
|
356
|
+
crc[1] = crc1;
|
|
357
|
+
crc[2] = crc2;
|
|
358
|
+
}
|
|
359
|
+
|
|
320
360
|
// Constants generated by './scripts/gen-crc-consts.py x86_pclmul
|
|
321
361
|
// crc32_lsb_0x82f63b78' from the Linux kernel.
|
|
322
362
|
alignas(16) static constexpr uint64_t kFoldAcross512Bits[2] = {
|
|
@@ -452,9 +492,19 @@ class CRC32AcceleratedX86ARMCombinedMultipleStreams
|
|
|
452
492
|
uint64_t l64_pclmul[kMaxStreams] = {0};
|
|
453
493
|
|
|
454
494
|
// Peel first iteration, because PCLMULQDQ stream, needs setup.
|
|
455
|
-
|
|
456
|
-
l64_crc[
|
|
457
|
-
crc_streams[
|
|
495
|
+
if (num_crc_streams == 1) {
|
|
496
|
+
l64_crc[0] = Process64BytesCRC(crc_streams[0], l64_crc[0]);
|
|
497
|
+
crc_streams[0] += 16 * 4;
|
|
498
|
+
} else if (num_crc_streams == 2) {
|
|
499
|
+
Process64BytesCRC2Streams(crc_streams[0], crc_streams[1], l64_crc);
|
|
500
|
+
crc_streams[0] += 16 * 4;
|
|
501
|
+
crc_streams[1] += 16 * 4;
|
|
502
|
+
} else {
|
|
503
|
+
Process64BytesCRC3Streams(crc_streams[0], crc_streams[1],
|
|
504
|
+
crc_streams[2], l64_crc);
|
|
505
|
+
crc_streams[0] += 16 * 4;
|
|
506
|
+
crc_streams[1] += 16 * 4;
|
|
507
|
+
crc_streams[2] += 16 * 4;
|
|
458
508
|
}
|
|
459
509
|
|
|
460
510
|
V128 partialCRC[kMaxStreams][4];
|
|
@@ -492,24 +542,28 @@ class CRC32AcceleratedX86ARMCombinedMultipleStreams
|
|
|
492
542
|
// }
|
|
493
543
|
// But unrolling and interleaving PCLMULQDQ and CRC blocks manually
|
|
494
544
|
// gives ~2% performance boost.
|
|
495
|
-
|
|
496
|
-
|
|
545
|
+
if (num_crc_streams == 1) {
|
|
546
|
+
l64_crc[0] = Process64BytesCRC(crc_streams[0], l64_crc[0]);
|
|
547
|
+
crc_streams[0] += 16 * 4;
|
|
548
|
+
} else if (num_crc_streams == 2) {
|
|
549
|
+
Process64BytesCRC2Streams(crc_streams[0], crc_streams[1], l64_crc);
|
|
550
|
+
crc_streams[0] += 16 * 4;
|
|
551
|
+
crc_streams[1] += 16 * 4;
|
|
552
|
+
} else {
|
|
553
|
+
Process64BytesCRC3Streams(crc_streams[0], crc_streams[1],
|
|
554
|
+
crc_streams[2], l64_crc);
|
|
555
|
+
crc_streams[0] += 16 * 4;
|
|
556
|
+
crc_streams[1] += 16 * 4;
|
|
557
|
+
crc_streams[2] += 16 * 4;
|
|
558
|
+
}
|
|
497
559
|
if (num_pclmul_streams > 0) {
|
|
498
560
|
Process64BytesPclmul(pclmul_streams[0], partialCRC[0]);
|
|
499
561
|
pclmul_streams[0] += 16 * 4;
|
|
500
562
|
}
|
|
501
|
-
if (num_crc_streams > 1) {
|
|
502
|
-
l64_crc[1] = Process64BytesCRC(crc_streams[1], l64_crc[1]);
|
|
503
|
-
crc_streams[1] += 16 * 4;
|
|
504
|
-
}
|
|
505
563
|
if (num_pclmul_streams > 1) {
|
|
506
564
|
Process64BytesPclmul(pclmul_streams[1], partialCRC[1]);
|
|
507
565
|
pclmul_streams[1] += 16 * 4;
|
|
508
566
|
}
|
|
509
|
-
if (num_crc_streams > 2) {
|
|
510
|
-
l64_crc[2] = Process64BytesCRC(crc_streams[2], l64_crc[2]);
|
|
511
|
-
crc_streams[2] += 16 * 4;
|
|
512
|
-
}
|
|
513
567
|
if (num_pclmul_streams > 2) {
|
|
514
568
|
Process64BytesPclmul(pclmul_streams[2], partialCRC[2]);
|
|
515
569
|
pclmul_streams[2] += 16 * 4;
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
// See the License for the specific language governing permissions and
|
|
13
13
|
// limitations under the License.
|
|
14
14
|
|
|
15
|
+
// SKIP_ABSL_INLINE_NAMESPACE_CHECK
|
|
16
|
+
|
|
15
17
|
#ifndef ABSL_CRC_INTERNAL_NON_TEMPORAL_ARM_INTRINSICS_H_
|
|
16
18
|
#define ABSL_CRC_INTERNAL_NON_TEMPORAL_ARM_INTRINSICS_H_
|
|
17
19
|
|
|
@@ -21,7 +23,7 @@
|
|
|
21
23
|
#include <arm_neon.h>
|
|
22
24
|
|
|
23
25
|
typedef int64x2_t __m128i; /* 128-bit vector containing integers */
|
|
24
|
-
#define
|
|
26
|
+
#define vreinterpretq_m128i_s64(x) (x)
|
|
25
27
|
#define vreinterpretq_s64_m128i(x) (x)
|
|
26
28
|
|
|
27
29
|
// Guarantees that every preceding store is globally visible before any
|
|
@@ -44,7 +46,7 @@ static inline __attribute__((always_inline)) void _mm_sfence(void) {
|
|
|
44
46
|
// https://msdn.microsoft.com/zh-cn/library/f4k12ae8(v=vs.90).aspx
|
|
45
47
|
static inline __attribute__((always_inline)) __m128i _mm_loadu_si128(
|
|
46
48
|
const __m128i *p) {
|
|
47
|
-
return
|
|
49
|
+
return vreinterpretq_m128i_s64(vld1q_s64((const int64_t*)p));
|
|
48
50
|
}
|
|
49
51
|
|
|
50
52
|
// Stores the data in a to the address p without polluting the caches. If the
|
|
@@ -35,6 +35,33 @@ package(
|
|
|
35
35
|
|
|
36
36
|
licenses(["notice"])
|
|
37
37
|
|
|
38
|
+
cc_library(
|
|
39
|
+
name = "borrowed_fixup_buffer",
|
|
40
|
+
srcs = ["internal/borrowed_fixup_buffer.cc"],
|
|
41
|
+
hdrs = ["internal/borrowed_fixup_buffer.h"],
|
|
42
|
+
copts = ABSL_DEFAULT_COPTS,
|
|
43
|
+
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
44
|
+
deps = [
|
|
45
|
+
"//absl/base:config",
|
|
46
|
+
"//absl/base:core_headers",
|
|
47
|
+
"//absl/base:malloc_internal",
|
|
48
|
+
"//absl/hash",
|
|
49
|
+
],
|
|
50
|
+
)
|
|
51
|
+
|
|
52
|
+
cc_test(
|
|
53
|
+
name = "borrowed_fixup_buffer_test",
|
|
54
|
+
srcs = ["internal/borrowed_fixup_buffer_test.cc"],
|
|
55
|
+
copts = ABSL_TEST_COPTS,
|
|
56
|
+
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
57
|
+
deps = [
|
|
58
|
+
":borrowed_fixup_buffer",
|
|
59
|
+
"//absl/base:config",
|
|
60
|
+
"@googletest//:gtest",
|
|
61
|
+
"@googletest//:gtest_main",
|
|
62
|
+
],
|
|
63
|
+
)
|
|
64
|
+
|
|
38
65
|
cc_library(
|
|
39
66
|
name = "stacktrace",
|
|
40
67
|
srcs = [
|
|
@@ -54,6 +81,7 @@ cc_library(
|
|
|
54
81
|
copts = ABSL_DEFAULT_COPTS,
|
|
55
82
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
56
83
|
deps = [
|
|
84
|
+
":borrowed_fixup_buffer",
|
|
57
85
|
":debugging_internal",
|
|
58
86
|
"//absl/base:config",
|
|
59
87
|
"//absl/base:core_headers",
|
|
@@ -69,9 +97,11 @@ cc_test(
|
|
|
69
97
|
copts = ABSL_TEST_COPTS,
|
|
70
98
|
linkopts = ABSL_DEFAULT_LINKOPTS,
|
|
71
99
|
deps = [
|
|
100
|
+
":borrowed_fixup_buffer",
|
|
72
101
|
":stacktrace",
|
|
73
102
|
"//absl/base:config",
|
|
74
103
|
"//absl/base:core_headers",
|
|
104
|
+
"//absl/base:errno_saver",
|
|
75
105
|
"//absl/types:span",
|
|
76
106
|
"@googletest//:gtest",
|
|
77
107
|
"@googletest//:gtest_main",
|
|
@@ -447,6 +477,7 @@ cc_binary(
|
|
|
447
477
|
":stacktrace",
|
|
448
478
|
"//absl/base:config",
|
|
449
479
|
"//absl/base:core_headers",
|
|
480
|
+
"//absl/cleanup",
|
|
450
481
|
"@google_benchmark//:benchmark_main",
|
|
451
482
|
],
|
|
452
483
|
)
|
|
@@ -16,6 +16,38 @@
|
|
|
16
16
|
|
|
17
17
|
find_library(EXECINFO_LIBRARY execinfo)
|
|
18
18
|
|
|
19
|
+
absl_cc_library(
|
|
20
|
+
NAME
|
|
21
|
+
borrowed_fixup_buffer
|
|
22
|
+
SRCS
|
|
23
|
+
"internal/borrowed_fixup_buffer.cc"
|
|
24
|
+
HDRS
|
|
25
|
+
"internal/borrowed_fixup_buffer.h"
|
|
26
|
+
COPTS
|
|
27
|
+
${ABSL_DEFAULT_COPTS}
|
|
28
|
+
LINKOPTS
|
|
29
|
+
${ABSL_DEFAULT_LINKOPTS}
|
|
30
|
+
DEPS
|
|
31
|
+
absl::config
|
|
32
|
+
absl::core_headers
|
|
33
|
+
absl::hash
|
|
34
|
+
absl::malloc_internal
|
|
35
|
+
PUBLIC
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
absl_cc_test(
|
|
39
|
+
NAME
|
|
40
|
+
borrowed_fixup_buffer_test
|
|
41
|
+
SRCS
|
|
42
|
+
"internal/borrowed_fixup_buffer_test.cc"
|
|
43
|
+
COPTS
|
|
44
|
+
${ABSL_TEST_COPTS}
|
|
45
|
+
DEPS
|
|
46
|
+
absl::borrowed_fixup_buffer
|
|
47
|
+
absl::config
|
|
48
|
+
GTest::gmock_main
|
|
49
|
+
)
|
|
50
|
+
|
|
19
51
|
absl_cc_library(
|
|
20
52
|
NAME
|
|
21
53
|
stacktrace
|
|
@@ -38,6 +70,7 @@ absl_cc_library(
|
|
|
38
70
|
LINKOPTS
|
|
39
71
|
$<$<BOOL:${EXECINFO_LIBRARY}>:${EXECINFO_LIBRARY}>
|
|
40
72
|
DEPS
|
|
73
|
+
absl::borrowed_fixup_buffer
|
|
41
74
|
absl::debugging_internal
|
|
42
75
|
absl::config
|
|
43
76
|
absl::core_headers
|
|
@@ -58,6 +91,7 @@ absl_cc_test(
|
|
|
58
91
|
absl::stacktrace
|
|
59
92
|
absl::config
|
|
60
93
|
absl::core_headers
|
|
94
|
+
absl::errno_saver
|
|
61
95
|
absl::span
|
|
62
96
|
GTest::gmock_main
|
|
63
97
|
)
|
|
@@ -157,8 +157,8 @@ const char* FailureSignalToString(int signo) {
|
|
|
157
157
|
#ifdef ABSL_HAVE_SIGALTSTACK
|
|
158
158
|
|
|
159
159
|
static bool SetupAlternateStackOnce() {
|
|
160
|
-
#if defined(__wasm__) || defined(
|
|
161
|
-
const size_t page_mask = getpagesize() - 1;
|
|
160
|
+
#if defined(__wasm__) || defined(__asmjs__)
|
|
161
|
+
const size_t page_mask = static_cast<size_t>(getpagesize()) - 1;
|
|
162
162
|
#else
|
|
163
163
|
const size_t page_mask = static_cast<size_t>(sysconf(_SC_PAGESIZE)) - 1;
|
|
164
164
|
#endif
|