diff options
author | Michaël Zasso <targos@protonmail.com> | 2020-11-13 12:51:53 +0100 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2020-11-15 16:46:54 +0100 |
commit | 48db20f6f53060e38b2272566b014741eb4f519f (patch) | |
tree | e2f9b4c7f69d2e4597b73b4c3c09f4371d5cc963 /deps/v8/src/regexp/experimental/experimental.h | |
parent | 79916428a48df937aa5b2b69c061d2d42181a76b (diff) | |
download | node-new-48db20f6f53060e38b2272566b014741eb4f519f.tar.gz |
deps: update V8 to 8.7.220
PR-URL: https://github.com/nodejs/node/pull/35700
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Shelley Vohr <codebytere@gmail.com>
Diffstat (limited to 'deps/v8/src/regexp/experimental/experimental.h')
-rw-r--r-- | deps/v8/src/regexp/experimental/experimental.h | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/deps/v8/src/regexp/experimental/experimental.h b/deps/v8/src/regexp/experimental/experimental.h index 96c5b3c441..02f535f621 100644 --- a/deps/v8/src/regexp/experimental/experimental.h +++ b/deps/v8/src/regexp/experimental/experimental.h @@ -12,12 +12,21 @@ namespace internal { class ExperimentalRegExp final : public AllStatic { public: - // Initialization & Compilation: + // Initialization & Compilation + // ------------------------------------------------------------------------- + // Check whether a parsed regexp pattern can be compiled and executed by the + // EXPERIMENTAL engine. + // TODO(mbid, v8:10765): This walks the RegExpTree, but it could also be + // checked on the fly in the parser. Not done currently because walking the + // AST again is more flexible and less error prone (but less performant). + static bool CanBeHandled(RegExpTree* tree, JSRegExp::Flags flags, + int capture_count); static void Initialize(Isolate* isolate, Handle<JSRegExp> re, Handle<String> pattern, JSRegExp::Flags flags, int capture_count); - static bool IsCompiled(Handle<JSRegExp> re); - static void Compile(Isolate* isolate, Handle<JSRegExp> re); + static bool IsCompiled(Handle<JSRegExp> re, Isolate* isolate); + V8_WARN_UNUSED_RESULT + static bool Compile(Isolate* isolate, Handle<JSRegExp> re); // Execution: static int32_t MatchForCallFromJs(Address subject, int32_t start_position, @@ -30,9 +39,11 @@ class ExperimentalRegExp final : public AllStatic { static MaybeHandle<Object> Exec(Isolate* isolate, Handle<JSRegExp> regexp, Handle<String> subject, int index, Handle<RegExpMatchInfo> last_match_info); - static int32_t ExecRaw(JSRegExp regexp, String subject, + static int32_t ExecRaw(Isolate* isolate, JSRegExp regexp, String subject, int32_t* output_registers, int32_t output_register_count, int32_t subject_index); + + static constexpr bool kSupportsUnicode = false; }; } // namespace internal |