< prev index next >

src/hotspot/cpu/riscv/c2_MacroAssembler_riscv.hpp

Print this page

 29 // C2_MacroAssembler contains high-level macros for C2
 30 
 31  private:
 32   // Return true if the phase output is in the scratch emit size mode.
 33   virtual bool in_scratch_emit_size() override;
 34 
 35   void element_compare(Register r1, Register r2,
 36                        Register result, Register cnt,
 37                        Register tmp1, Register tmp2,
 38                        VectorRegister vr1, VectorRegister vr2,
 39                        VectorRegister vrs,
 40                        bool is_latin, Label& DONE, Assembler::LMUL lmul);
 41 
 42   void compress_bits_v(Register dst, Register src, Register mask, bool is_long);
 43   void expand_bits_v(Register dst, Register src, Register mask, bool is_long);
 44 
 45  public:
 46   // Code used by cmpFastLock and cmpFastUnlock mach instructions in .ad file.
 47   void fast_lock(Register object, Register box, Register tmp1, Register tmp2, Register tmp3);
 48   void fast_unlock(Register object, Register box, Register tmp1, Register tmp2);

 49   // Code used by cmpFastLockLightweight and cmpFastUnlockLightweight mach instructions in .ad file.
 50   void fast_lock_lightweight(Register object, Register box, Register tmp1, Register tmp2, Register tmp3);
 51   void fast_unlock_lightweight(Register object, Register box, Register tmp1, Register tmp2, Register tmp3);


 52 
 53   void string_compare(Register str1, Register str2,
 54                       Register cnt1, Register cnt2, Register result,
 55                       Register tmp1, Register tmp2, Register tmp3,
 56                       int ae);
 57 
 58   void string_indexof_char_short(Register str1, Register cnt1,
 59                                  Register ch, Register result,
 60                                  bool isL);
 61 
 62   void string_indexof_char(Register str1, Register cnt1,
 63                            Register ch, Register result,
 64                            Register tmp1, Register tmp2,
 65                            Register tmp3, Register tmp4,
 66                            bool isL);
 67 
 68   void string_indexof(Register str1, Register str2,
 69                       Register cnt1, Register cnt2,
 70                       Register tmp1, Register tmp2,
 71                       Register tmp3, Register tmp4,

 29 // C2_MacroAssembler contains high-level macros for C2
 30 
 31  private:
 32   // Return true if the phase output is in the scratch emit size mode.
 33   virtual bool in_scratch_emit_size() override;
 34 
 35   void element_compare(Register r1, Register r2,
 36                        Register result, Register cnt,
 37                        Register tmp1, Register tmp2,
 38                        VectorRegister vr1, VectorRegister vr2,
 39                        VectorRegister vrs,
 40                        bool is_latin, Label& DONE, Assembler::LMUL lmul);
 41 
 42   void compress_bits_v(Register dst, Register src, Register mask, bool is_long);
 43   void expand_bits_v(Register dst, Register src, Register mask, bool is_long);
 44 
 45  public:
 46   // Code used by cmpFastLock and cmpFastUnlock mach instructions in .ad file.
 47   void fast_lock(Register object, Register box, Register tmp1, Register tmp2, Register tmp3);
 48   void fast_unlock(Register object, Register box, Register tmp1, Register tmp2);
 49 
 50   // Code used by cmpFastLockLightweight and cmpFastUnlockLightweight mach instructions in .ad file.
 51   void fast_lock_lightweight(Register object, Register box,
 52                              Register tmp1, Register tmp2, Register tmp3, Register tmp4);
 53   void fast_unlock_lightweight(Register object, Register box,
 54                                Register tmp1, Register tmp2, Register tmp3);
 55 
 56   void string_compare(Register str1, Register str2,
 57                       Register cnt1, Register cnt2, Register result,
 58                       Register tmp1, Register tmp2, Register tmp3,
 59                       int ae);
 60 
 61   void string_indexof_char_short(Register str1, Register cnt1,
 62                                  Register ch, Register result,
 63                                  bool isL);
 64 
 65   void string_indexof_char(Register str1, Register cnt1,
 66                            Register ch, Register result,
 67                            Register tmp1, Register tmp2,
 68                            Register tmp3, Register tmp4,
 69                            bool isL);
 70 
 71   void string_indexof(Register str1, Register str2,
 72                       Register cnt1, Register cnt2,
 73                       Register tmp1, Register tmp2,
 74                       Register tmp3, Register tmp4,
< prev index next >