ladybird/Libraries/LibJS/Bytecode
Andreas Kling 34d954e2d7 LibRegex: Add ECMAScriptRegex and migrate callers
Add `ECMAScriptRegex`, LibRegex's C++ facade for ECMAScript regexes.

The facade owns compilation, execution, captures, named groups, and
error translation for the Rust backend, which lets callers stop
depending on the legacy parser and matcher types directly. Use it in the
remaining non-LibJS callers: URLPattern, HTML input pattern handling,
and the places in LibHTTP that only needed token validation.

Where a full regex engine was unnecessary, replace those call sites with
direct character checks. Also update focused LibURL, LibHTTP, and WPT
coverage for the migrated callers and corrected surrogate handling.
2026-03-27 17:32:19 +01:00
..
AsmInterpreter LibJS: Remove dead C++ bytecode compilation functions 2026-03-19 21:55:10 -05:00
BasicBlock.cpp LibJS: Stop worrying about Instruction destructors 2025-11-21 09:46:03 +01:00
BasicBlock.h LibJS: Remove remaining C++ pipeline artifacts 2026-03-19 21:55:10 -05:00
BuiltinAbstractOperationsEnabled.h LibJS: Introduce NativeJavaScriptBackedFunction 2025-11-30 11:54:54 +01:00
Builtins.h LibJS: Remove remaining C++ pipeline artifacts 2026-03-19 21:55:10 -05:00
Bytecode.def LibJS: Add Mov2/Mov3 instructions to reduce dispatch overhead 2026-03-11 17:04:32 +01:00
ClassBlueprint.h LibJS: Add ClassBlueprint data structures 2026-02-11 23:57:41 +01:00
Executable.cpp LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
Executable.h LibJS: Move source range cache from ExecutionContext to Executable 2026-03-11 13:33:47 +01:00
FormatOperand.h LibJS: Improve bytecode executable dump format 2026-03-20 00:51:23 -05:00
IdentifierTable.cpp LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16 2025-08-05 07:07:15 -04:00
IdentifierTable.h AK: Add SentinelOptional 2026-03-20 12:03:36 +01:00
Instruction.cpp LibJS: Flatten Operand to 32-bit index in bytecode instruction stream 2025-12-09 21:44:13 -06:00
Instruction.h Meta: Reformat QtCreator file-listing script for readability 2026-02-23 13:10:03 +01:00
Interpreter.cpp LibJS: Don't cache dictionary shapes in NewObject premade shape cache 2026-03-22 11:10:01 -05:00
Interpreter.h LibJS: Eliminate GeneratorResult GC cell allocation on yield/await 2026-03-20 15:57:23 -05:00
Label.cpp Everywhere: Hoist the Libraries folder to the top-level 2024-11-10 12:50:45 +01:00
Label.h LibJS: Revert Enable EXPLICIT_SYMBOL_EXPORT 2025-07-22 11:51:29 -04:00
Operand.h AK: Add SentinelOptional 2026-03-20 12:03:36 +01:00
PropertyAccess.h LibJS: Remove dead C++ bytecode compilation functions 2026-03-19 21:55:10 -05:00
PropertyKeyTable.cpp LibJS: Cache fully-formed PropertyKeys in Executable 2025-12-11 14:34:45 -06:00
PropertyKeyTable.h AK: Add SentinelOptional 2026-03-20 12:03:36 +01:00
PutKind.h LibJS: Consolidate Put bytecode instructions and reduce code bloat 2026-03-04 18:53:12 +01:00
RegexTable.cpp LibRegex: Add ECMAScriptRegex and migrate callers 2026-03-27 17:32:19 +01:00
RegexTable.h LibRegex: Add ECMAScriptRegex and migrate callers 2026-03-27 17:32:19 +01:00
Register.h LibJS: Replace implicit environment stack with explicit registers 2026-02-09 16:35:39 +01:00
StringTable.cpp LibJS+LibWeb: Port interned bytecode strings to UTF-16 2025-08-14 10:27:08 +02:00
StringTable.h AK: Add SentinelOptional 2026-03-20 12:03:36 +01:00