Index: src/jsregexp.cc |
diff --git a/src/jsregexp.cc b/src/jsregexp.cc |
index 74ec739d9c136d47420827bd7859a3c69521bb5b..0bca6a997d4ce7e9f55a3787c0dd4e262f1a29af 100644 |
--- a/src/jsregexp.cc |
+++ b/src/jsregexp.cc |
@@ -753,7 +753,7 @@ RegExpImpl::GlobalCache::GlobalCache(Handle<JSRegExp> regexp, |
ASSERT(registers_per_match_ >= 2); // Each match has at least one capture. |
ASSERT_GE(register_array_size_, registers_per_match_); |
int32_t* last_match = |
- ®ister_array_[register_array_size_ - registers_per_match_]; |
+ ®ister_array_[(current_match_index_ - 1) * registers_per_match_]; |
last_match[0] = -1; |
last_match[1] = 0; |
} |
@@ -779,7 +779,7 @@ int32_t* RegExpImpl::GlobalCache::FetchNext() { |
} |
int32_t* last_match = |
- ®ister_array_[register_array_size_ - registers_per_match_]; |
+ ®ister_array_[(current_match_index_ - 1) * registers_per_match_]; |
int last_end_index = last_match[1]; |
if (regexp_->TypeTag() == JSRegExp::ATOM) { |