@@ -192,13 +192,18 @@ uint ReturnNode::match_edge(uint idx) const {
192192
193193
194194#ifndef PRODUCT
195- void ReturnNode::dump_req (outputStream *st) const {
196- // Dump the required inputs, enclosed in '(' and ')'
195+ void ReturnNode::dump_req (outputStream *st, DumpConfig* dc ) const {
196+ // Dump the required inputs, after printing "returns"
197197 uint i; // Exit value of loop
198198 for (i = 0 ; i < req (); i++) { // For all required inputs
199- if (i == TypeFunc::Parms) st->print (" returns" );
200- if (in (i)) st->print (" %c%d " , Compile::current ()->node_arena ()->contains (in (i)) ? ' ' : ' o' , in (i)->_idx );
201- else st->print (" _ " );
199+ if (i == TypeFunc::Parms) st->print (" returns " );
200+ Node* p = in (i);
201+ if (p != nullptr ) {
202+ p->dump_idx (false , st, dc);
203+ st->print (" " );
204+ } else {
205+ st->print (" _ " );
206+ }
202207 }
203208}
204209#endif
@@ -235,13 +240,18 @@ uint RethrowNode::match_edge(uint idx) const {
235240}
236241
237242#ifndef PRODUCT
238- void RethrowNode::dump_req (outputStream *st) const {
239- // Dump the required inputs, enclosed in '(' and ')'
243+ void RethrowNode::dump_req (outputStream *st, DumpConfig* dc ) const {
244+ // Dump the required inputs, after printing "exception"
240245 uint i; // Exit value of loop
241246 for (i = 0 ; i < req (); i++) { // For all required inputs
242- if (i == TypeFunc::Parms) st->print (" exception" );
243- if (in (i)) st->print (" %c%d " , Compile::current ()->node_arena ()->contains (in (i)) ? ' ' : ' o' , in (i)->_idx );
244- else st->print (" _ " );
247+ if (i == TypeFunc::Parms) st->print (" exception " );
248+ Node* p = in (i);
249+ if (p != nullptr ) {
250+ p->dump_idx (false , st, dc);
251+ st->print (" " );
252+ } else {
253+ st->print (" _ " );
254+ }
245255 }
246256}
247257#endif
@@ -689,13 +699,18 @@ int JVMState::interpreter_frame_size() const {
689699bool CallNode::cmp ( const Node &n ) const
690700{ return _tf == ((CallNode&)n)._tf && _jvms == ((CallNode&)n)._jvms ; }
691701#ifndef PRODUCT
692- void CallNode::dump_req (outputStream *st) const {
702+ void CallNode::dump_req (outputStream *st, DumpConfig* dc ) const {
693703 // Dump the required inputs, enclosed in '(' and ')'
694704 uint i; // Exit value of loop
695705 for (i = 0 ; i < req (); i++) { // For all required inputs
696706 if (i == TypeFunc::Parms) st->print (" (" );
697- if (in (i)) st->print (" %c%d " , Compile::current ()->node_arena ()->contains (in (i)) ? ' ' : ' o' , in (i)->_idx );
698- else st->print (" _ " );
707+ Node* p = in (i);
708+ if (p != nullptr ) {
709+ p->dump_idx (false , st, dc);
710+ st->print (" " );
711+ } else {
712+ st->print (" _ " );
713+ }
699714 }
700715 st->print (" )" );
701716}
0 commit comments