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 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
385 } | 385 } |
386 | 386 |
387 Node* BitFieldDecode(Node* word32, uint32_t shift, uint32_t mask); | 387 Node* BitFieldDecode(Node* word32, uint32_t shift, uint32_t mask); |
388 | 388 |
389 // Conversions. | 389 // Conversions. |
390 Node* ChangeFloat64ToTagged(Node* value); | 390 Node* ChangeFloat64ToTagged(Node* value); |
391 Node* ChangeInt32ToTagged(Node* value); | 391 Node* ChangeInt32ToTagged(Node* value); |
392 Node* ChangeUint32ToTagged(Node* value); | 392 Node* ChangeUint32ToTagged(Node* value); |
393 Node* TruncateTaggedToFloat64(Node* context, Node* value); | 393 Node* TruncateTaggedToFloat64(Node* context, Node* value); |
394 Node* TruncateTaggedToWord32(Node* context, Node* value); | 394 Node* TruncateTaggedToWord32(Node* context, Node* value); |
| 395 // Truncate to int32 using JavaScript truncation mode. |
| 396 Node* TruncateFloat64ToInt32(Node* value); |
395 | 397 |
396 // Type conversions. | 398 // Type conversions. |
397 // Throws a TypeError for {method_name} if {value} is not coercible to Object, | 399 // Throws a TypeError for {method_name} if {value} is not coercible to Object, |
398 // or returns the {value} converted to a String otherwise. | 400 // or returns the {value} converted to a String otherwise. |
399 Node* ToThisString(Node* context, Node* value, char const* method_name); | 401 Node* ToThisString(Node* context, Node* value, char const* method_name); |
400 | 402 |
401 // String helpers. | 403 // String helpers. |
402 // Load a character from a String (might flatten a ConsString). | 404 // Load a character from a String (might flatten a ConsString). |
403 Node* StringCharCodeAt(Node* string, Node* smi_index); | 405 Node* StringCharCodeAt(Node* string, Node* smi_index); |
404 // Return the single character string with only {code}. | 406 // Return the single character string with only {code}. |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
504 // Map of variables to the list of value nodes that have been added from each | 506 // Map of variables to the list of value nodes that have been added from each |
505 // merge path in their order of merging. | 507 // merge path in their order of merging. |
506 std::map<Variable::Impl*, std::vector<Node*>> variable_merges_; | 508 std::map<Variable::Impl*, std::vector<Node*>> variable_merges_; |
507 }; | 509 }; |
508 | 510 |
509 } // namespace compiler | 511 } // namespace compiler |
510 } // namespace internal | 512 } // namespace internal |
511 } // namespace v8 | 513 } // namespace v8 |
512 | 514 |
513 #endif // V8_COMPILER_CODE_STUB_ASSEMBLER_H_ | 515 #endif // V8_COMPILER_CODE_STUB_ASSEMBLER_H_ |
OLD | NEW |