< prev index next >

src/hotspot/share/opto/type.cpp

Print this page

4667   switch( _ptr ) {
4668   case Constant:
4669     const_oop()->print(st);
4670     break;
4671   case BotPTR:
4672     if (!WizardMode && !Verbose) {
4673       if( _klass_is_exact ) st->print(":exact");
4674       break;
4675     }
4676   case TopPTR:
4677   case AnyNull:
4678   case NotNull:
4679     st->print(":%s", ptr_msg[_ptr]);
4680     if( _klass_is_exact ) st->print(":exact");
4681     break;
4682   default:
4683     break;
4684   }
4685 
4686   if( _offset != 0 ) {
4687     int header_size = objArrayOopDesc::header_size() * wordSize;

4688     if( _offset == OffsetTop )       st->print("+undefined");
4689     else if( _offset == OffsetBot )  st->print("+any");
4690     else if( _offset < header_size ) st->print("+%d", _offset);
4691     else {
4692       BasicType basic_elem_type = elem()->basic_type();
4693       int array_base = arrayOopDesc::base_offset_in_bytes(basic_elem_type);
4694       int elem_size = type2aelembytes(basic_elem_type);
4695       st->print("[%d]", (_offset - array_base)/elem_size);
4696     }
4697   }
4698   st->print(" *");
4699   if (_instance_id == InstanceTop)
4700     st->print(",iid=top");
4701   else if (_instance_id != InstanceBot)
4702     st->print(",iid=%d",_instance_id);
4703 
4704   dump_inline_depth(st);
4705   dump_speculative(st);
4706 }
4707 #endif
4708 
4709 bool TypeAryPtr::empty(void) const {
4710   if (_ary->empty())       return true;
4711   return TypeOopPtr::empty();
4712 }

4667   switch( _ptr ) {
4668   case Constant:
4669     const_oop()->print(st);
4670     break;
4671   case BotPTR:
4672     if (!WizardMode && !Verbose) {
4673       if( _klass_is_exact ) st->print(":exact");
4674       break;
4675     }
4676   case TopPTR:
4677   case AnyNull:
4678   case NotNull:
4679     st->print(":%s", ptr_msg[_ptr]);
4680     if( _klass_is_exact ) st->print(":exact");
4681     break;
4682   default:
4683     break;
4684   }
4685 
4686   if( _offset != 0 ) {
4687     BasicType basic_elem_type = elem()->basic_type();
4688     int header_size = arrayOopDesc::base_offset_in_bytes(basic_elem_type);
4689     if( _offset == OffsetTop )       st->print("+undefined");
4690     else if( _offset == OffsetBot )  st->print("+any");
4691     else if( _offset < header_size ) st->print("+%d", _offset);
4692     else {

4693       int array_base = arrayOopDesc::base_offset_in_bytes(basic_elem_type);
4694       int elem_size = type2aelembytes(basic_elem_type);
4695       st->print("[%d]", (_offset - array_base)/elem_size);
4696     }
4697   }
4698   st->print(" *");
4699   if (_instance_id == InstanceTop)
4700     st->print(",iid=top");
4701   else if (_instance_id != InstanceBot)
4702     st->print(",iid=%d",_instance_id);
4703 
4704   dump_inline_depth(st);
4705   dump_speculative(st);
4706 }
4707 #endif
4708 
4709 bool TypeAryPtr::empty(void) const {
4710   if (_ary->empty())       return true;
4711   return TypeOopPtr::empty();
4712 }
< prev index next >