Chromium Code Reviews| Index: src/regexp-macro-assembler-ia32.cc |
| =================================================================== |
| --- src/regexp-macro-assembler-ia32.cc (revision 930) |
| +++ src/regexp-macro-assembler-ia32.cc (working copy) |
| @@ -150,7 +150,7 @@ |
| __ movzx_b(ebx, Operand(ecx, ebx, times_1, 0)); |
| __ and_(eax, (1<<3)-1); |
| __ bt(Operand(ebx), eax); |
| - __ j(carry, on_zero); |
| + BranchOrBacktrack(carry, on_zero); |
| } |
| @@ -203,7 +203,7 @@ |
| __ cmpw(Operand(esi, edi, times_1, byte_offset + i * sizeof(uc16)), |
| Immediate(str[i])); |
| } |
| - __ j(not_equal, on_failure); |
| + BranchOrBacktrack(not_equal, on_failure); |
| } |
| return; |
| } |
| @@ -574,7 +574,7 @@ |
| void RegExpMacroAssemblerIA32::GoTo(Label* to) { |
| - __ jmp(to); |
| + BranchOrBacktrack(no_condition, to); |
| } |
| @@ -662,7 +662,12 @@ |
| if (cp_offset == 0) { |
| __ mov(register_location(reg), edi); |
| } else { |
| - __ lea(eax, Operand(edi, cp_offset)); |
| + if (mode_ == ASCII) { |
| + __ lea(eax, Operand(edi, cp_offset)); |
|
Lasse Reichstein
2008/12/08 10:25:44
You can use char_size() to generalize code that on
|
| + } else { |
| + ASSERT(mode_ == UC16); |
| + __ lea(eax, Operand(edi, 2 * cp_offset)); |
| + } |
| __ mov(register_location(reg), eax); |
| } |
| } |