< prev index next >

src/share/vm/opto/opcodes.hpp

Print this page

        

@@ -25,11 +25,11 @@
 #ifndef SHARE_VM_OPTO_OPCODES_HPP
 #define SHARE_VM_OPTO_OPCODES_HPP
 
 // Build a big enum of class names to give them dense integer indices
 #define macro(x) Op_##x,
-enum Opcodes {
+enum class Opcodes : uint {
   Op_Node = 0,
   macro(Set)                    // Instruction selection match rule
   macro(RegN)                   // Machine narrow oop register
   macro(RegI)                   // Machine integer register
   macro(RegP)                   // Machine pointer register

@@ -42,11 +42,15 @@
   macro(VecY)                   // Machine vectory register
   macro(VecZ)                   // Machine vectorz register
   macro(RegFlags)               // Machine flags   register
   _last_machine_leaf,           // Split between regular opcodes and machine
 #include "classes.hpp"
-  _last_opcode
+  _last_opcode,
+
+  NotAMachineReg = 0xffff0000,  // Arena we are currently building Nodes in
+
+  MaxVal = 0xffffffff
 };
 #undef macro
 
 // Table of names, indexed by Opcode
 extern const char *NodeClassNames[];
< prev index next >