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 453 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
464 // Get the number of least significant bits from a register | 464 // Get the number of least significant bits from a register |
465 void GetLeastBitsFromSmi(Register dst, Register src, int num_least_bits); | 465 void GetLeastBitsFromSmi(Register dst, Register src, int num_least_bits); |
466 | 466 |
467 // Uses VFP instructions to Convert a Smi to a double. | 467 // Uses VFP instructions to Convert a Smi to a double. |
468 void IntegerToDoubleConversionWithVFP3(Register inReg, | 468 void IntegerToDoubleConversionWithVFP3(Register inReg, |
469 Register outHighReg, | 469 Register outHighReg, |
470 Register outLowReg); | 470 Register outLowReg); |
471 | 471 |
472 // Count leading zeros in a 32 bit word. On ARM5 and later it uses the clz | 472 // Count leading zeros in a 32 bit word. On ARM5 and later it uses the clz |
473 // instruction. On pre-ARM5 hardware this routine gives the wrong answer | 473 // instruction. On pre-ARM5 hardware this routine gives the wrong answer |
474 // for 0 (31 instead of 32). | 474 // for 0 (31 instead of 32). Source and scratch can be the same in which case |
475 void CountLeadingZeros(Register source, | 475 // the source is clobbered. Source and zeros can also be the same in which |
476 Register scratch, | 476 // case scratch should be a different register. |
477 Register zeros); | 477 void CountLeadingZeros(Register zeros, |
| 478 Register source, |
| 479 Register scratch); |
478 | 480 |
479 // --------------------------------------------------------------------------- | 481 // --------------------------------------------------------------------------- |
480 // Runtime calls | 482 // Runtime calls |
481 | 483 |
482 // Call a code stub. | 484 // Call a code stub. |
483 void CallStub(CodeStub* stub, Condition cond = al); | 485 void CallStub(CodeStub* stub, Condition cond = al); |
484 | 486 |
485 // Call a code stub. | 487 // Call a code stub. |
486 void TailCallStub(CodeStub* stub, Condition cond = al); | 488 void TailCallStub(CodeStub* stub, Condition cond = al); |
487 | 489 |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
683 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 685 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
684 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 686 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
685 #else | 687 #else |
686 #define ACCESS_MASM(masm) masm-> | 688 #define ACCESS_MASM(masm) masm-> |
687 #endif | 689 #endif |
688 | 690 |
689 | 691 |
690 } } // namespace v8::internal | 692 } } // namespace v8::internal |
691 | 693 |
692 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 694 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
OLD | NEW |