< prev index next >
src/share/vm/opto/callnode.hpp
Print this page
rev 8739 : 8004073: Implement C2 Ideal node specific dump() method
Summary: add Node::dump_rel() to dump a node and its related nodes (the notion of "related" depends on the node at hand); add Node::dump_comp() to dump a node in compact representation; add Node::dump_rel_comp() to dump a node and its related nodes in compact representation; add the required machinery; extend some C2 IR nodes with compact and related dumping
Reviewed-by:
*** 82,91 ****
--- 82,92 ----
virtual const RegMask &in_RegMask(uint) const;
virtual Node *match( const ProjNode *proj, const Matcher *m );
virtual uint ideal_reg() const { return 0; }
#ifndef PRODUCT
virtual void dump_spec(outputStream *st) const;
+ virtual void dump_comp_spec(outputStream *st) const;
#endif
};
//------------------------------StartOSRNode-----------------------------------
// The method start node for on stack replacement code
*** 108,117 ****
--- 109,120 ----
virtual int Opcode() const;
virtual bool is_CFG() const { return (_con == TypeFunc::Control); }
virtual uint ideal_reg() const;
#ifndef PRODUCT
virtual void dump_spec(outputStream *st) const;
+ virtual void dump_comp_spec(outputStream *st) const;
+ virtual void rel(GrowableArray<Node*> *in_rel, GrowableArray<Node*> *out_rel, bool compact) const;
#endif
};
//------------------------------ReturnNode-------------------------------------
*** 474,483 ****
--- 477,487 ----
static bool needs_polling_address_input();
#ifndef PRODUCT
virtual void dump_spec(outputStream *st) const;
+ virtual void rel(GrowableArray<Node*> *in_rel, GrowableArray<Node*> *out_rel, bool compact) const;
#endif
};
//------------------------------SafePointScalarObjectNode----------------------
// A SafePointScalarObjectNode represents the state of a scalarized object
*** 673,682 ****
--- 677,687 ----
void set_method_handle_invoke(bool f) { _method_handle_invoke = f; }
bool is_method_handle_invoke() const { return _method_handle_invoke; }
#ifndef PRODUCT
virtual void dump_spec(outputStream *st) const;
+ virtual void dump_comp_spec(outputStream *st) const;
#endif
};
//------------------------------CallStaticJavaNode-----------------------------
// Make a direct subroutine call using Java calling convention (for static
*** 728,737 ****
--- 733,743 ----
}
virtual int Opcode() const;
#ifndef PRODUCT
virtual void dump_spec(outputStream *st) const;
+ virtual void dump_comp_spec(outputStream *st) const;
#endif
};
//------------------------------CallDynamicJavaNode----------------------------
// Make a dispatched call using Java calling convention.
*** 949,958 ****
--- 955,965 ----
Coarsened, // Lock was coarsened
Nested // Nested lock
} _kind;
#ifndef PRODUCT
NamedCounter* _counter;
+ static const char* _kind_names[Nested+1];
#endif
protected:
// helper functions for lock elimination
//
*** 1003,1012 ****
--- 1010,1022 ----
virtual bool may_modify(const TypeOopPtr *t_oop, PhaseTransform *phase){ return false;}
#ifndef PRODUCT
void create_lock_counter(JVMState* s);
NamedCounter* counter() const { return _counter; }
+ virtual void dump_spec(outputStream* st) const;
+ virtual void dump_comp_spec(outputStream* st) const;
+ virtual void rel(GrowableArray<Node*> *in_rel, GrowableArray<Node*> *out_rel, bool compact) const;
#endif
};
//------------------------------Lock---------------------------------------
// High-level lock operation
< prev index next >