Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(495)

Unified Diff: test/compiler-unittests/node-cache-unittest.cc

Issue 456843004: Revert 23077 - "Use CommonNodeCache for heap constants in ChangeLowering." (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/compiler-unittests/compiler-unittests.gyp ('k') | testing/gtest-type-names.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/compiler-unittests/node-cache-unittest.cc
diff --git a/test/compiler-unittests/node-cache-unittest.cc b/test/compiler-unittests/node-cache-unittest.cc
deleted file mode 100644
index 2f67b23a048a944d5cc08bc187a3767788087f29..0000000000000000000000000000000000000000
--- a/test/compiler-unittests/node-cache-unittest.cc
+++ /dev/null
@@ -1,129 +0,0 @@
-// Copyright 2014 the V8 project authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include <algorithm>
-
-#include "src/base/utils/random-number-generator.h"
-#include "src/compiler/node.h"
-#include "src/compiler/node-cache.h"
-#include "src/flags.h"
-#include "test/compiler-unittests/compiler-unittests.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest-type-names.h"
-
-using testing::AllOf;
-using testing::IsNull;
-using testing::NotNull;
-using testing::Pointee;
-
-namespace v8 {
-namespace internal {
-namespace compiler {
-
-template <typename T>
-class NodeCacheTest : public CompilerTest {
- public:
- NodeCacheTest() : rng_(FLAG_random_seed) {}
- virtual ~NodeCacheTest() {}
-
- protected:
- NodeCache<T>* cache() { return &cache_; }
- base::RandomNumberGenerator* rng() { return &rng_; }
-
- void GenerateRandom(T* first, T* last) {
- for (T* i = first; i != last; ++i) {
- do {
- *i = GenerateRandom();
- } while (std::find(first, i, *i) != i);
- }
- }
-
- private:
- T GenerateRandom();
-
- NodeCache<T> cache_;
- base::RandomNumberGenerator rng_;
-};
-
-
-template <>
-int32_t NodeCacheTest<int32_t>::GenerateRandom() {
- return rng()->NextInt();
-}
-
-
-template <>
-int64_t NodeCacheTest<int64_t>::GenerateRandom() {
- int64_t v;
- rng()->NextBytes(&v, sizeof(v));
- return v;
-}
-
-
-typedef ::testing::Types<int32_t, int64_t> NodeCacheTypes;
-TYPED_TEST_CASE(NodeCacheTest, NodeCacheTypes);
-
-
-TYPED_TEST(NodeCacheTest, BackToBack) {
- static const size_t kSize = 100;
- TypeParam values[kSize];
- this->GenerateRandom(&values[0], &values[kSize]);
- for (const TypeParam* i = &values[0]; i != &values[kSize]; ++i) {
- TypeParam value = *i;
- SCOPED_TRACE(::testing::Message() << "value " << value);
- Node** location = this->cache()->Find(this->zone(), value);
- ASSERT_THAT(location, AllOf(NotNull(), Pointee(IsNull())));
- for (int attempt = 1; attempt < 4; ++attempt) {
- SCOPED_TRACE(::testing::Message() << "attempt " << attempt);
- EXPECT_EQ(location, this->cache()->Find(this->zone(), value));
- }
- }
-}
-
-
-TYPED_TEST(NodeCacheTest, MinimumSize) {
- static const size_t kSize = 5;
- TypeParam values[kSize];
- this->GenerateRandom(&values[0], &values[kSize]);
- Node** locations[kSize];
- Node* nodes = this->zone()->template NewArray<Node>(kSize);
- for (size_t i = 0; i < kSize; ++i) {
- locations[i] = this->cache()->Find(this->zone(), values[i]);
- ASSERT_THAT(locations[i], NotNull());
- EXPECT_EQ(&locations[i],
- std::find(&locations[0], &locations[i], locations[i]));
- *locations[i] = &nodes[i];
- }
- for (size_t i = 0; i < kSize; ++i) {
- EXPECT_EQ(locations[i], this->cache()->Find(this->zone(), values[i]));
- }
-}
-
-
-TYPED_TEST(NodeCacheTest, MinimumHits) {
- static const size_t kSize = 250;
- static const size_t kMinHits = 10;
- TypeParam* values = this->zone()->template NewArray<TypeParam>(kSize);
- this->GenerateRandom(&values[0], &values[kSize]);
- Node* nodes = this->zone()->template NewArray<Node>(kSize);
- for (size_t i = 0; i < kSize; ++i) {
- Node** location = this->cache()->Find(this->zone(), values[i]);
- ASSERT_THAT(location, AllOf(NotNull(), Pointee(IsNull())));
- *location = &nodes[i];
- }
- size_t hits = 0;
- for (size_t i = 0; i < kSize; ++i) {
- Node** location = this->cache()->Find(this->zone(), values[i]);
- ASSERT_THAT(location, NotNull());
- if (*location != NULL) {
- EXPECT_EQ(&nodes[i], *location);
- ++hits;
- }
- }
- EXPECT_GE(hits, kMinHits);
-}
-
-} // namespace compiler
-} // namespace internal
-} // namespace v8
« no previous file with comments | « test/compiler-unittests/compiler-unittests.gyp ('k') | testing/gtest-type-names.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698