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 <list> | 8 #include <list> |
9 #include <map> | 9 #include <map> |
10 #include <vector> | 10 #include <vector> |
(...skipping 883 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
894 inline static Address return_address_from_call_start(Address pc); | 894 inline static Address return_address_from_call_start(Address pc); |
895 | 895 |
896 // Return the code target address of the patch debug break slot | 896 // Return the code target address of the patch debug break slot |
897 inline static Address break_address_from_return_address(Address pc); | 897 inline static Address break_address_from_return_address(Address pc); |
898 | 898 |
899 // This sets the branch destination (which is in the constant pool on ARM). | 899 // This sets the branch destination (which is in the constant pool on ARM). |
900 // This is for calls and branches within generated code. | 900 // This is for calls and branches within generated code. |
901 inline static void deserialization_set_special_target_at( | 901 inline static void deserialization_set_special_target_at( |
902 Address constant_pool_entry, Code* code, Address target); | 902 Address constant_pool_entry, Code* code, Address target); |
903 | 903 |
| 904 // This sets the internal reference at the pc. |
| 905 inline static void deserialization_set_target_internal_reference_at( |
| 906 Address pc, Address target); |
| 907 |
904 // All addresses in the constant pool are the same size as pointers. | 908 // All addresses in the constant pool are the same size as pointers. |
905 static const int kSpecialTargetSize = kPointerSize; | 909 static const int kSpecialTargetSize = kPointerSize; |
906 | 910 |
907 // The sizes of the call sequences emitted by MacroAssembler::Call. | 911 // The sizes of the call sequences emitted by MacroAssembler::Call. |
908 // Wherever possible, use MacroAssembler::CallSize instead of these constants, | 912 // Wherever possible, use MacroAssembler::CallSize instead of these constants, |
909 // as it will choose the correct value for a given relocation mode. | 913 // as it will choose the correct value for a given relocation mode. |
910 // | 914 // |
911 // Without relocation: | 915 // Without relocation: |
912 // movz temp, #(target & 0x000000000000ffff) | 916 // movz temp, #(target & 0x000000000000ffff) |
913 // movk temp, #(target & 0x00000000ffff0000) | 917 // movk temp, #(target & 0x00000000ffff0000) |
(...skipping 1393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2307 class EnsureSpace BASE_EMBEDDED { | 2311 class EnsureSpace BASE_EMBEDDED { |
2308 public: | 2312 public: |
2309 explicit EnsureSpace(Assembler* assembler) { | 2313 explicit EnsureSpace(Assembler* assembler) { |
2310 assembler->CheckBufferSpace(); | 2314 assembler->CheckBufferSpace(); |
2311 } | 2315 } |
2312 }; | 2316 }; |
2313 | 2317 |
2314 } } // namespace v8::internal | 2318 } } // namespace v8::internal |
2315 | 2319 |
2316 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ | 2320 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ |
OLD | NEW |