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 457 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
468 | 468 |
469 inline void BranchOnNotSmi(Register value, Label* not_smi_label) { | 469 inline void BranchOnNotSmi(Register value, Label* not_smi_label) { |
470 tst(value, Operand(kSmiTagMask)); | 470 tst(value, Operand(kSmiTagMask)); |
471 b(ne, not_smi_label); | 471 b(ne, not_smi_label); |
472 } | 472 } |
473 | 473 |
474 // Generates code for reporting that an illegal operation has | 474 // Generates code for reporting that an illegal operation has |
475 // occurred. | 475 // occurred. |
476 void IllegalOperation(int num_arguments); | 476 void IllegalOperation(int num_arguments); |
477 | 477 |
| 478 // Picks out an array index from the hash field. |
| 479 // Register use: |
| 480 // hash - holds the index's hash. Clobbered. |
| 481 // index - holds the overwritten index on exit. |
| 482 void IndexFromHash(Register hash, Register index); |
| 483 |
478 // Get the number of least significant bits from a register | 484 // Get the number of least significant bits from a register |
479 void GetLeastBitsFromSmi(Register dst, Register src, int num_least_bits); | 485 void GetLeastBitsFromSmi(Register dst, Register src, int num_least_bits); |
480 | 486 |
481 // Uses VFP instructions to Convert a Smi to a double. | 487 // Uses VFP instructions to Convert a Smi to a double. |
482 void IntegerToDoubleConversionWithVFP3(Register inReg, | 488 void IntegerToDoubleConversionWithVFP3(Register inReg, |
483 Register outHighReg, | 489 Register outHighReg, |
484 Register outLowReg); | 490 Register outLowReg); |
485 | 491 |
486 // Load the value of a number object into a VFP double register. If the object | 492 // Load the value of a number object into a VFP double register. If the object |
487 // is not a number a jump to the label not_number is performed and the VFP | 493 // is not a number a jump to the label not_number is performed and the VFP |
(...skipping 239 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
727 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) | 733 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) |
728 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> | 734 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> |
729 #else | 735 #else |
730 #define ACCESS_MASM(masm) masm-> | 736 #define ACCESS_MASM(masm) masm-> |
731 #endif | 737 #endif |
732 | 738 |
733 | 739 |
734 } } // namespace v8::internal | 740 } } // namespace v8::internal |
735 | 741 |
736 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ | 742 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ |
OLD | NEW |