5#ifndef V8_REGEXP_EXPERIMENTAL_EXPERIMENTAL_H_
6#define V8_REGEXP_EXPERIMENTAL_EXPERIMENTAL_H_
35 int* output_registers,
36 int32_t output_register_count,
42 int32_t* result_offsets_vector,
43 uint32_t result_offsets_vector_length);
47 int32_t output_register_count, int32_t subject_index);
54 int32_t* result_offsets_vector,
55 uint32_t result_offsets_vector_length);
59 int32_t* output_registers,
60 int32_t output_register_count,
61 int32_t subject_index);
static int32_t ExecRaw(Isolate *isolate, RegExp::CallOrigin call_origin, Tagged< IrRegExpData > regexp_data, Tagged< String > subject, int32_t *output_registers, int32_t output_register_count, int32_t subject_index)
static void Initialize(Isolate *isolate, DirectHandle< JSRegExp > re, DirectHandle< String > pattern, RegExpFlags flags, int capture_count)
static int32_t MatchForCallFromJs(Address subject, int32_t start_position, Address input_start, Address input_end, int *output_registers, int32_t output_register_count, RegExp::CallOrigin call_origin, Isolate *isolate, Address regexp_data)
static bool CanBeHandled(RegExpTree *tree, DirectHandle< String > pattern, RegExpFlags flags, int capture_count)
static bool IsCompiled(DirectHandle< IrRegExpData > re_data, Isolate *isolate)
static constexpr bool kSupportsUnicode
static V8_WARN_UNUSED_RESULT bool Compile(Isolate *isolate, DirectHandle< IrRegExpData > re_data)
static std::optional< int > Exec(Isolate *isolate, DirectHandle< IrRegExpData > regexp_data, DirectHandle< String > subject, int index, int32_t *result_offsets_vector, uint32_t result_offsets_vector_length)
static std::optional< int > OneshotExec(Isolate *isolate, DirectHandle< IrRegExpData > regexp_data, DirectHandle< String > subject, int index, int32_t *result_offsets_vector, uint32_t result_offsets_vector_length)
static int32_t OneshotExecRaw(Isolate *isolate, DirectHandle< IrRegExpData > regexp_data, DirectHandle< String > subject, int32_t *output_registers, int32_t output_register_count, int32_t subject_index)
#define V8_WARN_UNUSED_RESULT