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