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