< 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 >