Index: src/x64/regexp-macro-assembler-x64.cc |
diff --git a/src/x64/regexp-macro-assembler-x64.cc b/src/x64/regexp-macro-assembler-x64.cc |
index a72a0a0d1d99adcd9ff54c7b3d0a365f15e03ab6..86f7bfe6ca66533853f9c93f03851b05ef7c1e4a 100644 |
--- a/src/x64/regexp-macro-assembler-x64.cc |
+++ b/src/x64/regexp-macro-assembler-x64.cc |
@@ -353,6 +353,14 @@ void RegExpMacroAssemblerX64::CheckNotBackReferenceIgnoreCase( |
// In either case succeed immediately. |
__ j(equal, &fallthrough); |
+ // ----------------------- |
+ // rdx - Start of capture |
+ // rbx - length of capture |
+ // Check that there are sufficient characters left in the input. |
+ __ movl(rax, rdi); |
+ __ addl(rax, rbx); |
+ BranchOrBacktrack(greater, on_no_match); |
+ |
if (mode_ == ASCII) { |
Label loop_increment; |
if (on_no_match == NULL) { |