OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
6 // are met: | 6 // are met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 806 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
817 // blx ip | 817 // blx ip |
818 static const int kPatchDebugBreakSlotAddressOffset = 0 * kInstrSize; | 818 static const int kPatchDebugBreakSlotAddressOffset = 0 * kInstrSize; |
819 | 819 |
820 static const int kPatchDebugBreakSlotReturnOffset = 2 * kInstrSize; | 820 static const int kPatchDebugBreakSlotReturnOffset = 2 * kInstrSize; |
821 | 821 |
822 // Difference between address of current opcode and value read from pc | 822 // Difference between address of current opcode and value read from pc |
823 // register. | 823 // register. |
824 static const int kPcLoadDelta = 8; | 824 static const int kPcLoadDelta = 8; |
825 | 825 |
826 static const int kJSReturnSequenceInstructions = 4; | 826 static const int kJSReturnSequenceInstructions = 4; |
| 827 static const int kJSReturnSequenceLength = |
| 828 kJSReturnSequenceInstructions * kInstrSize; |
827 static const int kDebugBreakSlotInstructions = 3; | 829 static const int kDebugBreakSlotInstructions = 3; |
828 static const int kDebugBreakSlotLength = | 830 static const int kDebugBreakSlotLength = |
829 kDebugBreakSlotInstructions * kInstrSize; | 831 kDebugBreakSlotInstructions * kInstrSize; |
830 | 832 |
831 // --------------------------------------------------------------------------- | 833 // --------------------------------------------------------------------------- |
832 // Code generation | 834 // Code generation |
833 | 835 |
834 // Insert the smallest number of nop instructions | 836 // Insert the smallest number of nop instructions |
835 // possible to align the pc offset to a multiple | 837 // possible to align the pc offset to a multiple |
836 // of m. m must be a power of 2 (>= 4). | 838 // of m. m must be a power of 2 (>= 4). |
(...skipping 845 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1682 public: | 1684 public: |
1683 explicit EnsureSpace(Assembler* assembler) { | 1685 explicit EnsureSpace(Assembler* assembler) { |
1684 assembler->CheckBuffer(); | 1686 assembler->CheckBuffer(); |
1685 } | 1687 } |
1686 }; | 1688 }; |
1687 | 1689 |
1688 | 1690 |
1689 } } // namespace v8::internal | 1691 } } // namespace v8::internal |
1690 | 1692 |
1691 #endif // V8_ARM_ASSEMBLER_ARM_H_ | 1693 #endif // V8_ARM_ASSEMBLER_ARM_H_ |
OLD | NEW |