< prev index next >

src/hotspot/cpu/aarch64/macroAssembler_aarch64.hpp

Print this page

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

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