Index: src/regexp-macro-assembler-ia32.cc |
=================================================================== |
--- src/regexp-macro-assembler-ia32.cc (revision 1094) |
+++ src/regexp-macro-assembler-ia32.cc (working copy) |
@@ -174,6 +174,20 @@ |
} |
+void RegExpMacroAssemblerIA32::CheckAtStart(Label* on_at_start) { |
+ Label ok; |
+ // Did we start the match at the start of the string at all? |
+ __ cmp(Operand(ebp, kAtStart), Immediate(0)); |
+ BranchOrBacktrack(equal, &ok); |
+ // If we did, are we still at the start of the input? |
+ __ mov(eax, Operand(ebp, kInputEndOffset)); |
+ __ add(eax, Operand(edi)); |
+ __ cmp(eax, Operand(ebp, kInputStartOffset)); |
+ BranchOrBacktrack(equal, on_at_start); |
+ __ bind(&ok); |
+} |
+ |
+ |
void RegExpMacroAssemblerIA32::CheckNotAtStart(Label* on_not_at_start) { |
// Did we start the match at the start of the string at all? |
__ cmp(Operand(ebp, kAtStart), Immediate(0)); |