Index: src/jsregexp.cc |
diff --git a/src/jsregexp.cc b/src/jsregexp.cc |
index 3c5ddfbeb4ffd0ed4dbb3fb53ef9fd5317d5f2ce..82a370f141fecf845cb4bd08ec3fdd390cc1f519 100644 |
--- a/src/jsregexp.cc |
+++ b/src/jsregexp.cc |
@@ -5180,10 +5180,7 @@ RegExpEngine::CompilationResult RegExpEngine::Compile(RegExpCompileData* data, |
&compiler, |
compiler.accept()); |
RegExpNode* node = captured_body; |
- bool is_end_anchored = data->tree->IsAnchoredAtEnd(); |
- bool is_start_anchored = data->tree->IsAnchoredAtStart(); |
- int max_length = data->tree->max_match(); |
- if (!is_start_anchored) { |
+ if (!data->tree->IsAnchored()) { |
// Add a .*? at the beginning, outside the body capture, unless |
// this expression is anchored at the beginning. |
RegExpNode* loop_node = |
@@ -5239,15 +5236,6 @@ RegExpEngine::CompilationResult RegExpEngine::Compile(RegExpCompileData* data, |
RegExpMacroAssemblerIrregexp macro_assembler(codes); |
#endif // V8_INTERPRETED_REGEXP |
- // Inserted here, instead of in Assembler, because it depends on information |
- // in the AST that isn't replicated in the Node structure. |
- static const int kMaxBacksearchLimit = 1024; |
- if (is_end_anchored && |
- !is_start_anchored && |
- max_length < kMaxBacksearchLimit) { |
- macro_assembler.SetCurrentPositionFromEnd(max_length); |
- } |
- |
return compiler.Assemble(¯o_assembler, |
node, |
data->capture_count, |