OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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_CODE_STUB_ASSEMBLER_H_ | 5 #ifndef V8_COMPILER_CODE_STUB_ASSEMBLER_H_ |
6 #define V8_COMPILER_CODE_STUB_ASSEMBLER_H_ | 6 #define V8_COMPILER_CODE_STUB_ASSEMBLER_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 | 9 |
10 // Clients of this interface shouldn't depend on lots of compiler internals. | 10 // Clients of this interface shouldn't depend on lots of compiler internals. |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 Node* SmiLessThan(Node* a, Node* b); | 266 Node* SmiLessThan(Node* a, Node* b); |
267 Node* SmiLessThanOrEqual(Node* a, Node* b); | 267 Node* SmiLessThanOrEqual(Node* a, Node* b); |
268 Node* SmiMin(Node* a, Node* b); | 268 Node* SmiMin(Node* a, Node* b); |
269 | 269 |
270 // Load a value from the root array. | 270 // Load a value from the root array. |
271 Node* LoadRoot(Heap::RootListIndex root_index); | 271 Node* LoadRoot(Heap::RootListIndex root_index); |
272 | 272 |
273 // Check a value for smi-ness | 273 // Check a value for smi-ness |
274 Node* WordIsSmi(Node* a); | 274 Node* WordIsSmi(Node* a); |
275 | 275 |
| 276 // Check that the value is a positive smi. |
| 277 Node* WordIsPositiveSmi(Node* a); |
| 278 |
276 // Load an object pointer from a buffer that isn't in the heap. | 279 // Load an object pointer from a buffer that isn't in the heap. |
277 Node* LoadBufferObject(Node* buffer, int offset, | 280 Node* LoadBufferObject(Node* buffer, int offset, |
278 MachineType rep = MachineType::AnyTagged()); | 281 MachineType rep = MachineType::AnyTagged()); |
279 // Load a field from an object on the heap. | 282 // Load a field from an object on the heap. |
280 Node* LoadObjectField(Node* object, int offset, | 283 Node* LoadObjectField(Node* object, int offset, |
281 MachineType rep = MachineType::AnyTagged()); | 284 MachineType rep = MachineType::AnyTagged()); |
282 // Load the floating point value of a HeapNumber. | 285 // Load the floating point value of a HeapNumber. |
283 Node* LoadHeapNumberValue(Node* object); | 286 Node* LoadHeapNumberValue(Node* object); |
284 // Load the bit field of a Map. | 287 // Load the bit field of a Map. |
285 Node* LoadMapBitField(Node* map); | 288 Node* LoadMapBitField(Node* map); |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
410 // Map of variables to the list of value nodes that have been added from each | 413 // Map of variables to the list of value nodes that have been added from each |
411 // merge path in their order of merging. | 414 // merge path in their order of merging. |
412 std::map<Variable::Impl*, std::vector<Node*>> variable_merges_; | 415 std::map<Variable::Impl*, std::vector<Node*>> variable_merges_; |
413 }; | 416 }; |
414 | 417 |
415 } // namespace compiler | 418 } // namespace compiler |
416 } // namespace internal | 419 } // namespace internal |
417 } // namespace v8 | 420 } // namespace v8 |
418 | 421 |
419 #endif // V8_COMPILER_CODE_STUB_ASSEMBLER_H_ | 422 #endif // V8_COMPILER_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |