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 869 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
880 FLUSH_ICACHE_IF_NEEDED); | 880 FLUSH_ICACHE_IF_NEEDED); |
881 | 881 |
882 // Return the code target address at a call site from the return address of | 882 // Return the code target address at a call site from the return address of |
883 // that call in the instruction stream. | 883 // that call in the instruction stream. |
884 inline static Address target_address_from_return_address(Address pc); | 884 inline static Address target_address_from_return_address(Address pc); |
885 | 885 |
886 // Given the address of the beginning of a call, return the address in the | 886 // Given the address of the beginning of a call, return the address in the |
887 // instruction stream that call will return from. | 887 // instruction stream that call will return from. |
888 inline static Address return_address_from_call_start(Address pc); | 888 inline static Address return_address_from_call_start(Address pc); |
889 | 889 |
| 890 // Return the code target address of the patch debug break slot |
| 891 inline static Address break_address_from_return_address(Address pc); |
| 892 |
890 // This sets the branch destination (which is in the constant pool on ARM). | 893 // This sets the branch destination (which is in the constant pool on ARM). |
891 // This is for calls and branches within generated code. | 894 // This is for calls and branches within generated code. |
892 inline static void deserialization_set_special_target_at( | 895 inline static void deserialization_set_special_target_at( |
893 Address constant_pool_entry, Code* code, Address target); | 896 Address constant_pool_entry, Code* code, Address target); |
894 | 897 |
895 // All addresses in the constant pool are the same size as pointers. | 898 // All addresses in the constant pool are the same size as pointers. |
896 static const int kSpecialTargetSize = kPointerSize; | 899 static const int kSpecialTargetSize = kPointerSize; |
897 | 900 |
898 // The sizes of the call sequences emitted by MacroAssembler::Call. | 901 // The sizes of the call sequences emitted by MacroAssembler::Call. |
899 // Wherever possible, use MacroAssembler::CallSize instead of these constants, | 902 // Wherever possible, use MacroAssembler::CallSize instead of these constants, |
(...skipping 1396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2296 class EnsureSpace BASE_EMBEDDED { | 2299 class EnsureSpace BASE_EMBEDDED { |
2297 public: | 2300 public: |
2298 explicit EnsureSpace(Assembler* assembler) { | 2301 explicit EnsureSpace(Assembler* assembler) { |
2299 assembler->CheckBufferSpace(); | 2302 assembler->CheckBufferSpace(); |
2300 } | 2303 } |
2301 }; | 2304 }; |
2302 | 2305 |
2303 } } // namespace v8::internal | 2306 } } // namespace v8::internal |
2304 | 2307 |
2305 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ | 2308 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ |
OLD | NEW |