< prev index next >

src/share/vm/opto/matcher.hpp

Print this page

        

@@ -167,13 +167,13 @@
 
 public:
   int LabelRootDepth;
   // Convert ideal machine register to a register mask for spill-loads
   static const RegMask *idealreg2regmask[];
-  RegMask *idealreg2spillmask  [_last_machine_leaf];
-  RegMask *idealreg2debugmask  [_last_machine_leaf];
-  RegMask *idealreg2mhdebugmask[_last_machine_leaf];
+  RegMask *idealreg2spillmask  [static_cast<uint>(Opcodes::_last_machine_leaf)];
+  RegMask *idealreg2debugmask  [static_cast<uint>(Opcodes::_last_machine_leaf)];
+  RegMask *idealreg2mhdebugmask[static_cast<uint>(Opcodes::_last_machine_leaf)];
   void init_spill_mask( Node *ret );
   // Convert machine register number to register mask
   static uint mreg2regmask_max;
   static RegMask mreg2regmask[];
   static RegMask STACK_ONLY_mask;

@@ -211,11 +211,11 @@
   // Always Save   = 'A' (same as SOE + SOC)
   const char *_register_save_policy;
   const char *_c_reg_save_policy;
   // Convert a machine register to a machine register type, so-as to
   // properly match spill code.
-  const int *_register_save_type;
+  const Opcodes *_register_save_type;
   // Maps from machine register to boolean; true if machine register can
   // be holding a call argument in some signature.
   static bool can_be_java_arg( int reg );
   // Maps from machine register to boolean; true if machine register holds
   // a spillable argument.

@@ -297,22 +297,22 @@
 
   OptoRegPair *_parm_regs;        // Array of machine registers per argument
   RegMask *_calling_convention_mask; // Array of RegMasks per argument
 
   // Does matcher have a match rule for this ideal node?
-  static const bool has_match_rule(int opcode);
-  static const bool _hasMatchRule[_last_opcode];
+  static const bool has_match_rule(Opcodes opcode);
+  static const bool _hasMatchRule[static_cast<uint>(Opcodes::_last_opcode)];
 
   // Does matcher have a match rule for this ideal node and is the
   // predicate (if there is one) true?
   // NOTE: If this function is used more commonly in the future, ADLC
   // should generate this one.
-  static const bool match_rule_supported(int opcode);
+  static const bool match_rule_supported(Opcodes opcode);
 
   // identify extra cases that we might want to provide match rules for
   // e.g. Op_ vector nodes and other intrinsics while guarding with vlen
-  static const bool match_rule_supported_vector(int opcode, int vlen);
+  static const bool match_rule_supported_vector(Opcodes opcode, int vlen);
 
   // Some microarchitectures have mask registers used on vectors
   static const bool has_predicated_vectors(void);
 
   // Some uarchs have different sized float register resources

@@ -332,12 +332,12 @@
     return (Matcher::max_vector_size(bt) >= size &&
             Matcher::min_vector_size(bt) <= size);
   }
 
   // Vector ideal reg
-  static const int vector_ideal_reg(int len);
-  static const int vector_shift_count_ideal_reg(int len);
+  static const Opcodes vector_ideal_reg(int len);
+  static const Opcodes vector_shift_count_ideal_reg(int len);
 
   // CPU supports misaligned vectors store/load.
   static const bool misaligned_vectors_ok();
 
   // Should original key array reference be passed to AES stubs

@@ -375,12 +375,12 @@
   // Return address register.  On Intel it is a stack-slot.  On PowerPC
   // it is the Link register.  On Sparc it is r31?
   virtual OptoReg::Name return_addr() const;
   RegMask              _return_addr_mask;
   // Return value register.  On Intel it is EAX.  On Sparc i0/o0.
-  static OptoRegPair   return_value(int ideal_reg, bool is_outgoing);
-  static OptoRegPair c_return_value(int ideal_reg, bool is_outgoing);
+  static OptoRegPair   return_value(Opcodes ideal_reg, bool is_outgoing);
+  static OptoRegPair c_return_value(Opcodes ideal_reg, bool is_outgoing);
   RegMask                     _return_value_mask;
   // Inline Cache Register
   static OptoReg::Name  inline_cache_reg();
   static int            inline_cache_reg_encode();
 
< prev index next >