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 | 10 |
(...skipping 770 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
781 | 781 |
782 // Return the address in the constant pool of the code target address used by | 782 // Return the address in the constant pool of the code target address used by |
783 // the branch/call instruction at pc. | 783 // the branch/call instruction at pc. |
784 inline static Address target_pointer_address_at(Address pc); | 784 inline static Address target_pointer_address_at(Address pc); |
785 | 785 |
786 // Read/Modify the code target address in the branch/call instruction at pc. | 786 // Read/Modify the code target address in the branch/call instruction at pc. |
787 inline static Address target_address_at(Address pc, | 787 inline static Address target_address_at(Address pc, |
788 ConstantPoolArray* constant_pool); | 788 ConstantPoolArray* constant_pool); |
789 inline static void set_target_address_at(Address pc, | 789 inline static void set_target_address_at(Address pc, |
790 ConstantPoolArray* constant_pool, | 790 ConstantPoolArray* constant_pool, |
791 Address target); | 791 Address target, |
| 792 ICacheFlushMode icache_flush_mode = |
| 793 FLUSH_ICACHE_IF_NEEDED); |
792 static inline Address target_address_at(Address pc, Code* code); | 794 static inline Address target_address_at(Address pc, Code* code); |
793 static inline void set_target_address_at(Address pc, | 795 static inline void set_target_address_at(Address pc, |
794 Code* code, | 796 Code* code, |
795 Address target); | 797 Address target, |
| 798 ICacheFlushMode icache_flush_mode = |
| 799 FLUSH_ICACHE_IF_NEEDED); |
796 | 800 |
797 // Return the code target address at a call site from the return address of | 801 // Return the code target address at a call site from the return address of |
798 // that call in the instruction stream. | 802 // that call in the instruction stream. |
799 inline static Address target_address_from_return_address(Address pc); | 803 inline static Address target_address_from_return_address(Address pc); |
800 | 804 |
801 // Given the address of the beginning of a call, return the address in the | 805 // Given the address of the beginning of a call, return the address in the |
802 // instruction stream that call will return from. | 806 // instruction stream that call will return from. |
803 inline static Address return_address_from_call_start(Address pc); | 807 inline static Address return_address_from_call_start(Address pc); |
804 | 808 |
805 // This sets the branch destination (which is in the constant pool on ARM). | 809 // This sets the branch destination (which is in the constant pool on ARM). |
(...skipping 1427 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2233 class EnsureSpace BASE_EMBEDDED { | 2237 class EnsureSpace BASE_EMBEDDED { |
2234 public: | 2238 public: |
2235 explicit EnsureSpace(Assembler* assembler) { | 2239 explicit EnsureSpace(Assembler* assembler) { |
2236 assembler->CheckBufferSpace(); | 2240 assembler->CheckBufferSpace(); |
2237 } | 2241 } |
2238 }; | 2242 }; |
2239 | 2243 |
2240 } } // namespace v8::internal | 2244 } } // namespace v8::internal |
2241 | 2245 |
2242 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ | 2246 #endif // V8_ARM64_ASSEMBLER_ARM64_H_ |
OLD | NEW |