< prev index next >
src/share/vm/opto/multnode.cpp
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:
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -116,10 +116,24 @@
}
bool ProjNode::pinned() const { return in(0)->pinned(); }
#ifndef PRODUCT
void ProjNode::dump_spec(outputStream *st) const { st->print("#%d",_con); if(_is_io_use) st->print(" (i_o_use)");}
+
+void ProjNode::dump_comp_spec(outputStream *st) const {
+ for (DUIterator i = this->outs(); this->has_out(i); i++) {
+ Node* o = this->out(i);
+ if (NotANode(o)) {
+ st->print("[?]");
+ } else if (o == NULL) {
+ st->print("[_]");
+ } else {
+ st->print("[%d]", o->_idx);
+ }
+ }
+ st->print("#%d", _con);
+}
#endif
//----------------------------check_con----------------------------------------
void ProjNode::check_con() const {
Node* n = in(0);
< prev index next >