aboutsummaryrefslogtreecommitdiffstats
path: root/regint.h
diff options
context:
space:
mode:
authorHiroya Fujinami <make.just.on@gmail.com>2023-10-30 13:10:42 +0900
committerGitHub <noreply@github.com>2023-10-30 13:10:42 +0900
commit34cb174800e1e41323807c99386641b688927adc (patch)
tree62a1ac23fa566aff85a18042655bebbd2bd750ab /regint.h
parent13c9cbe09ef310c7ddf055d57ebf4586e9f9a111 (diff)
downloadruby-34cb174800e1e41323807c99386641b688927adc.tar.gz
Optimize regexp matching for look-around and atomic groups (#7931)
Diffstat (limited to 'regint.h')
-rw-r--r--regint.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/regint.h b/regint.h
index 650d615c64..034a31426c 100644
--- a/regint.h
+++ b/regint.h
@@ -873,6 +873,12 @@ typedef struct _OnigStackType {
UChar *abs_pstr; /* absent start position */
const UChar *end_pstr; /* end position */
} absent_pos;
+#ifdef USE_MATCH_CACHE
+ struct {
+ long index; /* index of the match cache buffer */
+ uint8_t mask; /* bit-mask for the match cache buffer */
+ } match_cache_point;
+#endif
} u;
} OnigStackType;
@@ -883,6 +889,8 @@ typedef struct {
int outer_repeat_mem;
long num_cache_points_at_outer_repeat;
long num_cache_points_in_outer_repeat;
+ int lookaround_nesting;
+ UChar *match_addr;
} OnigCacheOpcode;
#endif