OLD | NEW |
1 // Copyright 2006-2009 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2009 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 486 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
497 ObjectToDoubleFlags flags = NO_OBJECT_TO_DOUBLE_FLAGS); | 497 ObjectToDoubleFlags flags = NO_OBJECT_TO_DOUBLE_FLAGS); |
498 | 498 |
499 // Load the value of a smi object into a VFP double register. The register | 499 // Load the value of a smi object into a VFP double register. The register |
500 // scratch1 can be the same register as smi in which case smi will hold the | 500 // scratch1 can be the same register as smi in which case smi will hold the |
501 // untagged value afterwards. | 501 // untagged value afterwards. |
502 void SmiToDoubleVFPRegister(Register smi, | 502 void SmiToDoubleVFPRegister(Register smi, |
503 DwVfpRegister value, | 503 DwVfpRegister value, |
504 Register scratch1, | 504 Register scratch1, |
505 SwVfpRegister scratch2); | 505 SwVfpRegister scratch2); |
506 | 506 |
| 507 // Convert the HeapNumber pointed to by source to a 32bits signed integer |
| 508 // dest. If the HeapNumber does not fit into a 32bits signed integer branch |
| 509 // to not_int32 label. |
| 510 void ConvertToInt32(Register source, |
| 511 Register dest, |
| 512 Register scratch, |
| 513 Register scratch2, |
| 514 Label *not_int32); |
| 515 |
507 // Count leading zeros in a 32 bit word. On ARM5 and later it uses the clz | 516 // Count leading zeros in a 32 bit word. On ARM5 and later it uses the clz |
508 // instruction. On pre-ARM5 hardware this routine gives the wrong answer | 517 // instruction. On pre-ARM5 hardware this routine gives the wrong answer |
509 // for 0 (31 instead of 32). Source and scratch can be the same in which case | 518 // for 0 (31 instead of 32). Source and scratch can be the same in which case |
510 // the source is clobbered. Source and zeros can also be the same in which | 519 // the source is clobbered. Source and zeros can also be the same in which |
511 // case scratch should be a different register. | 520 // case scratch should be a different register. |
512 void CountLeadingZeros(Register zeros, | 521 void CountLeadingZeros(Register zeros, |
513 Register source, | 522 Register source, |
514 Register scratch); | 523 Register scratch); |
515 | 524 |
516 // --------------------------------------------------------------------------- | 525 // --------------------------------------------------------------------------- |
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
727 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 736 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
728 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 737 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
729 #else | 738 #else |
730 #define ACCESS_MASM(masm) masm-> | 739 #define ACCESS_MASM(masm) masm-> |
731 #endif | 740 #endif |
732 | 741 |
733 | 742 |
734 } } // namespace v8::internal | 743 } } // namespace v8::internal |
735 | 744 |
736 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 745 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
OLD | NEW |