| 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) {
|
|
|