< prev index next >

src/hotspot/share/opto/type.cpp

Print this page

4836   switch( _ptr ) {
4837   case Constant:
4838     const_oop()->print(st);
4839     break;
4840   case BotPTR:
4841     if (!WizardMode && !Verbose) {
4842       if( _klass_is_exact ) st->print(":exact");
4843       break;
4844     }
4845   case TopPTR:
4846   case AnyNull:
4847   case NotNull:
4848     st->print(":%s", ptr_msg[_ptr]);
4849     if( _klass_is_exact ) st->print(":exact");
4850     break;
4851   default:
4852     break;
4853   }
4854 
4855   if( _offset != 0 ) {
4856     int header_size = objArrayOopDesc::header_size() * wordSize;

4857     if( _offset == OffsetTop )       st->print("+undefined");
4858     else if( _offset == OffsetBot )  st->print("+any");
4859     else if( _offset < header_size ) st->print("+%d", _offset);
4860     else {
4861       BasicType basic_elem_type = elem()->basic_type();
4862       if (basic_elem_type == T_ILLEGAL) {
4863         st->print("+any");
4864       } else {
4865         int array_base = arrayOopDesc::base_offset_in_bytes(basic_elem_type);
4866         int elem_size = type2aelembytes(basic_elem_type);
4867         st->print("[%d]", (_offset - array_base)/elem_size);
4868       }
4869     }
4870   }
4871   st->print(" *");
4872   if (_instance_id == InstanceTop)
4873     st->print(",iid=top");
4874   else if (_instance_id != InstanceBot)
4875     st->print(",iid=%d",_instance_id);
4876 

4836   switch( _ptr ) {
4837   case Constant:
4838     const_oop()->print(st);
4839     break;
4840   case BotPTR:
4841     if (!WizardMode && !Verbose) {
4842       if( _klass_is_exact ) st->print(":exact");
4843       break;
4844     }
4845   case TopPTR:
4846   case AnyNull:
4847   case NotNull:
4848     st->print(":%s", ptr_msg[_ptr]);
4849     if( _klass_is_exact ) st->print(":exact");
4850     break;
4851   default:
4852     break;
4853   }
4854 
4855   if( _offset != 0 ) {
4856     BasicType basic_elem_type = elem()->basic_type();
4857     int header_size = arrayOopDesc::base_offset_in_bytes(basic_elem_type);
4858     if( _offset == OffsetTop )       st->print("+undefined");
4859     else if( _offset == OffsetBot )  st->print("+any");
4860     else if( _offset < header_size ) st->print("+%d", _offset);
4861     else {
4862       BasicType basic_elem_type = elem()->basic_type();
4863       if (basic_elem_type == T_ILLEGAL) {
4864         st->print("+any");
4865       } else {
4866         int array_base = arrayOopDesc::base_offset_in_bytes(basic_elem_type);
4867         int elem_size = type2aelembytes(basic_elem_type);
4868         st->print("[%d]", (_offset - array_base)/elem_size);
4869       }
4870     }
4871   }
4872   st->print(" *");
4873   if (_instance_id == InstanceTop)
4874     st->print(",iid=top");
4875   else if (_instance_id != InstanceBot)
4876     st->print(",iid=%d",_instance_id);
4877 
< prev index next >