< prev index next >

src/hotspot/cpu/x86/macroAssembler_x86.hpp

Print this page


1637   void vabsnegf(int opcode, XMMRegister dst, XMMRegister src, int vector_len, Register scr);
1638   void vextendbw(bool sign, XMMRegister dst, XMMRegister src, int vector_len);
1639   void vextendbw(bool sign, XMMRegister dst, XMMRegister src);
1640   void vshiftd(int opcode, XMMRegister dst, XMMRegister src);
1641   void vshiftd(int opcode, XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1642   void vshiftw(int opcode, XMMRegister dst, XMMRegister src);
1643   void vshiftw(int opcode, XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1644   void vshiftq(int opcode, XMMRegister dst, XMMRegister src);
1645   void vshiftq(int opcode, XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1646 #endif
1647 
1648   // C2 compiled method's prolog code.
1649   void verified_entry(Compile* C, int sp_inc = 0);
1650 
1651   enum RegState {
1652     reg_readonly,
1653     reg_writable,
1654     reg_written
1655   };
1656 
1657   void store_value_type_fields_to_buf(ciValueKlass* vk);
1658 
1659   // Unpack all value type arguments passed as oops
1660   void unpack_value_args(Compile* C, bool receiver_only);
1661   bool move_helper(VMReg from, VMReg to, BasicType bt, RegState reg_state[], int ret_off, int extra_stack_offset);
1662   bool unpack_value_helper(const GrowableArray<SigEntry>* sig, int& sig_index, VMReg from, VMRegPair* regs_to, int& to_index,
1663                            RegState reg_state[], int ret_off, int extra_stack_offset);
1664   bool pack_value_helper(const GrowableArray<SigEntry>* sig, int& sig_index, int vtarg_index,
1665                          VMReg to, VMRegPair* regs_from, int regs_from_count, int& from_index, RegState reg_state[],
1666                          int ret_off, int extra_stack_offset);
1667   void restore_stack(Compile* C);
1668 
1669   int shuffle_value_args(bool is_packing, bool receiver_only, int extra_stack_offset,
1670                          BasicType* sig_bt, const GrowableArray<SigEntry>* sig_cc,
1671                          int args_passed, int args_on_stack, VMRegPair* regs,
1672                          int args_passed_to, int args_on_stack_to, VMRegPair* regs_to);
1673   bool shuffle_value_args_spill(bool is_packing,  const GrowableArray<SigEntry>* sig_cc, int sig_cc_index,
1674                                 VMRegPair* regs_from, int from_index, int regs_from_count,
1675                                 RegState* reg_state, int sp_inc, int extra_stack_offset);
1676   VMReg spill_reg_for(VMReg reg);
1677 




1637   void vabsnegf(int opcode, XMMRegister dst, XMMRegister src, int vector_len, Register scr);
1638   void vextendbw(bool sign, XMMRegister dst, XMMRegister src, int vector_len);
1639   void vextendbw(bool sign, XMMRegister dst, XMMRegister src);
1640   void vshiftd(int opcode, XMMRegister dst, XMMRegister src);
1641   void vshiftd(int opcode, XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1642   void vshiftw(int opcode, XMMRegister dst, XMMRegister src);
1643   void vshiftw(int opcode, XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1644   void vshiftq(int opcode, XMMRegister dst, XMMRegister src);
1645   void vshiftq(int opcode, XMMRegister dst, XMMRegister nds, XMMRegister src, int vector_len);
1646 #endif
1647 
1648   // C2 compiled method's prolog code.
1649   void verified_entry(Compile* C, int sp_inc = 0);
1650 
1651   enum RegState {
1652     reg_readonly,
1653     reg_writable,
1654     reg_written
1655   };
1656 
1657   int store_value_type_fields_to_buf(ciValueKlass* vk, bool from_interpreter = true);
1658 
1659   // Unpack all value type arguments passed as oops
1660   void unpack_value_args(Compile* C, bool receiver_only);
1661   bool move_helper(VMReg from, VMReg to, BasicType bt, RegState reg_state[], int ret_off, int extra_stack_offset);
1662   bool unpack_value_helper(const GrowableArray<SigEntry>* sig, int& sig_index, VMReg from, VMRegPair* regs_to, int& to_index,
1663                            RegState reg_state[], int ret_off, int extra_stack_offset);
1664   bool pack_value_helper(const GrowableArray<SigEntry>* sig, int& sig_index, int vtarg_index,
1665                          VMReg to, VMRegPair* regs_from, int regs_from_count, int& from_index, RegState reg_state[],
1666                          int ret_off, int extra_stack_offset);
1667   void restore_stack(Compile* C);
1668 
1669   int shuffle_value_args(bool is_packing, bool receiver_only, int extra_stack_offset,
1670                          BasicType* sig_bt, const GrowableArray<SigEntry>* sig_cc,
1671                          int args_passed, int args_on_stack, VMRegPair* regs,
1672                          int args_passed_to, int args_on_stack_to, VMRegPair* regs_to);
1673   bool shuffle_value_args_spill(bool is_packing,  const GrowableArray<SigEntry>* sig_cc, int sig_cc_index,
1674                                 VMRegPair* regs_from, int from_index, int regs_from_count,
1675                                 RegState* reg_state, int sp_inc, int extra_stack_offset);
1676   VMReg spill_reg_for(VMReg reg);
1677 


< prev index next >