< prev index next >

src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp

Print this page

 928   void load_heap_oop_not_null(Register dst, Address src, Register tmp1,
 929                               Register tmp2, DecoratorSet decorators = 0);
 930   void store_heap_oop(Address dst, Register val, Register tmp1,
 931                       Register tmp2, Register tmp3, DecoratorSet decorators = 0);
 932 
 933   // currently unimplemented
 934   // Used for storing null. All other oop constants should be
 935   // stored using routines that take a jobject.
 936   void store_heap_oop_null(Address dst);
 937 
 938   void store_klass_gap(Register dst, Register src);
 939 
 940   // This dummy is to prevent a call to store_heap_oop from
 941   // converting a zero (like null) into a Register by giving
 942   // the compiler two choices it can't resolve
 943 
 944   void store_heap_oop(Address dst, void* dummy);
 945 
 946   void encode_heap_oop(Register d, Register s);
 947   void encode_heap_oop(Register r) { encode_heap_oop(r, r); }
 948   void decode_heap_oop(Register d, Register s);
 949   void decode_heap_oop(Register r) { decode_heap_oop(r, r); }
 950   void encode_heap_oop_not_null(Register r);
 951   void decode_heap_oop_not_null(Register r);
 952   void encode_heap_oop_not_null(Register dst, Register src);
 953   void decode_heap_oop_not_null(Register dst, Register src);
 954 
 955   void set_narrow_oop(Register dst, jobject obj);
 956 
 957   void decode_klass_not_null_for_aot(Register dst, Register src);
 958   void encode_klass_not_null_for_aot(Register dst, Register src);
 959   void encode_klass_not_null(Register r);
 960   void decode_klass_not_null(Register r);
 961   void encode_klass_not_null(Register dst, Register src);
 962   void decode_klass_not_null(Register dst, Register src);
 963 
 964   void set_narrow_klass(Register dst, Klass* k);
 965 
 966   // if heap base register is used - reinit it with the correct value
 967   void reinit_heapbase();
 968 
 969   DEBUG_ONLY(void verify_heapbase(const char* msg);)

 928   void load_heap_oop_not_null(Register dst, Address src, Register tmp1,
 929                               Register tmp2, DecoratorSet decorators = 0);
 930   void store_heap_oop(Address dst, Register val, Register tmp1,
 931                       Register tmp2, Register tmp3, DecoratorSet decorators = 0);
 932 
 933   // currently unimplemented
 934   // Used for storing null. All other oop constants should be
 935   // stored using routines that take a jobject.
 936   void store_heap_oop_null(Address dst);
 937 
 938   void store_klass_gap(Register dst, Register src);
 939 
 940   // This dummy is to prevent a call to store_heap_oop from
 941   // converting a zero (like null) into a Register by giving
 942   // the compiler two choices it can't resolve
 943 
 944   void store_heap_oop(Address dst, void* dummy);
 945 
 946   void encode_heap_oop(Register d, Register s);
 947   void encode_heap_oop(Register r) { encode_heap_oop(r, r); }
 948   void decode_heap_oop(Register d, Register s, Label* L_null_target = nullptr);
 949   void decode_heap_oop(Register r, Label* L_null_target = nullptr) { decode_heap_oop(r, r, L_null_target); }
 950   void encode_heap_oop_not_null(Register r);
 951   void decode_heap_oop_not_null(Register r);
 952   void encode_heap_oop_not_null(Register dst, Register src);
 953   void decode_heap_oop_not_null(Register dst, Register src);
 954 
 955   void set_narrow_oop(Register dst, jobject obj);
 956 
 957   void decode_klass_not_null_for_aot(Register dst, Register src);
 958   void encode_klass_not_null_for_aot(Register dst, Register src);
 959   void encode_klass_not_null(Register r);
 960   void decode_klass_not_null(Register r);
 961   void encode_klass_not_null(Register dst, Register src);
 962   void decode_klass_not_null(Register dst, Register src);
 963 
 964   void set_narrow_klass(Register dst, Klass* k);
 965 
 966   // if heap base register is used - reinit it with the correct value
 967   void reinit_heapbase();
 968 
 969   DEBUG_ONLY(void verify_heapbase(const char* msg);)
< prev index next >