re2 1.24.0 → 1.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +15 -20
- package/README.md +63 -4
- package/binding.gyp +1 -2
- package/lib/addon.cc +9 -5
- package/lib/exec.cc +4 -4
- package/lib/match.cc +4 -4
- package/lib/new.cc +6 -6
- package/lib/pattern.cc +148 -1
- package/lib/replace.cc +5 -4
- package/lib/search.cc +1 -1
- package/lib/set.cc +85 -10
- package/lib/test.cc +1 -1
- package/lib/unicode_properties.h +15840 -0
- package/lib/wrapped_re2.h +40 -4
- package/lib/wrapped_re2_set.h +3 -1
- package/llms-full.txt +497 -0
- package/llms.txt +135 -0
- package/package.json +19 -11
- package/re2.d.ts +2 -0
- package/re2.js +1 -0
- package/vendor/abseil-cpp/CMake/AbseilDll.cmake +87 -74
- package/vendor/abseil-cpp/CMakeLists.txt +3 -3
- package/vendor/abseil-cpp/FAQ.md +130 -79
- package/vendor/abseil-cpp/MODULE.bazel +6 -7
- package/vendor/abseil-cpp/absl/BUILD.bazel +6 -0
- package/vendor/abseil-cpp/absl/algorithm/BUILD.bazel +4 -0
- package/vendor/abseil-cpp/absl/algorithm/CMakeLists.txt +4 -0
- package/vendor/abseil-cpp/absl/algorithm/algorithm.h +34 -2
- package/vendor/abseil-cpp/absl/algorithm/container.h +164 -17
- package/vendor/abseil-cpp/absl/algorithm/container_test.cc +390 -13
- package/vendor/abseil-cpp/absl/base/BUILD.bazel +53 -6
- package/vendor/abseil-cpp/absl/base/CMakeLists.txt +28 -4
- package/vendor/abseil-cpp/absl/base/attributes.h +61 -42
- package/vendor/abseil-cpp/absl/base/call_once.h +1 -0
- package/vendor/abseil-cpp/absl/base/casts.h +8 -1
- package/vendor/abseil-cpp/absl/base/casts_test.cc +3 -6
- package/vendor/abseil-cpp/absl/base/config.h +53 -9
- package/vendor/abseil-cpp/absl/base/exception_safety_testing_test.cc +9 -9
- package/vendor/abseil-cpp/absl/base/fast_type_id.h +30 -2
- package/vendor/abseil-cpp/absl/base/fast_type_id_test.cc +3 -0
- package/vendor/abseil-cpp/absl/base/internal/exception_safety_testing.h +15 -12
- package/vendor/abseil-cpp/absl/base/internal/hardening.h +136 -0
- package/vendor/abseil-cpp/absl/base/internal/hardening_test.cc +168 -0
- package/vendor/abseil-cpp/absl/base/internal/iterator_traits.h +2 -2
- package/vendor/abseil-cpp/absl/base/internal/low_level_alloc.cc +6 -0
- package/vendor/abseil-cpp/absl/base/internal/low_level_scheduling.h +77 -15
- package/vendor/abseil-cpp/absl/base/internal/sysinfo.cc +1 -2
- package/vendor/abseil-cpp/absl/base/internal/thread_identity.h +52 -0
- package/vendor/abseil-cpp/absl/base/internal/unscaledcycleclock.h +5 -0
- package/vendor/abseil-cpp/absl/base/macros.h +36 -20
- package/vendor/abseil-cpp/absl/base/nullability.h +4 -3
- package/vendor/abseil-cpp/absl/base/optimization.h +3 -2
- package/vendor/abseil-cpp/absl/base/optimization_test.cc +4 -3
- package/vendor/abseil-cpp/absl/base/options.h +55 -1
- package/vendor/abseil-cpp/absl/base/policy_checks.h +5 -5
- package/vendor/abseil-cpp/absl/base/{internal/throw_delegate.cc → throw_delegate.cc} +9 -7
- package/vendor/abseil-cpp/absl/base/{internal/throw_delegate.h → throw_delegate.h} +4 -14
- package/vendor/abseil-cpp/absl/base/throw_delegate_test.cc +19 -28
- package/vendor/abseil-cpp/absl/cleanup/BUILD.bazel +2 -0
- package/vendor/abseil-cpp/absl/cleanup/CMakeLists.txt +2 -0
- package/vendor/abseil-cpp/absl/cleanup/cleanup.h +3 -2
- package/vendor/abseil-cpp/absl/cleanup/internal/cleanup.h +3 -2
- package/vendor/abseil-cpp/absl/container/BUILD.bazel +19 -7
- package/vendor/abseil-cpp/absl/container/CMakeLists.txt +6 -5
- package/vendor/abseil-cpp/absl/container/btree_benchmark.cc +3 -5
- package/vendor/abseil-cpp/absl/container/btree_set.h +5 -5
- package/vendor/abseil-cpp/absl/container/btree_test.cc +11 -14
- package/vendor/abseil-cpp/absl/container/chunked_queue.h +8 -6
- package/vendor/abseil-cpp/absl/container/chunked_queue_test.cc +5 -5
- package/vendor/abseil-cpp/absl/container/fixed_array.h +14 -13
- package/vendor/abseil-cpp/absl/container/fixed_array_test.cc +3 -3
- package/vendor/abseil-cpp/absl/container/flat_hash_map.h +18 -6
- package/vendor/abseil-cpp/absl/container/flat_hash_map_test.cc +34 -1
- package/vendor/abseil-cpp/absl/container/flat_hash_set.h +21 -7
- package/vendor/abseil-cpp/absl/container/flat_hash_set_test.cc +39 -7
- package/vendor/abseil-cpp/absl/container/inlined_vector.h +29 -29
- package/vendor/abseil-cpp/absl/container/inlined_vector_test.cc +2 -2
- package/vendor/abseil-cpp/absl/container/internal/btree.h +32 -24
- package/vendor/abseil-cpp/absl/container/internal/btree_container.h +16 -17
- package/vendor/abseil-cpp/absl/container/internal/common.h +6 -5
- package/vendor/abseil-cpp/absl/container/internal/common_policy_traits.h +1 -1
- package/vendor/abseil-cpp/absl/container/internal/compressed_tuple.h +16 -16
- package/vendor/abseil-cpp/absl/container/internal/compressed_tuple_test.cc +13 -13
- package/vendor/abseil-cpp/absl/container/internal/container_memory.h +41 -31
- package/vendor/abseil-cpp/absl/container/internal/hash_function_defaults.h +2 -2
- package/vendor/abseil-cpp/absl/container/internal/hash_generator_testing.h +4 -4
- package/vendor/abseil-cpp/absl/container/internal/hash_policy_traits.h +3 -3
- package/vendor/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +27 -19
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +2 -2
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler.h +0 -17
- package/vendor/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +12 -30
- package/vendor/abseil-cpp/absl/container/internal/inlined_vector.h +28 -28
- package/vendor/abseil-cpp/absl/container/internal/layout.h +13 -13
- package/vendor/abseil-cpp/absl/container/internal/layout_test.cc +3 -2
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_map.h +60 -62
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.cc +59 -39
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set.h +619 -326
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +25 -2
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +4 -4
- package/vendor/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +575 -159
- package/vendor/abseil-cpp/absl/container/linked_hash_map.h +2 -2
- package/vendor/abseil-cpp/absl/container/node_hash_map.h +27 -15
- package/vendor/abseil-cpp/absl/container/node_hash_map_test.cc +34 -0
- package/vendor/abseil-cpp/absl/container/node_hash_set.h +25 -11
- package/vendor/abseil-cpp/absl/container/node_hash_set_test.cc +39 -7
- package/vendor/abseil-cpp/absl/container/sample_element_size_test.cc +7 -4
- package/vendor/abseil-cpp/absl/crc/BUILD.bazel +0 -1
- package/vendor/abseil-cpp/absl/crc/CMakeLists.txt +2 -3
- package/vendor/abseil-cpp/absl/crc/crc32c_benchmark.cc +2 -1
- package/vendor/abseil-cpp/absl/crc/internal/cpu_detect.cc +6 -6
- package/vendor/abseil-cpp/absl/crc/internal/crc.cc +4 -6
- package/vendor/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +41 -0
- package/vendor/abseil-cpp/absl/crc/internal/crc_internal.h +0 -16
- package/vendor/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +143 -81
- package/vendor/abseil-cpp/absl/debugging/BUILD.bazel +9 -31
- package/vendor/abseil-cpp/absl/debugging/CMakeLists.txt +3 -33
- package/vendor/abseil-cpp/absl/debugging/internal/demangle_rust.h +8 -0
- package/vendor/abseil-cpp/absl/debugging/internal/demangle_test.cc +2 -1
- package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.cc +12 -2
- package/vendor/abseil-cpp/absl/debugging/internal/examine_stack.h +2 -3
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +11 -0
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +13 -4
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +14 -7
- package/vendor/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +4 -0
- package/vendor/abseil-cpp/absl/debugging/internal/symbolize.h +46 -36
- package/vendor/abseil-cpp/absl/debugging/stacktrace.cc +18 -58
- package/vendor/abseil-cpp/absl/debugging/stacktrace.h +5 -48
- package/vendor/abseil-cpp/absl/debugging/stacktrace_test.cc +10 -124
- package/vendor/abseil-cpp/absl/debugging/symbolize.cc +20 -2
- package/vendor/abseil-cpp/absl/debugging/symbolize_elf.inc +58 -106
- package/vendor/abseil-cpp/absl/debugging/symbolize_test.cc +37 -36
- package/vendor/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +4 -4
- package/vendor/abseil-cpp/absl/flags/BUILD.bazel +6 -3
- package/vendor/abseil-cpp/absl/flags/CMakeLists.txt +1 -1
- package/vendor/abseil-cpp/absl/flags/commandlineflag.h +8 -6
- package/vendor/abseil-cpp/absl/flags/commandlineflag_test.cc +1 -1
- package/vendor/abseil-cpp/absl/flags/flag_benchmark.cc +5 -5
- package/vendor/abseil-cpp/absl/flags/flag_test.cc +30 -30
- package/vendor/abseil-cpp/absl/flags/internal/flag.cc +4 -4
- package/vendor/abseil-cpp/absl/flags/internal/flag.h +6 -6
- package/vendor/abseil-cpp/absl/flags/marshalling.h +2 -28
- package/vendor/abseil-cpp/absl/flags/marshalling_test.cc +12 -11
- package/vendor/abseil-cpp/absl/flags/reflection_test.cc +1 -1
- package/vendor/abseil-cpp/absl/functional/BUILD.bazel +26 -1
- package/vendor/abseil-cpp/absl/functional/CMakeLists.txt +29 -1
- package/vendor/abseil-cpp/absl/functional/any_invocable.h +13 -14
- package/vendor/abseil-cpp/absl/functional/any_invocable_test.cc +46 -47
- package/vendor/abseil-cpp/absl/functional/bind_back.h +79 -0
- package/vendor/abseil-cpp/absl/functional/bind_back_test.cc +237 -0
- package/vendor/abseil-cpp/absl/functional/bind_front.h +7 -1
- package/vendor/abseil-cpp/absl/functional/bind_front_test.cc +4 -4
- package/vendor/abseil-cpp/absl/functional/function_ref_test.cc +2 -2
- package/vendor/abseil-cpp/absl/functional/internal/any_invocable.h +28 -28
- package/vendor/abseil-cpp/absl/functional/internal/back_binder.h +95 -0
- package/vendor/abseil-cpp/absl/functional/internal/front_binder.h +4 -4
- package/vendor/abseil-cpp/absl/functional/internal/function_ref.h +2 -2
- package/vendor/abseil-cpp/absl/functional/overload_test.cc +13 -13
- package/vendor/abseil-cpp/absl/hash/BUILD.bazel +1 -2
- package/vendor/abseil-cpp/absl/hash/CMakeLists.txt +1 -2
- package/vendor/abseil-cpp/absl/hash/hash.h +1 -1
- package/vendor/abseil-cpp/absl/hash/hash_test.cc +14 -20
- package/vendor/abseil-cpp/absl/hash/hash_testing.h +11 -9
- package/vendor/abseil-cpp/absl/hash/internal/city.cc +39 -51
- package/vendor/abseil-cpp/absl/hash/internal/hash.cc +165 -47
- package/vendor/abseil-cpp/absl/hash/internal/hash.h +86 -27
- package/vendor/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +36 -1
- package/vendor/abseil-cpp/absl/hash/internal/spy_hash_state.h +8 -5
- package/vendor/abseil-cpp/absl/log/BUILD.bazel +5 -2
- package/vendor/abseil-cpp/absl/log/CMakeLists.txt +5 -3
- package/vendor/abseil-cpp/absl/log/absl_vlog_is_on.h +0 -2
- package/vendor/abseil-cpp/absl/log/internal/BUILD.bazel +15 -1
- package/vendor/abseil-cpp/absl/log/internal/log_message.cc +5 -4
- package/vendor/abseil-cpp/absl/log/internal/log_message.h +14 -0
- package/vendor/abseil-cpp/absl/log/internal/nullstream.h +1 -1
- package/vendor/abseil-cpp/absl/log/internal/proto.cc +13 -0
- package/vendor/abseil-cpp/absl/log/internal/structured_proto.cc +5 -5
- package/vendor/abseil-cpp/absl/log/internal/structured_proto.h +6 -5
- package/vendor/abseil-cpp/absl/log/internal/structured_proto_test.cc +3 -3
- package/vendor/abseil-cpp/absl/log/internal/vlog_config.cc +2 -2
- package/vendor/abseil-cpp/absl/log/internal/vlog_config_benchmark.cc +3 -3
- package/vendor/abseil-cpp/absl/log/log_format_test.cc +19 -2
- package/vendor/abseil-cpp/absl/log/log_modifier_methods_test.cc +18 -0
- package/vendor/abseil-cpp/absl/log/log_streamer.h +29 -2
- package/vendor/abseil-cpp/absl/log/log_streamer_test.cc +18 -0
- package/vendor/abseil-cpp/absl/log/scoped_mock_log_test.cc +1 -1
- package/vendor/abseil-cpp/absl/log/vlog_is_on.h +0 -2
- package/vendor/abseil-cpp/absl/log/vlog_is_on_test.cc +6 -5
- package/vendor/abseil-cpp/absl/memory/memory.h +55 -5
- package/vendor/abseil-cpp/absl/memory/memory_test.cc +55 -1
- package/vendor/abseil-cpp/absl/meta/BUILD.bazel +2 -0
- package/vendor/abseil-cpp/absl/meta/internal/requires.h +1 -1
- package/vendor/abseil-cpp/absl/meta/type_traits.h +119 -55
- package/vendor/abseil-cpp/absl/meta/type_traits_test.cc +7 -7
- package/vendor/abseil-cpp/absl/numeric/int128_test.cc +6 -6
- package/vendor/abseil-cpp/absl/profiling/BUILD.bazel +3 -1
- package/vendor/abseil-cpp/absl/profiling/hashtable.cc +0 -4
- package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.cc +32 -33
- package/vendor/abseil-cpp/absl/profiling/internal/profile_builder.h +25 -2
- package/vendor/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc +8 -5
- package/vendor/abseil-cpp/absl/random/BUILD.bazel +13 -1
- package/vendor/abseil-cpp/absl/random/CMakeLists.txt +23 -2
- package/vendor/abseil-cpp/absl/random/benchmarks.cc +1 -1
- package/vendor/abseil-cpp/absl/random/beta_distribution.h +2 -2
- package/vendor/abseil-cpp/absl/random/bit_gen_ref.h +26 -53
- package/vendor/abseil-cpp/absl/random/bit_gen_ref_test.cc +43 -0
- package/vendor/abseil-cpp/absl/random/discrete_distribution.h +1 -1
- package/vendor/abseil-cpp/absl/random/distributions.h +17 -17
- package/vendor/abseil-cpp/absl/random/distributions_test.cc +4 -4
- package/vendor/abseil-cpp/absl/random/exponential_distribution.h +1 -1
- package/vendor/abseil-cpp/absl/random/internal/BUILD.bazel +4 -2
- package/vendor/abseil-cpp/absl/random/internal/distribution_caller.h +8 -21
- package/vendor/abseil-cpp/absl/random/internal/fast_uniform_bits.h +1 -1
- package/vendor/abseil-cpp/absl/random/internal/generate_real.h +1 -1
- package/vendor/abseil-cpp/absl/random/internal/iostream_state_saver.h +2 -2
- package/vendor/abseil-cpp/absl/random/internal/iostream_state_saver_test.cc +3 -2
- package/vendor/abseil-cpp/absl/random/internal/mock_helpers.h +14 -40
- package/vendor/abseil-cpp/absl/random/internal/nonsecure_base.h +2 -2
- package/vendor/abseil-cpp/absl/random/internal/nonsecure_base_test.cc +2 -2
- package/vendor/abseil-cpp/absl/random/internal/pcg_engine.h +6 -6
- package/vendor/abseil-cpp/absl/random/internal/pcg_engine_test.cc +3 -2
- package/vendor/abseil-cpp/absl/random/internal/randen_detect.cc +6 -6
- package/vendor/abseil-cpp/absl/random/internal/randen_engine.h +2 -2
- package/vendor/abseil-cpp/absl/random/internal/randen_engine_test.cc +3 -2
- package/vendor/abseil-cpp/absl/random/internal/randen_test.cc +3 -2
- package/vendor/abseil-cpp/absl/random/internal/salted_seed_seq.h +6 -5
- package/vendor/abseil-cpp/absl/random/internal/seed_material.cc +4 -4
- package/vendor/abseil-cpp/absl/random/internal/seed_material.h +2 -1
- package/vendor/abseil-cpp/absl/random/internal/traits.h +21 -0
- package/vendor/abseil-cpp/absl/random/internal/traits_test.cc +5 -0
- package/vendor/abseil-cpp/absl/random/internal/uniform_helper.h +23 -23
- package/vendor/abseil-cpp/absl/random/internal/uniform_helper_test.cc +2 -1
- package/vendor/abseil-cpp/absl/random/mocking_access.h +74 -0
- package/vendor/abseil-cpp/absl/random/mocking_bit_gen.h +9 -19
- package/vendor/abseil-cpp/absl/random/uniform_real_distribution.h +1 -1
- package/vendor/abseil-cpp/absl/status/BUILD.bazel +81 -0
- package/vendor/abseil-cpp/absl/status/CMakeLists.txt +91 -0
- package/vendor/abseil-cpp/absl/status/internal/status_internal.cc +63 -18
- package/vendor/abseil-cpp/absl/status/internal/status_internal.h +26 -2
- package/vendor/abseil-cpp/absl/status/internal/status_matchers.h +22 -8
- package/vendor/abseil-cpp/absl/status/internal/statusor_internal.h +43 -43
- package/vendor/abseil-cpp/absl/status/status.cc +62 -70
- package/vendor/abseil-cpp/absl/status/status.h +249 -23
- package/vendor/abseil-cpp/absl/status/status_benchmark.cc +12 -0
- package/vendor/abseil-cpp/absl/status/status_builder.cc +196 -0
- package/vendor/abseil-cpp/absl/status/status_builder.h +978 -0
- package/vendor/abseil-cpp/absl/status/status_builder_test.cc +380 -0
- package/vendor/abseil-cpp/absl/status/status_macros.h +484 -0
- package/vendor/abseil-cpp/absl/status/status_macros_test.cc +634 -0
- package/vendor/abseil-cpp/absl/status/status_matchers.h +2 -1
- package/vendor/abseil-cpp/absl/status/status_matchers_test.cc +3 -4
- package/vendor/abseil-cpp/absl/status/status_payload_printer.h +3 -2
- package/vendor/abseil-cpp/absl/status/status_test.cc +443 -13
- package/vendor/abseil-cpp/absl/status/statusor.h +69 -36
- package/vendor/abseil-cpp/absl/status/statusor_test.cc +132 -35
- package/vendor/abseil-cpp/absl/strings/BUILD.bazel +42 -7
- package/vendor/abseil-cpp/absl/strings/CMakeLists.txt +33 -4
- package/vendor/abseil-cpp/absl/strings/ascii.h +1 -2
- package/vendor/abseil-cpp/absl/strings/atod_manual_test.cc +5 -5
- package/vendor/abseil-cpp/absl/strings/cord.cc +26 -7
- package/vendor/abseil-cpp/absl/strings/cord.h +23 -13
- package/vendor/abseil-cpp/absl/strings/cord_buffer.h +4 -2
- package/vendor/abseil-cpp/absl/strings/cord_test.cc +85 -9
- package/vendor/abseil-cpp/absl/strings/escaping.cc +183 -35
- package/vendor/abseil-cpp/absl/strings/escaping.h +12 -2
- package/vendor/abseil-cpp/absl/strings/escaping_benchmark.cc +1 -3
- package/vendor/abseil-cpp/absl/strings/escaping_test.cc +22 -18
- package/vendor/abseil-cpp/absl/strings/has_absl_stringify_test.cc +2 -2
- package/vendor/abseil-cpp/absl/strings/has_ostream_operator_test.cc +2 -2
- package/vendor/abseil-cpp/absl/strings/internal/append_and_overwrite.h +10 -10
- package/vendor/abseil-cpp/absl/strings/internal/cordz_sample_token_test.cc +1 -1
- package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +6 -0
- package/vendor/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +1 -0
- package/vendor/abseil-cpp/absl/strings/internal/escaping.cc +0 -141
- package/vendor/abseil-cpp/absl/strings/internal/escaping.h +2 -26
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer_internal.h +23 -2
- package/vendor/abseil-cpp/absl/strings/internal/generic_printer_test.cc +6 -2
- package/vendor/abseil-cpp/absl/strings/internal/resize_uninitialized.h +31 -24
- package/vendor/abseil-cpp/absl/strings/internal/resize_uninitialized_test.cc +16 -41
- package/vendor/abseil-cpp/absl/strings/internal/stl_type_traits.h +39 -39
- package/vendor/abseil-cpp/absl/strings/internal/str_format/arg.h +14 -22
- package/vendor/abseil-cpp/absl/strings/internal/str_format/bind.h +2 -2
- package/vendor/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +12 -20
- package/vendor/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +510 -307
- package/vendor/abseil-cpp/absl/strings/internal/str_join_internal.h +0 -1
- package/vendor/abseil-cpp/absl/strings/internal/str_split_internal.h +9 -10
- package/vendor/abseil-cpp/absl/strings/internal/string_constant_test.cc +6 -5
- package/vendor/abseil-cpp/absl/strings/internal/stringify_sink.h +12 -0
- package/vendor/abseil-cpp/absl/strings/internal/stringify_stream.h +119 -0
- package/vendor/abseil-cpp/absl/strings/internal/stringify_stream_test.cc +111 -0
- package/vendor/abseil-cpp/absl/strings/numbers.cc +406 -0
- package/vendor/abseil-cpp/absl/strings/numbers.h +4 -0
- package/vendor/abseil-cpp/absl/strings/numbers_test.cc +33 -0
- package/vendor/abseil-cpp/absl/strings/resize_and_overwrite.h +10 -6
- package/vendor/abseil-cpp/absl/strings/str_cat.h +36 -1
- package/vendor/abseil-cpp/absl/strings/str_cat_benchmark.cc +1 -2
- package/vendor/abseil-cpp/absl/strings/str_cat_test.cc +28 -0
- package/vendor/abseil-cpp/absl/strings/str_join_test.cc +4 -4
- package/vendor/abseil-cpp/absl/strings/str_split.h +11 -6
- package/vendor/abseil-cpp/absl/strings/str_split_test.cc +13 -0
- package/vendor/abseil-cpp/absl/strings/substitute.h +2 -2
- package/vendor/abseil-cpp/absl/synchronization/BUILD.bazel +3 -0
- package/vendor/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +21 -0
- package/vendor/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +5 -0
- package/vendor/abseil-cpp/absl/synchronization/mutex.cc +13 -0
- package/vendor/abseil-cpp/absl/synchronization/mutex.h +32 -2
- package/vendor/abseil-cpp/absl/synchronization/mutex_test.cc +17 -3
- package/vendor/abseil-cpp/absl/time/BUILD.bazel +80 -0
- package/vendor/abseil-cpp/absl/time/CMakeLists.txt +73 -0
- package/vendor/abseil-cpp/absl/time/clock.h +3 -0
- package/vendor/abseil-cpp/absl/time/clock_interface.cc +71 -0
- package/vendor/abseil-cpp/absl/time/clock_interface.h +93 -0
- package/vendor/abseil-cpp/absl/time/clock_interface_test.cc +128 -0
- package/vendor/abseil-cpp/absl/time/format.cc +3 -10
- package/vendor/abseil-cpp/absl/time/format_test.cc +12 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +90 -89
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc +80 -5
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +1 -2
- package/vendor/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +10 -15
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Vancouver +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Phnom_Penh +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Saigon +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tbilisi +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vientiane +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Pacific +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Chisinau +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tiraspol +0 -0
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +1 -1
- package/vendor/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +3 -3
- package/vendor/abseil-cpp/absl/time/simulated_clock.cc +225 -0
- package/vendor/abseil-cpp/absl/time/simulated_clock.h +109 -0
- package/vendor/abseil-cpp/absl/time/simulated_clock_test.cc +614 -0
- package/vendor/abseil-cpp/absl/types/BUILD.bazel +116 -0
- package/vendor/abseil-cpp/absl/types/CMakeLists.txt +100 -0
- package/vendor/abseil-cpp/absl/types/any.h +26 -4
- package/vendor/abseil-cpp/absl/types/any_span.h +1067 -0
- package/vendor/abseil-cpp/absl/types/any_span_benchmark.cc +258 -0
- package/vendor/abseil-cpp/absl/types/any_span_test.cc +1210 -0
- package/vendor/abseil-cpp/absl/types/compare.h +4 -4
- package/vendor/abseil-cpp/absl/types/internal/any_span.h +477 -0
- package/vendor/abseil-cpp/absl/types/internal/span.h +5 -6
- package/vendor/abseil-cpp/absl/types/optional.h +30 -3
- package/vendor/abseil-cpp/absl/types/optional_ref.h +295 -0
- package/vendor/abseil-cpp/absl/types/optional_ref_test.cc +370 -0
- package/vendor/abseil-cpp/absl/types/source_location.cc +18 -0
- package/vendor/abseil-cpp/absl/types/source_location.h +172 -0
- package/vendor/abseil-cpp/absl/types/source_location_test.cc +139 -0
- package/vendor/abseil-cpp/absl/types/span.h +19 -23
- package/vendor/abseil-cpp/absl/types/variant.h +75 -18
- package/vendor/abseil-cpp/absl/types/variant_test.cc +23 -23
- package/vendor/abseil-cpp/absl/utility/BUILD.bazel +1 -0
- package/vendor/abseil-cpp/absl/utility/CMakeLists.txt +1 -0
- package/vendor/abseil-cpp/absl/utility/utility.h +99 -16
- package/vendor/abseil-cpp/ci/absl_alternate_options.h +2 -0
- package/vendor/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +10 -4
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +13 -6
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +10 -4
- package/vendor/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +12 -5
- package/vendor/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +9 -2
- package/vendor/abseil-cpp/ci/linux_docker_containers.sh +4 -4
- package/vendor/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +10 -3
- package/vendor/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +8 -2
- package/vendor/abseil-cpp/ci/macos_xcode_bazel.sh +4 -3
- package/vendor/abseil-cpp/ci/macos_xcode_cmake.sh +2 -2
- package/vendor/abseil-cpp/ci/windows_clangcl_bazel.bat +1 -1
- package/vendor/abseil-cpp/ci/windows_msvc_bazel.bat +1 -1
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.cc +0 -118
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.h +0 -71
- package/vendor/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer_test.cc +0 -97
|
@@ -62,14 +62,15 @@ namespace {
|
|
|
62
62
|
assert((CONDITION) && "Try enabling sanitizers.")
|
|
63
63
|
#endif
|
|
64
64
|
|
|
65
|
-
[[
|
|
66
|
-
|
|
65
|
+
void ValidateMaxSize([[maybe_unused]] size_t size,
|
|
66
|
+
[[maybe_unused]] size_t key_size,
|
|
67
|
+
[[maybe_unused]] size_t slot_size) {
|
|
68
|
+
ABSL_SWISSTABLE_ASSERT(size <= MaxValidSize(key_size, slot_size));
|
|
67
69
|
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
}
|
|
70
|
+
void ValidateMaxCapacity(size_t capacity, size_t key_size, size_t slot_size) {
|
|
71
|
+
if (capacity <= 1) return;
|
|
72
|
+
ValidateMaxSize(CapacityToGrowth(PreviousCapacity(capacity)), key_size,
|
|
73
|
+
slot_size);
|
|
73
74
|
}
|
|
74
75
|
|
|
75
76
|
// Returns "random" seed.
|
|
@@ -90,8 +91,8 @@ bool ShouldRehashForBugDetection(size_t capacity) {
|
|
|
90
91
|
// `min(1, RehashProbabilityConstant() / capacity())`. In order to do this,
|
|
91
92
|
// we probe based on a random hash and see if the offset is less than
|
|
92
93
|
// RehashProbabilityConstant().
|
|
93
|
-
return probe(capacity, absl::HashOf(RandomSeed()))
|
|
94
|
-
|
|
94
|
+
return probe(HashtableCapacity(capacity), absl::HashOf(RandomSeed()))
|
|
95
|
+
.offset() < RehashProbabilityConstant();
|
|
95
96
|
}
|
|
96
97
|
|
|
97
98
|
// Find a non-deterministic hash for single group table.
|
|
@@ -134,8 +135,8 @@ inline void* PrevSlot(void* slot, size_t slot_size) {
|
|
|
134
135
|
|
|
135
136
|
// Must be defined out-of-line to avoid MSVC error C2482 on some platforms,
|
|
136
137
|
// which is caused by non-constexpr initialization.
|
|
137
|
-
uint16_t
|
|
138
|
-
static_assert(PerTableSeed::kBitCount
|
|
138
|
+
uint16_t NextHashTableSeed() {
|
|
139
|
+
static_assert(PerTableSeed::kBitCount <= 16);
|
|
139
140
|
thread_local uint16_t seed =
|
|
140
141
|
static_cast<uint16_t>(reinterpret_cast<uintptr_t>(&seed));
|
|
141
142
|
seed += uint16_t{0xad53};
|
|
@@ -184,12 +185,12 @@ inline Group::NonIterableBitMaskType probe_till_first_non_full_group(
|
|
|
184
185
|
}
|
|
185
186
|
|
|
186
187
|
FindInfo find_first_non_full_from_h1(const ctrl_t* ctrl, size_t h1,
|
|
187
|
-
|
|
188
|
+
HashtableCapacity capacity) {
|
|
188
189
|
auto seq = probe_h1(capacity, h1);
|
|
189
190
|
if (IsEmptyOrDeleted(ctrl[seq.offset()])) {
|
|
190
191
|
return {seq.offset(), /*probe_length=*/0};
|
|
191
192
|
}
|
|
192
|
-
auto mask = probe_till_first_non_full_group(ctrl, seq, capacity);
|
|
193
|
+
auto mask = probe_till_first_non_full_group(ctrl, seq, capacity.capacity());
|
|
193
194
|
return {seq.offset(mask.LowestBitSet()), seq.index()};
|
|
194
195
|
}
|
|
195
196
|
|
|
@@ -202,7 +203,7 @@ FindInfo find_first_non_full_from_h1(const ctrl_t* ctrl, size_t h1,
|
|
|
202
203
|
// slots in the same group. Such tables appear during `erase()`.
|
|
203
204
|
FindInfo find_first_non_full(const CommonFields& common, size_t hash) {
|
|
204
205
|
return find_first_non_full_from_h1(common.control(), H1(hash),
|
|
205
|
-
common.
|
|
206
|
+
common.capacity_impl());
|
|
206
207
|
}
|
|
207
208
|
|
|
208
209
|
// Same as `find_first_non_full`, but returns the mask corresponding to the
|
|
@@ -615,6 +616,24 @@ ABSL_ATTRIBUTE_ALWAYS_INLINE inline void InitializeThreeElementsControlBytes(
|
|
|
615
616
|
// new_ctrl after 2nd store = EHNSEHNEEEE
|
|
616
617
|
}
|
|
617
618
|
|
|
619
|
+
// ClearBackingArrayNoReuse clears the backing array and sets the common
|
|
620
|
+
// fields to the default values for empty non-allocated tables.
|
|
621
|
+
// REQUIRES: c.capacity > policy.soo_capacity.
|
|
622
|
+
void ClearBackingArrayNoReuse(CommonFields& c,
|
|
623
|
+
const PolicyFunctions& __restrict policy,
|
|
624
|
+
void* alloc) {
|
|
625
|
+
ABSL_SWISSTABLE_ASSERT(c.capacity() > policy.soo_capacity());
|
|
626
|
+
// We need to record infoz before calling dealloc, which will unregister
|
|
627
|
+
// infoz.
|
|
628
|
+
c.infoz().RecordClearedReservation();
|
|
629
|
+
c.infoz().RecordStorageChanged(0, policy.soo_capacity());
|
|
630
|
+
c.infoz().Unregister();
|
|
631
|
+
(*policy.dealloc)(alloc, c.capacity(), c.control(), policy.slot_size,
|
|
632
|
+
policy.slot_align, c.has_infoz());
|
|
633
|
+
c = policy.soo_enabled ? CommonFields{soo_tag_t{}}
|
|
634
|
+
: CommonFields{non_soo_tag_t{}};
|
|
635
|
+
}
|
|
636
|
+
|
|
618
637
|
} // namespace
|
|
619
638
|
|
|
620
639
|
void EraseMetaOnlySmall(CommonFields& c, bool soo_enabled, size_t slot_size) {
|
|
@@ -648,22 +667,15 @@ void EraseMetaOnlyLarge(CommonFields& c, const ctrl_t* ctrl, size_t slot_size) {
|
|
|
648
667
|
|
|
649
668
|
void ClearBackingArray(CommonFields& c,
|
|
650
669
|
const PolicyFunctions& __restrict policy, void* alloc,
|
|
651
|
-
bool reuse
|
|
670
|
+
bool reuse) {
|
|
671
|
+
ABSL_SWISSTABLE_ASSERT(c.capacity() > MaxSmallCapacity());
|
|
652
672
|
if (reuse) {
|
|
653
673
|
c.set_size_to_zero();
|
|
654
|
-
ABSL_SWISSTABLE_ASSERT(!soo_enabled || c.capacity() > SooCapacity());
|
|
655
674
|
ResetCtrl(c, policy.slot_size);
|
|
656
675
|
ResetGrowthLeft(c);
|
|
657
676
|
c.infoz().RecordStorageChanged(0, c.capacity());
|
|
658
677
|
} else {
|
|
659
|
-
|
|
660
|
-
// infoz.
|
|
661
|
-
c.infoz().RecordClearedReservation();
|
|
662
|
-
c.infoz().RecordStorageChanged(0, soo_enabled ? SooCapacity() : 0);
|
|
663
|
-
c.infoz().Unregister();
|
|
664
|
-
(*policy.dealloc)(alloc, c.capacity(), c.control(), policy.slot_size,
|
|
665
|
-
policy.slot_align, c.has_infoz());
|
|
666
|
-
c = soo_enabled ? CommonFields{soo_tag_t{}} : CommonFields{non_soo_tag_t{}};
|
|
678
|
+
ClearBackingArrayNoReuse(c, policy, alloc);
|
|
667
679
|
}
|
|
668
680
|
}
|
|
669
681
|
|
|
@@ -821,11 +833,15 @@ void ResizeNonSooImpl(CommonFields& common,
|
|
|
821
833
|
common, policy, old_ctrl, old_slots, old_capacity);
|
|
822
834
|
(*policy.dealloc)(alloc, old_capacity, old_ctrl, slot_size, slot_align,
|
|
823
835
|
has_infoz);
|
|
824
|
-
|
|
825
|
-
|
|
836
|
+
if (HasGrowthInfoForCapacity(new_capacity)) {
|
|
837
|
+
ResetGrowthLeft(GetGrowthInfoFromControl(new_ctrl), new_capacity,
|
|
838
|
+
common.size());
|
|
839
|
+
}
|
|
826
840
|
} else {
|
|
827
|
-
|
|
828
|
-
|
|
841
|
+
if (HasGrowthInfoForCapacity(new_capacity)) {
|
|
842
|
+
GetGrowthInfoFromControl(new_ctrl).InitGrowthLeftNoDeleted(
|
|
843
|
+
CapacityToGrowth(new_capacity));
|
|
844
|
+
}
|
|
829
845
|
}
|
|
830
846
|
|
|
831
847
|
if (ABSL_PREDICT_FALSE(has_infoz)) {
|
|
@@ -868,7 +884,7 @@ void InsertOldSooSlotAndInitializeControlBytes(
|
|
|
868
884
|
|
|
869
885
|
const size_t soo_slot_hash =
|
|
870
886
|
policy.hash_slot(policy.hash_fn(c), c.soo_data(), c.seed().seed());
|
|
871
|
-
size_t offset = probe(
|
|
887
|
+
size_t offset = probe(c.capacity_impl(), soo_slot_hash).offset();
|
|
872
888
|
offset = offset == new_capacity ? 0 : offset;
|
|
873
889
|
SanitizerPoisonMemoryRegion(new_slots, policy.slot_size * new_capacity);
|
|
874
890
|
void* target_slot = SlotAddress(new_slots, offset, policy.slot_size);
|
|
@@ -1071,7 +1087,7 @@ template <typename ProbedItem>
|
|
|
1071
1087
|
ABSL_ATTRIBUTE_NOINLINE size_t DecodeAndInsertImpl(
|
|
1072
1088
|
CommonFields& c, const PolicyFunctions& __restrict policy,
|
|
1073
1089
|
const ProbedItem* start, const ProbedItem* end, void* old_slots) {
|
|
1074
|
-
const
|
|
1090
|
+
const HashtableCapacity new_capacity = c.capacity_impl();
|
|
1075
1091
|
|
|
1076
1092
|
void* new_slots = c.slot_array();
|
|
1077
1093
|
ctrl_t* new_ctrl = c.control();
|
|
@@ -1086,8 +1102,8 @@ ABSL_ATTRIBUTE_NOINLINE size_t DecodeAndInsertImpl(
|
|
|
1086
1102
|
total_probe_length += target.probe_length;
|
|
1087
1103
|
const size_t old_index = static_cast<size_t>(start->source_offset);
|
|
1088
1104
|
const size_t new_i = target.offset;
|
|
1089
|
-
ABSL_SWISSTABLE_ASSERT(old_index < new_capacity / 2);
|
|
1090
|
-
ABSL_SWISSTABLE_ASSERT(new_i < new_capacity);
|
|
1105
|
+
ABSL_SWISSTABLE_ASSERT(old_index < new_capacity.capacity() / 2);
|
|
1106
|
+
ABSL_SWISSTABLE_ASSERT(new_i < new_capacity.capacity());
|
|
1091
1107
|
ABSL_SWISSTABLE_ASSERT(IsEmpty(new_ctrl[new_i]));
|
|
1092
1108
|
void* src_slot = SlotAddress(old_slots, old_index, slot_size);
|
|
1093
1109
|
void* dst_slot = SlotAddress(new_slots, new_i, slot_size);
|
|
@@ -1214,7 +1230,8 @@ class ProbedItemEncoder {
|
|
|
1214
1230
|
|
|
1215
1231
|
ProbedItem* OverflowBufferStart() const {
|
|
1216
1232
|
// We reuse GrowthInfo memory as well.
|
|
1217
|
-
return AlignToNextItem(control_ - ControlOffset(/*has_infoz=*/false
|
|
1233
|
+
return AlignToNextItem(control_ - ControlOffset(/*has_infoz=*/false,
|
|
1234
|
+
/*has_growth_info=*/true));
|
|
1218
1235
|
}
|
|
1219
1236
|
|
|
1220
1237
|
// Encodes item when previously allocated buffer is full.
|
|
@@ -1527,6 +1544,10 @@ std::pair<ctrl_t*, void*> PrepareInsertSmallNonSoo(
|
|
|
1527
1544
|
if (common.capacity() == 1) {
|
|
1528
1545
|
if (common.empty()) {
|
|
1529
1546
|
IncrementSmallSizeNonSoo(common, policy);
|
|
1547
|
+
if (common.has_infoz()) {
|
|
1548
|
+
common.infoz().RecordInsertMiss(get_hash(common.seed().seed()),
|
|
1549
|
+
/*distance_from_desired=*/0);
|
|
1550
|
+
}
|
|
1530
1551
|
return {SooControl(), common.slot_array()};
|
|
1531
1552
|
} else {
|
|
1532
1553
|
return Grow1To3AndPrepareInsert(common, policy, get_hash);
|
|
@@ -1681,7 +1702,7 @@ GrowEmptySooTableToNextCapacityForceSamplingAndPrepareInsert(
|
|
|
1681
1702
|
void ReserveEmptyNonAllocatedTableToFitNewSize(
|
|
1682
1703
|
CommonFields& common, const PolicyFunctions& __restrict policy,
|
|
1683
1704
|
size_t new_size) {
|
|
1684
|
-
ValidateMaxSize(new_size, policy.slot_size);
|
|
1705
|
+
ValidateMaxSize(new_size, policy.key_size, policy.slot_size);
|
|
1685
1706
|
ABSL_ASSUME(new_size > 0);
|
|
1686
1707
|
ResizeEmptyNonAllocatedTableImpl(common, policy, SizeToCapacity(new_size),
|
|
1687
1708
|
/*force_infoz=*/false);
|
|
@@ -1700,7 +1721,7 @@ ABSL_ATTRIBUTE_NOINLINE void ReserveAllocatedTable(
|
|
|
1700
1721
|
CommonFields& common, const PolicyFunctions& __restrict policy,
|
|
1701
1722
|
size_t new_size) {
|
|
1702
1723
|
const size_t cap = common.capacity();
|
|
1703
|
-
ValidateMaxSize(new_size, policy.slot_size);
|
|
1724
|
+
ValidateMaxSize(new_size, policy.key_size, policy.slot_size);
|
|
1704
1725
|
ABSL_ASSUME(new_size > 0);
|
|
1705
1726
|
const size_t new_capacity = SizeToCapacity(new_size);
|
|
1706
1727
|
if (cap == policy.soo_capacity()) {
|
|
@@ -1747,7 +1768,7 @@ void ReserveEmptyNonAllocatedTableToFitBucketCount(
|
|
|
1747
1768
|
CommonFields& common, const PolicyFunctions& __restrict policy,
|
|
1748
1769
|
size_t bucket_count) {
|
|
1749
1770
|
size_t new_capacity = NormalizeCapacity(bucket_count);
|
|
1750
|
-
|
|
1771
|
+
ValidateMaxCapacity(new_capacity, policy.key_size, policy.slot_size);
|
|
1751
1772
|
ResizeEmptyNonAllocatedTableImpl(common, policy, new_capacity,
|
|
1752
1773
|
/*force_infoz=*/false);
|
|
1753
1774
|
}
|
|
@@ -1825,8 +1846,7 @@ void Rehash(CommonFields& common, const PolicyFunctions& __restrict policy,
|
|
|
1825
1846
|
const size_t cap = common.capacity();
|
|
1826
1847
|
|
|
1827
1848
|
auto clear_backing_array = [&]() {
|
|
1828
|
-
|
|
1829
|
-
/*reuse=*/false, policy.soo_enabled);
|
|
1849
|
+
ClearBackingArrayNoReuse(common, policy, policy.get_char_alloc(common));
|
|
1830
1850
|
};
|
|
1831
1851
|
|
|
1832
1852
|
const size_t slot_size = policy.slot_size;
|
|
@@ -1864,11 +1884,11 @@ void Rehash(CommonFields& common, const PolicyFunctions& __restrict policy,
|
|
|
1864
1884
|
}
|
|
1865
1885
|
}
|
|
1866
1886
|
|
|
1867
|
-
ValidateMaxSize(n, policy.slot_size);
|
|
1868
1887
|
// bitor is a faster way of doing `max` here. We will round up to the next
|
|
1869
1888
|
// power-of-2-minus-1, so bitor is good enough.
|
|
1870
1889
|
const size_t new_capacity =
|
|
1871
1890
|
NormalizeCapacity(n | SizeToCapacity(common.size()));
|
|
1891
|
+
ValidateMaxCapacity(new_capacity, policy.key_size, policy.slot_size);
|
|
1872
1892
|
// n == 0 unconditionally rehashes as per the standard.
|
|
1873
1893
|
if (n == 0 || new_capacity > cap) {
|
|
1874
1894
|
if (cap == policy.soo_capacity()) {
|