mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2026-04-19 02:10:26 +00:00
LibRegex: Remove the legacy C++ ECMA-262 engine
Delete the old C++ ECMA-262 parser, optimizer, and matcher now that all in-tree users compile and execute through `ECMAScriptRegex`. Stop building the legacy engine, remove its source files and the POSIX-only fuzzers that depended on it, and update the remaining LibRegex tests to target the Rust-backed facade instead of the deleted implementation. Clean up the last includes, comments, and helper paths that only existed to support the old backend. After this commit LibRegex has a single ECMAScript engine in-tree, eliminating duplicated maintenance and unifying future regex work.
This commit is contained in:
parent
e243e146de
commit
d7bf9d3898
Notes:
github-actions[bot]
2026-03-27 16:35:07 +00:00
Author: https://github.com/awesomekling
Commit: d7bf9d3898
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/8612
Reviewed-by: https://github.com/jdahlin
Reviewed-by: https://github.com/trflynn89
25 changed files with 59 additions and 13411 deletions
|
|
@ -346,7 +346,7 @@ public:
|
|||
// { [[Type]]: "RegExp", [[RegExpMatcher]]: value.[[RegExpMatcher]], [[OriginalSource]]: value.[[OriginalSource]],
|
||||
// [[OriginalFlags]]: value.[[OriginalFlags]] }.
|
||||
else if (auto const* reg_exp_object = as_if<JS::RegExpObject>(*object)) {
|
||||
// NOTE: A Regex<ECMA262> object is perfectly happy to be reconstructed with just the source+flags.
|
||||
// NOTE: ECMAScriptRegex is perfectly happy to be reconstructed with just the source+flags.
|
||||
// In the future, we could optimize the work being done on the deserialize step by serializing
|
||||
// more of the internal state (the [[RegExpMatcher]] internal slot).
|
||||
serialized.encode(ValueTag::RegExpObject);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue