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.

Reply via email to