< prev index next >

src/hotspot/share/opto/callnode.cpp

Print this page




 354     assert(sco_n >= 0, "");
 355     st->print(" %s%d]=#ScObj" INT32_FORMAT, msg, i, sco_n);
 356     return;
 357   }
 358   if (regalloc->node_regs_max_index() > 0 &&
 359       OptoReg::is_valid(regalloc->get_reg_first(n))) { // Check for undefined
 360     char buf[50];
 361     regalloc->dump_register(n,buf);
 362     st->print(" %s%d]=%s",msg,i,buf);
 363   } else {                      // No register, but might be constant
 364     const Type *t = n->bottom_type();
 365     switch (t->base()) {
 366     case Type::Int:
 367       st->print(" %s%d]=#" INT32_FORMAT,msg,i,t->is_int()->get_con());
 368       break;
 369     case Type::AnyPtr:
 370       assert( t == TypePtr::NULL_PTR || n->in_dump(), "" );
 371       st->print(" %s%d]=#NULL",msg,i);
 372       break;
 373     case Type::AryPtr:
 374     case Type::ValueTypePtr:
 375     case Type::InstPtr:
 376       st->print(" %s%d]=#Ptr" INTPTR_FORMAT,msg,i,p2i(t->isa_oopptr()->const_oop()));
 377       break;
 378     case Type::KlassPtr:
 379       st->print(" %s%d]=#Ptr" INTPTR_FORMAT,msg,i,p2i(t->make_ptr()->isa_klassptr()->klass()));
 380       break;
 381     case Type::MetadataPtr:
 382       st->print(" %s%d]=#Ptr" INTPTR_FORMAT,msg,i,p2i(t->make_ptr()->isa_metadataptr()->metadata()));
 383       break;
 384     case Type::NarrowOop:
 385       st->print(" %s%d]=#Ptr" INTPTR_FORMAT,msg,i,p2i(t->make_ptr()->isa_oopptr()->const_oop()));
 386       break;
 387     case Type::RawPtr:
 388       st->print(" %s%d]=#Raw" INTPTR_FORMAT,msg,i,p2i(t->is_rawptr()));
 389       break;
 390     case Type::DoubleCon:
 391       st->print(" %s%d]=#%fD",msg,i,t->is_double_constant()->_d);
 392       break;
 393     case Type::FloatCon:
 394       st->print(" %s%d]=#%fF",msg,i,t->is_float_constant()->_f);




 354     assert(sco_n >= 0, "");
 355     st->print(" %s%d]=#ScObj" INT32_FORMAT, msg, i, sco_n);
 356     return;
 357   }
 358   if (regalloc->node_regs_max_index() > 0 &&
 359       OptoReg::is_valid(regalloc->get_reg_first(n))) { // Check for undefined
 360     char buf[50];
 361     regalloc->dump_register(n,buf);
 362     st->print(" %s%d]=%s",msg,i,buf);
 363   } else {                      // No register, but might be constant
 364     const Type *t = n->bottom_type();
 365     switch (t->base()) {
 366     case Type::Int:
 367       st->print(" %s%d]=#" INT32_FORMAT,msg,i,t->is_int()->get_con());
 368       break;
 369     case Type::AnyPtr:
 370       assert( t == TypePtr::NULL_PTR || n->in_dump(), "" );
 371       st->print(" %s%d]=#NULL",msg,i);
 372       break;
 373     case Type::AryPtr:

 374     case Type::InstPtr:
 375       st->print(" %s%d]=#Ptr" INTPTR_FORMAT,msg,i,p2i(t->isa_oopptr()->const_oop()));
 376       break;
 377     case Type::KlassPtr:
 378       st->print(" %s%d]=#Ptr" INTPTR_FORMAT,msg,i,p2i(t->make_ptr()->isa_klassptr()->klass()));
 379       break;
 380     case Type::MetadataPtr:
 381       st->print(" %s%d]=#Ptr" INTPTR_FORMAT,msg,i,p2i(t->make_ptr()->isa_metadataptr()->metadata()));
 382       break;
 383     case Type::NarrowOop:
 384       st->print(" %s%d]=#Ptr" INTPTR_FORMAT,msg,i,p2i(t->make_ptr()->isa_oopptr()->const_oop()));
 385       break;
 386     case Type::RawPtr:
 387       st->print(" %s%d]=#Raw" INTPTR_FORMAT,msg,i,p2i(t->is_rawptr()));
 388       break;
 389     case Type::DoubleCon:
 390       st->print(" %s%d]=#%fD",msg,i,t->is_double_constant()->_d);
 391       break;
 392     case Type::FloatCon:
 393       st->print(" %s%d]=#%fF",msg,i,t->is_float_constant()->_f);


< prev index next >