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

Side by Side Diff: test/cctest/test-accessor-assembler.cc

Issue 2647493002: [ic] Clean up handler boilerplate (Closed)
Patch Set: rebased Created 3 years, 11 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 unified diff | Download patch
« no previous file with comments | « src/v8.gyp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 the V8 project authors. All rights reserved. 1 // Copyright 2016 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "test/cctest/cctest.h" 5 #include "test/cctest/cctest.h"
6 6
7 #include "src/base/utils/random-number-generator.h" 7 #include "src/base/utils/random-number-generator.h"
8 #include "src/ic/accessor-assembler-impl.h" 8 #include "src/ic/accessor-assembler.h"
9 #include "src/ic/stub-cache.h" 9 #include "src/ic/stub-cache.h"
10 #include "test/cctest/compiler/code-assembler-tester.h" 10 #include "test/cctest/compiler/code-assembler-tester.h"
11 #include "test/cctest/compiler/function-tester.h" 11 #include "test/cctest/compiler/function-tester.h"
12 12
13 namespace v8 { 13 namespace v8 {
14 namespace internal { 14 namespace internal {
15 15
16 using compiler::CodeAssemblerTester; 16 using compiler::CodeAssemblerTester;
17 using compiler::FunctionTester; 17 using compiler::FunctionTester;
18 using compiler::Node; 18 using compiler::Node;
19 19
20 namespace { 20 namespace {
21 21
22 void TestStubCacheOffsetCalculation(StubCache::Table table) { 22 void TestStubCacheOffsetCalculation(StubCache::Table table) {
23 Isolate* isolate(CcTest::InitIsolateOnce()); 23 Isolate* isolate(CcTest::InitIsolateOnce());
24 const int kNumParams = 2; 24 const int kNumParams = 2;
25 CodeAssemblerTester data(isolate, kNumParams); 25 CodeAssemblerTester data(isolate, kNumParams);
26 AccessorAssemblerImpl m(data.state()); 26 AccessorAssembler m(data.state());
27 27
28 { 28 {
29 Node* name = m.Parameter(0); 29 Node* name = m.Parameter(0);
30 Node* map = m.Parameter(1); 30 Node* map = m.Parameter(1);
31 Node* primary_offset = m.StubCachePrimaryOffsetForTesting(name, map); 31 Node* primary_offset = m.StubCachePrimaryOffsetForTesting(name, map);
32 Node* result; 32 Node* result;
33 if (table == StubCache::kPrimary) { 33 if (table == StubCache::kPrimary) {
34 result = primary_offset; 34 result = primary_offset;
35 } else { 35 } else {
36 CHECK_EQ(StubCache::kSecondary, table); 36 CHECK_EQ(StubCache::kSecondary, table);
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
114 } 114 }
115 115
116 } // namespace 116 } // namespace
117 117
118 TEST(TryProbeStubCache) { 118 TEST(TryProbeStubCache) {
119 typedef CodeStubAssembler::Label Label; 119 typedef CodeStubAssembler::Label Label;
120 typedef CodeStubAssembler::Variable Variable; 120 typedef CodeStubAssembler::Variable Variable;
121 Isolate* isolate(CcTest::InitIsolateOnce()); 121 Isolate* isolate(CcTest::InitIsolateOnce());
122 const int kNumParams = 3; 122 const int kNumParams = 3;
123 CodeAssemblerTester data(isolate, kNumParams); 123 CodeAssemblerTester data(isolate, kNumParams);
124 AccessorAssemblerImpl m(data.state()); 124 AccessorAssembler m(data.state());
125 125
126 Code::Kind ic_kind = Code::LOAD_IC; 126 Code::Kind ic_kind = Code::LOAD_IC;
127 StubCache stub_cache(isolate, ic_kind); 127 StubCache stub_cache(isolate, ic_kind);
128 stub_cache.Clear(); 128 stub_cache.Clear();
129 129
130 { 130 {
131 Node* receiver = m.Parameter(0); 131 Node* receiver = m.Parameter(0);
132 Node* name = m.Parameter(1); 132 Node* name = m.Parameter(1);
133 Node* expected_handler = m.Parameter(2); 133 Node* expected_handler = m.Parameter(2);
134 134
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
254 254
255 Handle<Object> expected_handler(handler, isolate); 255 Handle<Object> expected_handler(handler, isolate);
256 ft.CheckTrue(receiver, name, expected_handler); 256 ft.CheckTrue(receiver, name, expected_handler);
257 } 257 }
258 // Ensure we performed both kind of queries. 258 // Ensure we performed both kind of queries.
259 CHECK(queried_existing && queried_non_existing); 259 CHECK(queried_existing && queried_non_existing);
260 } 260 }
261 261
262 } // namespace internal 262 } // namespace internal
263 } // namespace v8 263 } // namespace v8
OLDNEW
« no previous file with comments | « src/v8.gyp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698