--- old/src/share/vm/opto/callnode.hpp 2016-07-11 22:46:14.715488717 +0900 +++ new/src/share/vm/opto/callnode.hpp 2016-07-11 22:46:14.575489207 +0900 @@ -72,7 +72,7 @@ init_req(0,this); init_req(1,root); } - virtual int Opcode() const; + virtual Opcodes Opcode() const; virtual bool pinned() const { return true; }; virtual const Type *bottom_type() const; virtual const TypePtr *adr_type() const { return TypePtr::BOTTOM; } @@ -81,7 +81,7 @@ virtual void calling_convention( BasicType* sig_bt, VMRegPair *parm_reg, uint length ) const; virtual const RegMask &in_RegMask(uint) const; virtual Node *match( const ProjNode *proj, const Matcher *m ); - virtual uint ideal_reg() const { return 0; } + virtual Opcodes ideal_reg() const { return Opcodes::Op_Node; } #ifndef PRODUCT virtual void dump_spec(outputStream *st) const; virtual void dump_compact_spec(outputStream *st) const; @@ -93,7 +93,7 @@ class StartOSRNode : public StartNode { public: StartOSRNode( Node *root, const TypeTuple *domain ) : StartNode(root, domain) {} - virtual int Opcode() const; + virtual Opcodes Opcode() const; static const TypeTuple *osr_domain(); }; @@ -106,9 +106,9 @@ ParmNode( StartNode *src, uint con ) : ProjNode(src,con) { init_class_id(Class_Parm); } - virtual int Opcode() const; + virtual Opcodes Opcode() const; virtual bool is_CFG() const { return (_con == TypeFunc::Control); } - virtual uint ideal_reg() const; + virtual Opcodes ideal_reg() const; #ifndef PRODUCT virtual void dump_spec(outputStream *st) const; virtual void dump_compact_spec(outputStream *st) const; @@ -122,13 +122,13 @@ class ReturnNode : public Node { public: ReturnNode( uint edges, Node *cntrl, Node *i_o, Node *memory, Node *retadr, Node *frameptr ); - virtual int Opcode() const; + virtual Opcodes Opcode() const; virtual bool is_CFG() const { return true; } virtual uint hash() const { return NO_HASH; } // CFG nodes do not hash virtual bool depends_only_on_test() const { return false; } virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); virtual const Type* Value(PhaseGVN* phase) const; - virtual uint ideal_reg() const { return NotAMachineReg; } + virtual Opcodes ideal_reg() const { return Opcodes::NotAMachineReg; } virtual uint match_edge(uint idx) const; #ifndef PRODUCT virtual void dump_req(outputStream *st = tty) const; @@ -143,14 +143,14 @@ class RethrowNode : public Node { public: RethrowNode( Node *cntrl, Node *i_o, Node *memory, Node *frameptr, Node *ret_adr, Node *exception ); - virtual int Opcode() const; + virtual Opcodes Opcode() const; virtual bool is_CFG() const { return true; } virtual uint hash() const { return NO_HASH; } // CFG nodes do not hash virtual bool depends_only_on_test() const { return false; } virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); virtual const Type* Value(PhaseGVN* phase) const; virtual uint match_edge(uint idx) const; - virtual uint ideal_reg() const { return NotAMachineReg; } + virtual Opcodes ideal_reg() const { return Opcodes::NotAMachineReg; } #ifndef PRODUCT virtual void dump_req(outputStream *st = tty) const; #endif @@ -167,7 +167,7 @@ init_req(TypeFunc::Parms+1, moop); } - virtual int Opcode() const; + virtual Opcodes Opcode() const; virtual uint match_edge(uint idx) const; }; @@ -181,7 +181,7 @@ init_req(TypeFunc::Parms+1, ex_oop); } - virtual int Opcode() const; + virtual Opcodes Opcode() const; virtual uint match_edge(uint idx) const; }; @@ -463,14 +463,14 @@ } // Standard Node stuff - virtual int Opcode() const; + virtual Opcodes Opcode() const; virtual bool pinned() const { return true; } virtual const Type* Value(PhaseGVN* phase) const; virtual const Type *bottom_type() const { return Type::CONTROL; } virtual const TypePtr *adr_type() const { return _adr_type; } virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); virtual Node* Identity(PhaseGVN* phase); - virtual uint ideal_reg() const { return 0; } + virtual Opcodes ideal_reg() const { return Opcodes::Op_Node; } virtual const RegMask &in_RegMask(uint) const; virtual const RegMask &out_RegMask() const; virtual uint match_edge(uint idx) const; @@ -505,8 +505,8 @@ AllocateNode* alloc, #endif uint first_index, uint n_fields); - virtual int Opcode() const; - virtual uint ideal_reg() const; + virtual Opcodes Opcode() const; + virtual Opcodes ideal_reg() const; virtual const RegMask &in_RegMask(uint) const; virtual const RegMask &out_RegMask() const; virtual uint match_edge(uint idx) const; @@ -600,7 +600,7 @@ virtual uint size_of() const = 0; virtual void calling_convention( BasicType* sig_bt, VMRegPair *parm_regs, uint argcnt ) const; virtual Node *match( const ProjNode *proj, const Matcher *m ); - virtual uint ideal_reg() const { return NotAMachineReg; } + virtual Opcodes ideal_reg() const { return Opcodes::NotAMachineReg; } // Are we guaranteed that this node is a safepoint? Not true for leaf calls and // for some macro nodes whose expansion does not have a safepoint on the fast path. virtual bool guaranteed_safepoint() { return true; } @@ -671,7 +671,7 @@ init_class_id(Class_CallJava); } - virtual int Opcode() const; + virtual Opcodes Opcode() const; ciMethod* method() const { return _method; } void set_method(ciMethod *m) { _method = m; } void set_optimized_virtual(bool f) { _optimized_virtual = f; } @@ -736,7 +736,7 @@ } } - virtual int Opcode() const; + virtual Opcodes Opcode() const; #ifndef PRODUCT virtual void dump_spec(outputStream *st) const; virtual void dump_compact_spec(outputStream *st) const; @@ -754,7 +754,7 @@ } int _vtable_index; - virtual int Opcode() const; + virtual Opcodes Opcode() const; #ifndef PRODUCT virtual void dump_spec(outputStream *st) const; #endif @@ -774,7 +774,7 @@ _name = name; } - virtual int Opcode() const; + virtual Opcodes Opcode() const; virtual void calling_convention( BasicType* sig_bt, VMRegPair *parm_regs, uint argcnt ) const; #ifndef PRODUCT @@ -793,7 +793,7 @@ { init_class_id(Class_CallLeaf); } - virtual int Opcode() const; + virtual Opcodes Opcode() const; virtual bool guaranteed_safepoint() { return false; } #ifndef PRODUCT virtual void dump_spec(outputStream *st) const; @@ -810,7 +810,7 @@ : CallLeafNode(tf, addr, name, adr_type) { } - virtual int Opcode() const; + virtual Opcodes Opcode() const; }; @@ -871,8 +871,8 @@ jvms()->set_map_deep(this); } } - virtual int Opcode() const; - virtual uint ideal_reg() const { return Op_RegP; } + virtual Opcodes Opcode() const; + virtual Opcodes ideal_reg() const { return Opcodes::Op_RegP; } virtual bool guaranteed_safepoint() { return false; } // allocations do not modify their arguments @@ -950,7 +950,7 @@ init_class_id(Class_AllocateArray); set_req(AllocateNode::ALength, count_val); } - virtual int Opcode() const; + virtual Opcodes Opcode() const; virtual Node *Ideal(PhaseGVN *phase, bool can_reshape); // Dig the length operand out of a array allocation site. @@ -1009,7 +1009,7 @@ _counter = NULL; #endif } - virtual int Opcode() const = 0; + virtual Opcodes Opcode() const = 0; Node * obj_node() const {return in(TypeFunc::Parms + 0); } Node * box_node() const {return in(TypeFunc::Parms + 1); } Node * fastlock_node() const {return in(TypeFunc::Parms + 2); } @@ -1071,7 +1071,7 @@ return TypeFunc::make(domain,range); } - virtual int Opcode() const; + virtual Opcodes Opcode() const; virtual uint size_of() const; // Size is bigger LockNode(Compile* C, const TypeFunc *tf) : AbstractLockNode( tf ) { init_class_id(Class_Lock); @@ -1101,7 +1101,7 @@ JVMState* const _dbg_jvms; // Pointer to list of JVM State objects #endif public: - virtual int Opcode() const; + virtual Opcodes Opcode() const; virtual uint size_of() const; // Size is bigger UnlockNode(Compile* C, const TypeFunc *tf) : AbstractLockNode( tf ) #ifdef ASSERT