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_PPC_MACRO_ASSEMBLER_PPC_H_ | 5 #ifndef V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
6 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 6 #define V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/frames.h" | 10 #include "src/frames.h" |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 // Does not handle errors. | 368 // Does not handle errors. |
369 void FlushICache(Register address, size_t size, Register scratch); | 369 void FlushICache(Register address, size_t size, Register scratch); |
370 | 370 |
371 // If the value is a NaN, canonicalize the value else, do nothing. | 371 // If the value is a NaN, canonicalize the value else, do nothing. |
372 void CanonicalizeNaN(const DoubleRegister dst, const DoubleRegister src); | 372 void CanonicalizeNaN(const DoubleRegister dst, const DoubleRegister src); |
373 void CanonicalizeNaN(const DoubleRegister value) { | 373 void CanonicalizeNaN(const DoubleRegister value) { |
374 CanonicalizeNaN(value, value); | 374 CanonicalizeNaN(value, value); |
375 } | 375 } |
376 | 376 |
377 // Converts the integer (untagged smi) in |src| to a double, storing | 377 // Converts the integer (untagged smi) in |src| to a double, storing |
378 // the result to |double_dst| | 378 // the result to |dst| |
379 void ConvertIntToDouble(Register src, DoubleRegister double_dst); | 379 void ConvertIntToDouble(Register src, DoubleRegister dst); |
380 | 380 |
381 // Converts the unsigned integer (untagged smi) in |src| to | 381 // Converts the unsigned integer (untagged smi) in |src| to |
382 // a double, storing the result to |double_dst| | 382 // a double, storing the result to |dst| |
383 void ConvertUnsignedIntToDouble(Register src, DoubleRegister double_dst); | 383 void ConvertUnsignedIntToDouble(Register src, DoubleRegister dst); |
384 | 384 |
385 // Converts the integer (untagged smi) in |src| to | 385 // Converts the integer (untagged smi) in |src| to |
386 // a float, storing the result in |dst| | 386 // a float, storing the result in |dst| |
387 // Warning: The value in |int_scrach| will be changed in the process! | 387 void ConvertIntToFloat(Register src, DoubleRegister dst); |
388 void ConvertIntToFloat(const DoubleRegister dst, const Register src, | 388 |
389 const Register int_scratch); | 389 // Converts the unsigned integer (untagged smi) in |src| to |
| 390 // a float, storing the result in |dst| |
| 391 void ConvertUnsignedIntToFloat(Register src, DoubleRegister dst); |
390 | 392 |
391 #if V8_TARGET_ARCH_PPC64 | 393 #if V8_TARGET_ARCH_PPC64 |
392 void ConvertInt64ToFloat(Register src, DoubleRegister double_dst); | 394 void ConvertInt64ToFloat(Register src, DoubleRegister double_dst); |
393 void ConvertInt64ToDouble(Register src, DoubleRegister double_dst); | 395 void ConvertInt64ToDouble(Register src, DoubleRegister double_dst); |
394 void ConvertUnsignedInt64ToFloat(Register src, DoubleRegister double_dst); | 396 void ConvertUnsignedInt64ToFloat(Register src, DoubleRegister double_dst); |
395 void ConvertUnsignedInt64ToDouble(Register src, DoubleRegister double_dst); | 397 void ConvertUnsignedInt64ToDouble(Register src, DoubleRegister double_dst); |
396 #endif | 398 #endif |
397 | 399 |
398 // Converts the double_input to an integer. Note that, upon return, | 400 // Converts the double_input to an integer. Note that, upon return, |
399 // the contents of double_dst will also hold the fixed point representation. | 401 // the contents of double_dst will also hold the fixed point representation. |
(...skipping 1206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1606 #define ACCESS_MASM(masm) \ | 1608 #define ACCESS_MASM(masm) \ |
1607 masm->stop(__FILE_LINE__); \ | 1609 masm->stop(__FILE_LINE__); \ |
1608 masm-> | 1610 masm-> |
1609 #else | 1611 #else |
1610 #define ACCESS_MASM(masm) masm-> | 1612 #define ACCESS_MASM(masm) masm-> |
1611 #endif | 1613 #endif |
1612 } // namespace internal | 1614 } // namespace internal |
1613 } // namespace v8 | 1615 } // namespace v8 |
1614 | 1616 |
1615 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ | 1617 #endif // V8_PPC_MACRO_ASSEMBLER_PPC_H_ |
OLD | NEW |