ladybird/Libraries/LibRegex
Ali Mohammad Pur cce000d57c LibRegex: Don't repeat the same fork again
If some state has already been tried, skip over it as it would never
lead to a match regardless.
This fixes performance/memory issues in cases like
/(a+)+b/.exec("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
or
/(a|a?)+b/...

Fixes #2622.
2025-01-17 10:13:51 +01:00
..
CMakeLists.txt
Forward.h
Regex.h
RegexByteCode.cpp LibRegex: Treat checks against nonexistent checkpoints as empty 2024-12-13 10:00:16 +01:00
RegexByteCode.h LibRegex: Print OpCode_Repeat's offset as ssize_t 2024-12-13 10:00:16 +01:00
RegexBytecodeStreamOptimizer.h
RegexDebug.h
RegexDefs.h
RegexError.h
RegexLexer.cpp LibRegex: Clean up #include directives 2024-11-21 14:08:33 +01:00
RegexLexer.h
RegexMatch.h LibRegex: Don't repeat the same fork again 2025-01-17 10:13:51 +01:00
RegexMatcher.cpp LibRegex: Don't repeat the same fork again 2025-01-17 10:13:51 +01:00
RegexMatcher.h LibRegex: Add some more debugging info to bytecode block ranges 2024-12-13 10:00:16 +01:00
RegexOptimizer.cpp LibRegex: Use the *actually* correct repeat start offset for Repeat 2024-12-23 13:13:52 +01:00
RegexOptions.h
RegexParser.cpp LibRegex: Remove duplicated condition 2024-12-22 12:33:41 +01:00
RegexParser.h Everywhere: Include HashMap only where it's actually used 2024-12-09 12:31:16 +01:00