OLD | NEW |
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 #include "src/compiler/machine-operator.h" | 5 #include "src/compiler/machine-operator.h" |
6 | 6 |
7 #include "src/base/lazy-instance.h" | 7 #include "src/base/lazy-instance.h" |
8 #include "src/compiler/opcodes.h" | 8 #include "src/compiler/opcodes.h" |
9 #include "src/compiler/operator.h" | 9 #include "src/compiler/operator.h" |
10 | 10 |
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
66 | 66 |
67 #define PURE_OP_LIST(V) \ | 67 #define PURE_OP_LIST(V) \ |
68 V(Word32And, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ | 68 V(Word32And, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ |
69 V(Word32Or, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ | 69 V(Word32Or, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ |
70 V(Word32Xor, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ | 70 V(Word32Xor, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ |
71 V(Word32Shl, Operator::kNoProperties, 2, 0, 1) \ | 71 V(Word32Shl, Operator::kNoProperties, 2, 0, 1) \ |
72 V(Word32Shr, Operator::kNoProperties, 2, 0, 1) \ | 72 V(Word32Shr, Operator::kNoProperties, 2, 0, 1) \ |
73 V(Word32Sar, Operator::kNoProperties, 2, 0, 1) \ | 73 V(Word32Sar, Operator::kNoProperties, 2, 0, 1) \ |
74 V(Word32Ror, Operator::kNoProperties, 2, 0, 1) \ | 74 V(Word32Ror, Operator::kNoProperties, 2, 0, 1) \ |
75 V(Word32Equal, Operator::kCommutative, 2, 0, 1) \ | 75 V(Word32Equal, Operator::kCommutative, 2, 0, 1) \ |
| 76 V(Word32Clz, Operator::kNoProperties, 1, 0, 1) \ |
76 V(Word64And, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ | 77 V(Word64And, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ |
77 V(Word64Or, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ | 78 V(Word64Or, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ |
78 V(Word64Xor, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ | 79 V(Word64Xor, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ |
79 V(Word64Shl, Operator::kNoProperties, 2, 0, 1) \ | 80 V(Word64Shl, Operator::kNoProperties, 2, 0, 1) \ |
80 V(Word64Shr, Operator::kNoProperties, 2, 0, 1) \ | 81 V(Word64Shr, Operator::kNoProperties, 2, 0, 1) \ |
81 V(Word64Sar, Operator::kNoProperties, 2, 0, 1) \ | 82 V(Word64Sar, Operator::kNoProperties, 2, 0, 1) \ |
82 V(Word64Ror, Operator::kNoProperties, 2, 0, 1) \ | 83 V(Word64Ror, Operator::kNoProperties, 2, 0, 1) \ |
83 V(Word64Equal, Operator::kCommutative, 2, 0, 1) \ | 84 V(Word64Equal, Operator::kCommutative, 2, 0, 1) \ |
84 V(Int32Add, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ | 85 V(Int32Add, Operator::kAssociative | Operator::kCommutative, 2, 0, 1) \ |
85 V(Int32AddWithOverflow, Operator::kAssociative | Operator::kCommutative, 2, \ | 86 V(Int32AddWithOverflow, Operator::kAssociative | Operator::kCommutative, 2, \ |
(...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
315 } | 316 } |
316 // Uncached. | 317 // Uncached. |
317 return new (zone_) Operator1<CheckedStoreRepresentation>( | 318 return new (zone_) Operator1<CheckedStoreRepresentation>( |
318 IrOpcode::kCheckedStore, Operator::kNoRead | Operator::kNoThrow, | 319 IrOpcode::kCheckedStore, Operator::kNoRead | Operator::kNoThrow, |
319 "CheckedStore", 4, 1, 1, 0, 1, 0, rep); | 320 "CheckedStore", 4, 1, 1, 0, 1, 0, rep); |
320 } | 321 } |
321 | 322 |
322 } // namespace compiler | 323 } // namespace compiler |
323 } // namespace internal | 324 } // namespace internal |
324 } // namespace v8 | 325 } // namespace v8 |
OLD | NEW |