hotspot/src/cpu/ppc/vm/vmreg_ppc.hpp
changeset 25715 d5a8dbdc5150
parent 22824 28258dd5cb2e
child 35594 cc13089c6327
equal deleted inserted replaced
25469:3bcfa1db9717 25715:d5a8dbdc5150
    24  */
    24  */
    25 
    25 
    26 #ifndef CPU_PPC_VM_VMREG_PPC_HPP
    26 #ifndef CPU_PPC_VM_VMREG_PPC_HPP
    27 #define CPU_PPC_VM_VMREG_PPC_HPP
    27 #define CPU_PPC_VM_VMREG_PPC_HPP
    28 
    28 
    29   bool is_Register();
    29 inline bool is_Register() {
    30   Register as_Register();
    30   return (unsigned int)value() < (unsigned int)ConcreteRegisterImpl::max_gpr;
       
    31 }
    31 
    32 
    32   bool is_FloatRegister();
    33 inline bool is_FloatRegister() {
    33   FloatRegister as_FloatRegister();
    34   return value() >= ConcreteRegisterImpl::max_gpr &&
       
    35          value() < ConcreteRegisterImpl::max_fpr;
       
    36 }
       
    37 
       
    38 inline Register as_Register() {
       
    39   assert(is_Register() && is_even(value()), "even-aligned GPR name");
       
    40   return ::as_Register(value()>>1);
       
    41 }
       
    42 
       
    43 inline FloatRegister as_FloatRegister() {
       
    44   assert(is_FloatRegister() && is_even(value()), "must be");
       
    45   return ::as_FloatRegister((value() - ConcreteRegisterImpl::max_gpr) >> 1);
       
    46 }
       
    47 
       
    48 inline bool is_concrete() {
       
    49   assert(is_reg(), "must be");
       
    50   return is_even(value());
       
    51 }
    34 
    52 
    35 #endif // CPU_PPC_VM_VMREG_PPC_HPP
    53 #endif // CPU_PPC_VM_VMREG_PPC_HPP