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

Side by Side Diff: test/cctest/compiler/value-helper.h

Issue 552653003: [turbofan] Fix the node matchers. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Address nit. Created 6 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « test/cctest/compiler/test-representation-change.cc ('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 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 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 #ifndef V8_CCTEST_COMPILER_VALUE_HELPER_H_ 5 #ifndef V8_CCTEST_COMPILER_VALUE_HELPER_H_
6 #define V8_CCTEST_COMPILER_VALUE_HELPER_H_ 6 #define V8_CCTEST_COMPILER_VALUE_HELPER_H_
7 7
8 #include "src/v8.h" 8 #include "src/v8.h"
9 9
10 #include "src/compiler/common-operator.h" 10 #include "src/compiler/common-operator.h"
11 #include "src/compiler/node.h" 11 #include "src/compiler/node.h"
12 #include "src/compiler/node-matchers.h" 12 #include "src/compiler/node-matchers.h"
13 #include "src/isolate.h" 13 #include "src/isolate.h"
14 #include "src/objects.h" 14 #include "src/objects.h"
15 #include "test/cctest/cctest.h" 15 #include "test/cctest/cctest.h"
16 16
17 namespace v8 { 17 namespace v8 {
18 namespace internal { 18 namespace internal {
19 namespace compiler { 19 namespace compiler {
20 20
21 // A collection of utilities related to numerical and heap values, including 21 // A collection of utilities related to numerical and heap values, including
22 // example input values of various types, including int32_t, uint32_t, double, 22 // example input values of various types, including int32_t, uint32_t, double,
23 // etc. 23 // etc.
24 class ValueHelper { 24 class ValueHelper {
25 public: 25 public:
26 Isolate* isolate_; 26 Isolate* isolate_;
27 27
28 ValueHelper() : isolate_(CcTest::InitIsolateOnce()) {} 28 ValueHelper() : isolate_(CcTest::InitIsolateOnce()) {}
29 29
30 template <typename T>
31 void CheckConstant(T expected, Node* node) {
32 CHECK_EQ(expected, ValueOf<T>(node->op()));
33 }
34
35 void CheckFloat64Constant(double expected, Node* node) { 30 void CheckFloat64Constant(double expected, Node* node) {
36 CHECK_EQ(IrOpcode::kFloat64Constant, node->opcode()); 31 CHECK_EQ(IrOpcode::kFloat64Constant, node->opcode());
37 CHECK_EQ(expected, ValueOf<double>(node->op())); 32 CHECK_EQ(expected, OpParameter<double>(node));
38 } 33 }
39 34
40 void CheckNumberConstant(double expected, Node* node) { 35 void CheckNumberConstant(double expected, Node* node) {
41 CHECK_EQ(IrOpcode::kNumberConstant, node->opcode()); 36 CHECK_EQ(IrOpcode::kNumberConstant, node->opcode());
42 CHECK_EQ(expected, ValueOf<double>(node->op())); 37 CHECK_EQ(expected, OpParameter<double>(node));
43 } 38 }
44 39
45 void CheckInt32Constant(int32_t expected, Node* node) { 40 void CheckInt32Constant(int32_t expected, Node* node) {
46 CHECK_EQ(IrOpcode::kInt32Constant, node->opcode()); 41 CHECK_EQ(IrOpcode::kInt32Constant, node->opcode());
47 CHECK_EQ(expected, ValueOf<int32_t>(node->op())); 42 CHECK_EQ(expected, OpParameter<int32_t>(node));
48 } 43 }
49 44
50 void CheckUint32Constant(int32_t expected, Node* node) { 45 void CheckUint32Constant(int32_t expected, Node* node) {
51 CHECK_EQ(IrOpcode::kInt32Constant, node->opcode()); 46 CHECK_EQ(IrOpcode::kInt32Constant, node->opcode());
52 CHECK_EQ(expected, ValueOf<uint32_t>(node->op())); 47 CHECK_EQ(expected, OpParameter<uint32_t>(node));
53 } 48 }
54 49
55 void CheckHeapConstant(Object* expected, Node* node) { 50 void CheckHeapConstant(Object* expected, Node* node) {
56 CHECK_EQ(IrOpcode::kHeapConstant, node->opcode()); 51 CHECK_EQ(IrOpcode::kHeapConstant, node->opcode());
57 CHECK_EQ(expected, *ValueOf<Handle<Object> >(node->op())); 52 CHECK_EQ(expected, *OpParameter<Unique<Object> >(node).handle());
58 } 53 }
59 54
60 void CheckTrue(Node* node) { 55 void CheckTrue(Node* node) {
61 CheckHeapConstant(isolate_->heap()->true_value(), node); 56 CheckHeapConstant(isolate_->heap()->true_value(), node);
62 } 57 }
63 58
64 void CheckFalse(Node* node) { 59 void CheckFalse(Node* node) {
65 CheckHeapConstant(isolate_->heap()->false_value(), node); 60 CheckHeapConstant(isolate_->heap()->false_value(), node);
66 } 61 }
67 62
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 121
127 #define FOR_INT32_SHIFTS(var) for (int32_t var = 0; var < 32; var++) 122 #define FOR_INT32_SHIFTS(var) for (int32_t var = 0; var < 32; var++)
128 123
129 #define FOR_UINT32_SHIFTS(var) for (uint32_t var = 0; var < 32; var++) 124 #define FOR_UINT32_SHIFTS(var) for (uint32_t var = 0; var < 32; var++)
130 125
131 } // namespace compiler 126 } // namespace compiler
132 } // namespace internal 127 } // namespace internal
133 } // namespace v8 128 } // namespace v8
134 129
135 #endif // V8_CCTEST_COMPILER_VALUE_HELPER_H_ 130 #endif // V8_CCTEST_COMPILER_VALUE_HELPER_H_
OLDNEW
« no previous file with comments | « test/cctest/compiler/test-representation-change.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698