< prev index next >

src/share/vm/opto/node.hpp

Print this page

        

*** 456,470 **** bool eqv_uncast(const Node* n) const { return (this->uncast() == n->uncast()); } // Find out of current node that matches opcode. ! Node* find_out_with(int opcode); // Return true if the current node has an out that matches opcode. ! bool has_out_with(int opcode); // Return true if the current node has an out that matches any of the opcodes. ! bool has_out_with(int opcode1, int opcode2, int opcode3, int opcode4); private: static Node* uncast_helper(const Node* n); // Add an output edge to the end of the list --- 456,470 ---- bool eqv_uncast(const Node* n) const { return (this->uncast() == n->uncast()); } // Find out of current node that matches opcode. ! Node* find_out_with(Opcodes opcode); // Return true if the current node has an out that matches opcode. ! bool has_out_with(Opcodes opcode); // Return true if the current node has an out that matches any of the opcodes. ! bool has_out_with(Opcodes opcode1, Opcodes opcode2, Opcodes opcode3, Opcodes opcode4); private: static Node* uncast_helper(const Node* n); // Add an output edge to the end of the list
*** 755,765 **** void add_flag(jushort fl) { init_flags(fl); } void remove_flag(jushort fl) { clear_flag(fl); } // Return a dense integer opcode number ! virtual int Opcode() const; // Virtual inherited Node size virtual uint size_of() const; // Other interesting Node properties --- 755,765 ---- void add_flag(jushort fl) { init_flags(fl); } void remove_flag(jushort fl) { clear_flag(fl); } // Return a dense integer opcode number ! virtual Opcodes Opcode() const; // Virtual inherited Node size virtual uint size_of() const; // Other interesting Node properties
*** 990,1000 **** // The method is defined in loopnode.cpp. const Node* is_loop_iv() const; // Return a node with opcode "opc" and same inputs as "this" if one can // be found; Otherwise return NULL; ! Node* find_similar(int opc); // Return the unique control out if only one. Null if none or more than one. Node* unique_ctrl_out() const; // Set control or add control as precedence edge --- 990,1000 ---- // The method is defined in loopnode.cpp. const Node* is_loop_iv() const; // Return a node with opcode "opc" and same inputs as "this" if one can // be found; Otherwise return NULL; ! Node* find_similar(Opcodes opc); // Return the unique control out if only one. Null if none or more than one. Node* unique_ctrl_out() const; // Set control or add control as precedence edge
*** 1002,1014 **** //----------------- Code Generation // Ideal register class for Matching. Zero means unmatched instruction // (these are cloned instead of converted to machine nodes). ! virtual uint ideal_reg() const; ! ! static const uint NotAMachineReg; // must be > max. machine register // Do we Match on this edge index or not? Generally false for Control // and true for everything else. Weird for calls & returns. virtual uint match_edge(uint idx) const; --- 1002,1012 ---- //----------------- Code Generation // Ideal register class for Matching. Zero means unmatched instruction // (these are cloned instead of converted to machine nodes). ! virtual Opcodes ideal_reg() const; // Do we Match on this edge index or not? Generally false for Control // and true for everything else. Weird for calls & returns. virtual uint match_edge(uint idx) const;
*** 1708,1718 **** TypeNode( const Type *t, uint required ) : Node(required), _type(t) { init_class_id(Class_Type); } virtual const Type* Value(PhaseGVN* phase) const; virtual const Type *bottom_type() const; ! virtual uint ideal_reg() const; #ifndef PRODUCT virtual void dump_spec(outputStream *st) const; virtual void dump_compact_spec(outputStream *st) const; #endif }; --- 1706,1716 ---- TypeNode( const Type *t, uint required ) : Node(required), _type(t) { init_class_id(Class_Type); } virtual const Type* Value(PhaseGVN* phase) const; virtual const Type *bottom_type() const; ! virtual Opcodes ideal_reg() const; #ifndef PRODUCT virtual void dump_spec(outputStream *st) const; virtual void dump_compact_spec(outputStream *st) const; #endif };
< prev index next >