Commit 3605fcbe authored by yangguo@chromium.org's avatar yangguo@chromium.org

Fix indexing bug in regexp, part 2.

The previous fix initialized the start index incorrectly.

BUG=

Review URL: https://chromiumcodereview.appspot.com/10834291

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent e77f24f4
...@@ -748,12 +748,12 @@ RegExpImpl::GlobalCache::GlobalCache(Handle<JSRegExp> regexp, ...@@ -748,12 +748,12 @@ RegExpImpl::GlobalCache::GlobalCache(Handle<JSRegExp> regexp,
// Set state so that fetching the results the first time triggers a call // Set state so that fetching the results the first time triggers a call
// to the compiled regexp. // to the compiled regexp.
current_match_index_ = max_matches_; current_match_index_ = max_matches_ - 1;
num_matches_ = max_matches_; num_matches_ = max_matches_;
ASSERT(registers_per_match_ >= 2); // Each match has at least one capture. ASSERT(registers_per_match_ >= 2); // Each match has at least one capture.
ASSERT_GE(register_array_size_, registers_per_match_); ASSERT_GE(register_array_size_, registers_per_match_);
int32_t* last_match = int32_t* last_match =
&register_array_[(current_match_index_ - 1) * registers_per_match_]; &register_array_[current_match_index_ * registers_per_match_];
last_match[0] = -1; last_match[0] = -1;
last_match[1] = 0; last_match[1] = 0;
} }
......
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
var string = "What are you looking for?"; var string = "What are you looking for?";
var expected_match = []; var expected_match = [""];
for (var i = 0; i < string.length; i++) { for (var i = 0; i < string.length; i++) {
expected_match.push(""); expected_match.push("");
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment