ladybird/Libraries/LibRegex
Jelle Raaijmakers 1745926fc6 AK+Everywhere: Use MurmurHash3 for int/u64 hashing
Rework our hash functions a bit for significant better performance:

* Rename int_hash to u32_hash to mirror u64_hash.
* Make pair_int_hash call u64_hash instead of multiple u32_hash()es.
* Implement MurmurHash3's fmix32 and fmix64 for u32_hash and u64_hash.

On my machine, this speeds up u32_hash by 20%, u64_hash by ~290%, and
pair_int_hash by ~260%.

We lose the property that an input of 0 results in something that is not
0. I've experimented with an offset to both hash functions, but it
resulted in a measurable performance degradation for u64_hash. If
there's a good use case for 0 not to result in 0, we can always add in
that offset as a countermeasure in the future.
2026-02-20 22:47:24 +01:00
..
CMakeLists.txt CMake: Rename serenity_* helper functions/macros to ladybird_* 2025-07-03 23:19:41 +02:00
Forward.h LibRegex+LibJS: Flatten the bytecode buffer before regex execution 2026-01-05 18:22:11 +01:00
Regex.h
RegexByteCode.cpp LibRegex: Implement Unicode case-insensitive matching 2026-02-16 07:51:00 -05:00
RegexByteCode.h LibRegex: Implement Unicode case-insensitive matching 2026-02-16 07:51:00 -05:00
RegexBytecodeStreamOptimizer.h
RegexDebug.h LibRegex: Make RegexDebug resilient to empty state vectors 2026-01-21 14:20:08 +01:00
RegexDefs.h LibRegex: Add support for regex modifiers 2026-01-16 15:00:00 +01:00
RegexError.h LibRegex: Add support for regex modifiers 2026-01-16 15:00:00 +01:00
RegexLexer.cpp LibRegex: Clean up #include directives 2024-11-21 14:08:33 +01:00
RegexLexer.h LibRegex: Annotate classes with export macro for hidden visibility 2025-05-12 03:22:23 -06:00
RegexMatch.h LibRegex: Implement Unicode case-insensitive matching 2026-02-16 07:51:00 -05:00
RegexMatcher.cpp AK+Everywhere: Use MurmurHash3 for int/u64 hashing 2026-02-20 22:47:24 +01:00
RegexMatcher.h LibRegex: Skip multi-op compare overhead when not necessary 2026-01-05 18:22:11 +01:00
RegexOptimizer.cpp LibRegex: Implement Unicode case-insensitive matching 2026-02-16 07:51:00 -05:00
RegexOptions.h LibRegex: Flatten capture group list in MatchState 2025-04-18 17:09:27 +02:00
RegexParser.cpp LibRegex: Add support for regex modifiers 2026-01-16 15:00:00 +01:00
RegexParser.h LibRegex: Implement proper lookbehind via new StepBack opcodes 2026-01-11 23:24:49 +01:00