Index: src/jsregexp.cc |
=================================================================== |
--- src/jsregexp.cc (revision 1201) |
+++ src/jsregexp.cc (working copy) |
@@ -2013,7 +2013,8 @@ |
// We are being asked to make a non-generic version. Keep track of how many |
// non-generic versions we generate so as not to overdo it. |
trace_count_++; |
- if (trace_count_ < kMaxCopiesCodeGenerated && |
+ if (FLAG_irregexp_optimization && |
+ trace_count_ < kMaxCopiesCodeGenerated && |
compiler->recursion_depth() <= RegExpCompiler::kMaxRecursion) { |
return CONTINUE; |
} |
@@ -3117,7 +3118,8 @@ |
new_trace.quick_check_performed()->Clear(); |
alt_gen->expects_preload = preload_is_current; |
bool generate_full_check_inline = false; |
- if (try_to_emit_quick_check_for_alternative(i) && |
+ if (FLAG_irregexp_optimization && |
+ try_to_emit_quick_check_for_alternative(i) && |
alternative.node()->EmitQuickCheck(compiler, |
&new_trace, |
preload_has_checked_bounds, |
@@ -3899,7 +3901,7 @@ |
bool needs_capture_clearing = !capture_registers.is_empty(); |
if (body_can_be_empty) { |
body_start_reg = compiler->AllocateRegister(); |
- } else if (!needs_capture_clearing) { |
+ } else if (FLAG_irregexp_optimization && !needs_capture_clearing) { |
// Only unroll if there are no captures and the body can't be |
// empty. |
if (min > 0 && min <= kMaxUnrolledMinMatches) { |