src/cpu/aarch64/vm/macroAssembler_aarch64.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Sdiff src/cpu/aarch64/vm

src/cpu/aarch64/vm/macroAssembler_aarch64.hpp

Print this page




 963   address trampoline_call(Address entry, CodeBuffer *cbuf = NULL);
 964 
 965   static bool far_branches() {
 966     return ReservedCodeCacheSize > branch_range;
 967   }
 968 
 969   // Jumps that can reach anywhere in the code cache.
 970   // Trashes tmp.
 971   void far_call(Address entry, CodeBuffer *cbuf = NULL, Register tmp = rscratch1);
 972   void far_jump(Address entry, CodeBuffer *cbuf = NULL, Register tmp = rscratch1);
 973 
 974   static int far_branch_size() {
 975     if (far_branches()) {
 976       return 3 * 4;  // adrp, add, br
 977     } else {
 978       return 4;
 979     }
 980   }
 981 
 982   // Emit the CompiledIC call idiom
 983   address ic_call(address entry);
 984 
 985 public:
 986 
 987   // Data
 988 
 989   void mov_metadata(Register dst, Metadata* obj);
 990   Address allocate_metadata_address(Metadata* obj);
 991   Address constant_oop_address(jobject obj);
 992 
 993   void movoop(Register dst, jobject obj, bool immediate = false);
 994 
 995   // CRC32 code for java.util.zip.CRC32::updateBytes() instrinsic.
 996   void kernel_crc32(Register crc, Register buf, Register len,
 997         Register table0, Register table1, Register table2, Register table3,
 998         Register tmp, Register tmp2, Register tmp3);
 999   // CRC32 code for java.util.zip.CRC32C::updateBytes() instrinsic.
1000   void kernel_crc32c(Register crc, Register buf, Register len,
1001         Register table0, Register table1, Register table2, Register table3,
1002         Register tmp, Register tmp2, Register tmp3);
1003 




 963   address trampoline_call(Address entry, CodeBuffer *cbuf = NULL);
 964 
 965   static bool far_branches() {
 966     return ReservedCodeCacheSize > branch_range;
 967   }
 968 
 969   // Jumps that can reach anywhere in the code cache.
 970   // Trashes tmp.
 971   void far_call(Address entry, CodeBuffer *cbuf = NULL, Register tmp = rscratch1);
 972   void far_jump(Address entry, CodeBuffer *cbuf = NULL, Register tmp = rscratch1);
 973 
 974   static int far_branch_size() {
 975     if (far_branches()) {
 976       return 3 * 4;  // adrp, add, br
 977     } else {
 978       return 4;
 979     }
 980   }
 981 
 982   // Emit the CompiledIC call idiom
 983   address ic_call(address entry, jint method_index = 0);
 984 
 985 public:
 986 
 987   // Data
 988 
 989   void mov_metadata(Register dst, Metadata* obj);
 990   Address allocate_metadata_address(Metadata* obj);
 991   Address constant_oop_address(jobject obj);
 992 
 993   void movoop(Register dst, jobject obj, bool immediate = false);
 994 
 995   // CRC32 code for java.util.zip.CRC32::updateBytes() instrinsic.
 996   void kernel_crc32(Register crc, Register buf, Register len,
 997         Register table0, Register table1, Register table2, Register table3,
 998         Register tmp, Register tmp2, Register tmp3);
 999   // CRC32 code for java.util.zip.CRC32C::updateBytes() instrinsic.
1000   void kernel_crc32c(Register crc, Register buf, Register len,
1001         Register table0, Register table1, Register table2, Register table3,
1002         Register tmp, Register tmp2, Register tmp3);
1003 


src/cpu/aarch64/vm/macroAssembler_aarch64.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File