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 854 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
865 // RelocInfo and pools ------------------------------------------------------ | 865 // RelocInfo and pools ------------------------------------------------------ |
866 | 866 |
867 // Record relocation information for current pc_. | 867 // Record relocation information for current pc_. |
868 void RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data = 0); | 868 void RecordRelocInfo(RelocInfo::Mode rmode, intptr_t data = 0); |
869 | 869 |
870 // Return the address in the constant pool of the code target address used by | 870 // Return the address in the constant pool of the code target address used by |
871 // the branch/call instruction at pc. | 871 // the branch/call instruction at pc. |
872 inline static Address target_pointer_address_at(Address pc); | 872 inline static Address target_pointer_address_at(Address pc); |
873 | 873 |
874 // Read/Modify the code target address in the branch/call instruction at pc. | 874 // Read/Modify the code target address in the branch/call instruction at pc. |
875 inline static Address target_address_at(Address pc, | 875 inline static Address target_address_at(Address pc, Address constant_pool); |
876 ConstantPoolArray* constant_pool); | 876 inline static void set_target_address_at( |
877 inline static void set_target_address_at(Address pc, | 877 Address pc, Address constant_pool, Address target, |
878 ConstantPoolArray* constant_pool, | 878 ICacheFlushMode icache_flush_mode = FLUSH_ICACHE_IF_NEEDED); |
879 Address target, | |
880 ICacheFlushMode icache_flush_mode = | |
881 FLUSH_ICACHE_IF_NEEDED); | |
882 static inline Address target_address_at(Address pc, Code* code); | 879 static inline Address target_address_at(Address pc, Code* code); |
883 static inline void set_target_address_at(Address pc, | 880 static inline void set_target_address_at(Address pc, |
884 Code* code, | 881 Code* code, |
885 Address target, | 882 Address target, |
886 ICacheFlushMode icache_flush_mode = | 883 ICacheFlushMode icache_flush_mode = |
887 FLUSH_ICACHE_IF_NEEDED); | 884 FLUSH_ICACHE_IF_NEEDED); |
888 | 885 |
889 // Return the code target address at a call site from the return address of | 886 // Return the code target address at a call site from the return address of |
890 // that call in the instruction stream. | 887 // that call in the instruction stream. |
891 inline static Address target_address_from_return_address(Address pc); | 888 inline static Address target_address_from_return_address(Address pc); |
(...skipping 1428 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2320 class EnsureSpace BASE_EMBEDDED { | 2317 class EnsureSpace BASE_EMBEDDED { |
2321 public: | 2318 public: |
2322 explicit EnsureSpace(Assembler* assembler) { | 2319 explicit EnsureSpace(Assembler* assembler) { |
2323 assembler->CheckBufferSpace(); | 2320 assembler->CheckBufferSpace(); |
2324 } | 2321 } |
2325 }; | 2322 }; |
2326 | 2323 |
2327 } } // namespace v8::internal | 2324 } } // namespace v8::internal |
2328 | 2325 |
2329 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ | 2326 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ |
OLD | NEW |