diff options
Diffstat (limited to 'deps/v8/src/regexp/regexp-nodes.h')
-rw-r--r-- | deps/v8/src/regexp/regexp-nodes.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/deps/v8/src/regexp/regexp-nodes.h b/deps/v8/src/regexp/regexp-nodes.h index d618c9bb276..7863dbaa02a 100644 --- a/deps/v8/src/regexp/regexp-nodes.h +++ b/deps/v8/src/regexp/regexp-nodes.h @@ -237,6 +237,15 @@ class RegExpNode : public ZoneObject { eats_at_least_ = eats_at_least; } + // TODO(v8:10441): This is a hacky way to avoid exponential code size growth + // for very large choice nodes that can be generated by unicode property + // escapes. In order to avoid inlining (i.e. trace recursion), we pretend to + // have generated the maximum count of code copies already. + // We should instead fix this properly, e.g. by using the code size budget + // (flush_budget) or by generating property escape matches as calls to a C + // function. + void SetDoNotInline() { trace_count_ = kMaxCopiesCodeGenerated; } + BoyerMooreLookahead* bm_info(bool not_at_start) { return bm_info_[not_at_start ? 1 : 0]; } |