Reviewers: dcarney,
Description:
Fix bug in NodeCache::GetCachedNodes
[email protected]
BUG=
Please review this at https://codereview.chromium.org/656033003/
Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+8, -5 lines):
M src/compiler/node-cache.cc
M test/cctest/compiler/test-js-constant-cache.cc
Index: src/compiler/node-cache.cc
diff --git a/src/compiler/node-cache.cc b/src/compiler/node-cache.cc
index
2049de526d23763debd5fda44062cbe8b743bb24..35d03cec9b4234ce8b341f90d0ce48c8dd431276
100644
--- a/src/compiler/node-cache.cc
+++ b/src/compiler/node-cache.cc
@@ -94,7 +94,7 @@ Node** NodeCache<Key, Hash, Pred>::Find(Zone* zone, Key
key) {
template <typename Key, typename Hash, typename Pred>
void NodeCache<Key, Hash, Pred>::GetCachedNodes(NodeVector* nodes) {
if (entries_) {
- for (size_t i = 0; i < size_; i++) {
+ for (size_t i = 0; i < size_ + kLinearProbe; i++) {
if (entries_[i].value_ != NULL) nodes->push_back(entries_[i].value_);
}
}
Index: test/cctest/compiler/test-js-constant-cache.cc
diff --git a/test/cctest/compiler/test-js-constant-cache.cc
b/test/cctest/compiler/test-js-constant-cache.cc
index
07301af3e16ee2c536baeec2d5f0daab0ecb3519..2a591c198e4e6fc5d2dc647efb86a739ea0361fa
100644
--- a/test/cctest/compiler/test-js-constant-cache.cc
+++ b/test/cctest/compiler/test-js-constant-cache.cc
@@ -329,8 +329,10 @@ TEST(JSGraph_GetCachedNodes1) {
TEST(JSGraph_GetCachedNodes_int32) {
JSConstantCacheTester T;
- int32_t constants[] = {0, 11, 12, 13, 14, 55, -55, -44, -33, -22, -11,
- 0, 11, 11, 12, 12, 11, 11, -33, -33, -22, -11};
+ int32_t constants[] = {0, 1, 1, 1, 1, 2, 3, 4, 11, 12, 13,
+ 14, 55, -55, -44, -33, -22, -11, 16, 16, 17, 17,
+ 18, 18, 19, 19, 20, 20, 21, 21, 22, 23, 24,
+ 25, 15, 30, 31, 45, 46, 47, 48};
for (size_t i = 0; i < arraysize(constants); i++) {
int count_before = T.graph()->NodeCount();
@@ -372,8 +374,9 @@ TEST(JSGraph_GetCachedNodes_float64) {
TEST(JSGraph_GetCachedNodes_int64) {
JSConstantCacheTester T;
- int32_t constants[] = {0, 11, 12, 13, 14, 55, -55, -44, -33, -22, -11,
- 0, 11, 11, 12, 12, 11, 11, -33, -33, -22, -11};
+ int32_t constants[] = {0, 11, 12, 13, 14, 55, -55, -44, -33,
+ -22, -11, 16, 16, 17, 17, 18, 18, 19,
+ 19, 20, 20, 21, 21, 22, 23, 24, 25};
for (size_t i = 0; i < arraysize(constants); i++) {
int count_before = T.graph()->NodeCount();
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.