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 #ifndef V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ | 5 #ifndef V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
6 #define V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ | 6 #define V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/compiler/common-operator.h" | 9 #include "src/compiler/common-operator.h" |
10 #include "src/compiler/graph.h" | 10 #include "src/compiler/graph.h" |
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
172 } | 172 } |
173 Node* AtomicStore(MachineRepresentation rep, Node* base, Node* index, | 173 Node* AtomicStore(MachineRepresentation rep, Node* base, Node* index, |
174 Node* value) { | 174 Node* value) { |
175 return AddNode(machine()->AtomicStore(rep), base, index, value); | 175 return AddNode(machine()->AtomicStore(rep), base, index, value); |
176 } | 176 } |
177 | 177 |
178 Node* AtomicExchange(MachineType rep, Node* base, Node* index, Node* value) { | 178 Node* AtomicExchange(MachineType rep, Node* base, Node* index, Node* value) { |
179 return AddNode(machine()->AtomicExchange(rep), base, index, value); | 179 return AddNode(machine()->AtomicExchange(rep), base, index, value); |
180 } | 180 } |
181 | 181 |
| 182 Node* AtomicCompareExchange(MachineType rep, Node* base, Node* index, |
| 183 Node* old_value, Node* new_value) { |
| 184 return AddNode(machine()->AtomicCompareExchange(rep), base, index, |
| 185 old_value, new_value); |
| 186 } |
| 187 |
182 // Arithmetic Operations. | 188 // Arithmetic Operations. |
183 Node* WordAnd(Node* a, Node* b) { | 189 Node* WordAnd(Node* a, Node* b) { |
184 return AddNode(machine()->WordAnd(), a, b); | 190 return AddNode(machine()->WordAnd(), a, b); |
185 } | 191 } |
186 Node* WordOr(Node* a, Node* b) { return AddNode(machine()->WordOr(), a, b); } | 192 Node* WordOr(Node* a, Node* b) { return AddNode(machine()->WordOr(), a, b); } |
187 Node* WordXor(Node* a, Node* b) { | 193 Node* WordXor(Node* a, Node* b) { |
188 return AddNode(machine()->WordXor(), a, b); | 194 return AddNode(machine()->WordXor(), a, b); |
189 } | 195 } |
190 Node* WordShl(Node* a, Node* b) { | 196 Node* WordShl(Node* a, Node* b) { |
191 return AddNode(machine()->WordShl(), a, b); | 197 return AddNode(machine()->WordShl(), a, b); |
(...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
850 bool deferred_; | 856 bool deferred_; |
851 friend class RawMachineAssembler; | 857 friend class RawMachineAssembler; |
852 DISALLOW_COPY_AND_ASSIGN(RawMachineLabel); | 858 DISALLOW_COPY_AND_ASSIGN(RawMachineLabel); |
853 }; | 859 }; |
854 | 860 |
855 } // namespace compiler | 861 } // namespace compiler |
856 } // namespace internal | 862 } // namespace internal |
857 } // namespace v8 | 863 } // namespace v8 |
858 | 864 |
859 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ | 865 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
OLD | NEW |