OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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_ARM64_ASSEMBLER_ARM64_H_ | 5 #ifndef V8_ARM64_ASSEMBLER_ARM64_H_ |
6 #define V8_ARM64_ASSEMBLER_ARM64_H_ | 6 #define V8_ARM64_ASSEMBLER_ARM64_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 #include <list> | 9 #include <list> |
10 #include <map> | 10 #include <map> |
(...skipping 886 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
897 // Return the code target address of the patch debug break slot | 897 // Return the code target address of the patch debug break slot |
898 inline static Address break_address_from_return_address(Address pc); | 898 inline static Address break_address_from_return_address(Address pc); |
899 | 899 |
900 // This sets the branch destination (which is in the constant pool on ARM). | 900 // This sets the branch destination (which is in the constant pool on ARM). |
901 // This is for calls and branches within generated code. | 901 // This is for calls and branches within generated code. |
902 inline static void deserialization_set_special_target_at( | 902 inline static void deserialization_set_special_target_at( |
903 Address constant_pool_entry, Code* code, Address target); | 903 Address constant_pool_entry, Code* code, Address target); |
904 | 904 |
905 // This sets the internal reference at the pc. | 905 // This sets the internal reference at the pc. |
906 inline static void deserialization_set_target_internal_reference_at( | 906 inline static void deserialization_set_target_internal_reference_at( |
907 Address pc, Address target); | 907 Address pc, Address target, |
| 908 RelocInfo::Mode mode = RelocInfo::INTERNAL_REFERENCE); |
908 | 909 |
909 // All addresses in the constant pool are the same size as pointers. | 910 // All addresses in the constant pool are the same size as pointers. |
910 static const int kSpecialTargetSize = kPointerSize; | 911 static const int kSpecialTargetSize = kPointerSize; |
911 | 912 |
912 // The sizes of the call sequences emitted by MacroAssembler::Call. | 913 // The sizes of the call sequences emitted by MacroAssembler::Call. |
913 // Wherever possible, use MacroAssembler::CallSize instead of these constants, | 914 // Wherever possible, use MacroAssembler::CallSize instead of these constants, |
914 // as it will choose the correct value for a given relocation mode. | 915 // as it will choose the correct value for a given relocation mode. |
915 // | 916 // |
916 // Without relocation: | 917 // Without relocation: |
917 // movz temp, #(target & 0x000000000000ffff) | 918 // movz temp, #(target & 0x000000000000ffff) |
(...skipping 1401 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2319 class EnsureSpace BASE_EMBEDDED { | 2320 class EnsureSpace BASE_EMBEDDED { |
2320 public: | 2321 public: |
2321 explicit EnsureSpace(Assembler* assembler) { | 2322 explicit EnsureSpace(Assembler* assembler) { |
2322 assembler->CheckBufferSpace(); | 2323 assembler->CheckBufferSpace(); |
2323 } | 2324 } |
2324 }; | 2325 }; |
2325 | 2326 |
2326 } } // namespace v8::internal | 2327 } } // namespace v8::internal |
2327 | 2328 |
2328 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ | 2329 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ |
OLD | NEW |