< prev index next >

src/cpu/s390/vm/macroAssembler_s390.hpp

Print this page




 815 
 816   void encode_heap_oop(Register oop);
 817   void encode_heap_oop_not_null(Register oop);
 818 
 819   static int get_oop_base_pow2_offset(uint64_t oop_base);
 820   int  get_oop_base(Register Rbase, uint64_t oop_base);
 821   int  get_oop_base_complement(Register Rbase, uint64_t oop_base);
 822   void compare_heap_oop(Register Rop1, Address mem, bool maybeNULL);
 823   void compare_klass_ptr(Register Rop1, int64_t disp, Register Rbase, bool maybeNULL);
 824   void load_heap_oop(Register dest, const Address &a);
 825   void load_heap_oop(Register d, int64_t si16, Register s1);
 826   void load_heap_oop_not_null(Register d, int64_t si16, Register s1);
 827   void store_heap_oop(Register Roop, RegisterOrConstant offset, Register base);
 828   void store_heap_oop_not_null(Register Roop, RegisterOrConstant offset, Register base);
 829   void store_heap_oop_null(Register zero, RegisterOrConstant offset, Register base);
 830   void oop_encoder(Register Rdst, Register Rsrc, bool maybeNULL,
 831                    Register Rbase = Z_R1, int pow2_offset = -1, bool only32bitValid = false);
 832   void oop_decoder(Register Rdst, Register Rsrc, bool maybeNULL,
 833                    Register Rbase = Z_R1, int pow2_offset = -1);
 834 

 835   void load_mirror(Register mirror, Register method);
 836 
 837   //--------------------------
 838   //---  perations on arrays.
 839   //--------------------------
 840   unsigned int Clear_Array(Register cnt_arg, Register base_pointer_arg, Register src_addr, Register src_len);
 841   unsigned int Clear_Array_Const(long cnt, Register base);
 842   unsigned int Clear_Array_Const_Big(long cnt, Register base_pointer_arg, Register src_addr, Register src_len);
 843   unsigned int CopyRawMemory_AlignedDisjoint(Register src_reg, Register dst_reg,
 844                                              Register cnt_reg,
 845                                              Register tmp1_reg, Register tmp2_reg);
 846 
 847   //-------------------------------------------
 848   // Special String Intrinsics Implementation.
 849   //-------------------------------------------
 850   // Intrinsics for CompactStrings
 851   // Compress char[] to byte[]. odd_reg contains cnt. tmp3 is only needed for precise behavior in failure case. Kills dst.
 852   unsigned int string_compress(Register result, Register src, Register dst, Register odd_reg,
 853                                Register even_reg, Register tmp, Register tmp2 = noreg);
 854 




 815 
 816   void encode_heap_oop(Register oop);
 817   void encode_heap_oop_not_null(Register oop);
 818 
 819   static int get_oop_base_pow2_offset(uint64_t oop_base);
 820   int  get_oop_base(Register Rbase, uint64_t oop_base);
 821   int  get_oop_base_complement(Register Rbase, uint64_t oop_base);
 822   void compare_heap_oop(Register Rop1, Address mem, bool maybeNULL);
 823   void compare_klass_ptr(Register Rop1, int64_t disp, Register Rbase, bool maybeNULL);
 824   void load_heap_oop(Register dest, const Address &a);
 825   void load_heap_oop(Register d, int64_t si16, Register s1);
 826   void load_heap_oop_not_null(Register d, int64_t si16, Register s1);
 827   void store_heap_oop(Register Roop, RegisterOrConstant offset, Register base);
 828   void store_heap_oop_not_null(Register Roop, RegisterOrConstant offset, Register base);
 829   void store_heap_oop_null(Register zero, RegisterOrConstant offset, Register base);
 830   void oop_encoder(Register Rdst, Register Rsrc, bool maybeNULL,
 831                    Register Rbase = Z_R1, int pow2_offset = -1, bool only32bitValid = false);
 832   void oop_decoder(Register Rdst, Register Rsrc, bool maybeNULL,
 833                    Register Rbase = Z_R1, int pow2_offset = -1);
 834 
 835   void resolve_oop_handle(Register result);
 836   void load_mirror(Register mirror, Register method);
 837 
 838   //--------------------------
 839   //---  perations on arrays.
 840   //--------------------------
 841   unsigned int Clear_Array(Register cnt_arg, Register base_pointer_arg, Register src_addr, Register src_len);
 842   unsigned int Clear_Array_Const(long cnt, Register base);
 843   unsigned int Clear_Array_Const_Big(long cnt, Register base_pointer_arg, Register src_addr, Register src_len);
 844   unsigned int CopyRawMemory_AlignedDisjoint(Register src_reg, Register dst_reg,
 845                                              Register cnt_reg,
 846                                              Register tmp1_reg, Register tmp2_reg);
 847 
 848   //-------------------------------------------
 849   // Special String Intrinsics Implementation.
 850   //-------------------------------------------
 851   // Intrinsics for CompactStrings
 852   // Compress char[] to byte[]. odd_reg contains cnt. tmp3 is only needed for precise behavior in failure case. Kills dst.
 853   unsigned int string_compress(Register result, Register src, Register dst, Register odd_reg,
 854                                Register even_reg, Register tmp, Register tmp2 = noreg);
 855 


< prev index next >