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 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 | 168 |
169 // Atomic memory operations. | 169 // Atomic memory operations. |
170 Node* AtomicLoad(MachineType rep, Node* base, Node* index) { | 170 Node* AtomicLoad(MachineType rep, Node* base, Node* index) { |
171 return AddNode(machine()->AtomicLoad(rep), base, index); | 171 return AddNode(machine()->AtomicLoad(rep), base, index); |
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) { |
| 179 return AddNode(machine()->AtomicExchange(rep), base, index, value); |
| 180 } |
| 181 |
178 // Arithmetic Operations. | 182 // Arithmetic Operations. |
179 Node* WordAnd(Node* a, Node* b) { | 183 Node* WordAnd(Node* a, Node* b) { |
180 return AddNode(machine()->WordAnd(), a, b); | 184 return AddNode(machine()->WordAnd(), a, b); |
181 } | 185 } |
182 Node* WordOr(Node* a, Node* b) { return AddNode(machine()->WordOr(), a, b); } | 186 Node* WordOr(Node* a, Node* b) { return AddNode(machine()->WordOr(), a, b); } |
183 Node* WordXor(Node* a, Node* b) { | 187 Node* WordXor(Node* a, Node* b) { |
184 return AddNode(machine()->WordXor(), a, b); | 188 return AddNode(machine()->WordXor(), a, b); |
185 } | 189 } |
186 Node* WordShl(Node* a, Node* b) { | 190 Node* WordShl(Node* a, Node* b) { |
187 return AddNode(machine()->WordShl(), a, b); | 191 return AddNode(machine()->WordShl(), a, b); |
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
843 bool deferred_; | 847 bool deferred_; |
844 friend class RawMachineAssembler; | 848 friend class RawMachineAssembler; |
845 DISALLOW_COPY_AND_ASSIGN(RawMachineLabel); | 849 DISALLOW_COPY_AND_ASSIGN(RawMachineLabel); |
846 }; | 850 }; |
847 | 851 |
848 } // namespace compiler | 852 } // namespace compiler |
849 } // namespace internal | 853 } // namespace internal |
850 } // namespace v8 | 854 } // namespace v8 |
851 | 855 |
852 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ | 856 #endif // V8_COMPILER_RAW_MACHINE_ASSEMBLER_H_ |
OLD | NEW |