5155 switch( _ptr ) {
5156 case Constant:
5157 const_oop()->print(st);
5158 break;
5159 case BotPTR:
5160 if (!WizardMode && !Verbose) {
5161 if( _klass_is_exact ) st->print(":exact");
5162 break;
5163 }
5164 case TopPTR:
5165 case AnyNull:
5166 case NotNull:
5167 st->print(":%s", ptr_msg[_ptr]);
5168 if( _klass_is_exact ) st->print(":exact");
5169 break;
5170 default:
5171 break;
5172 }
5173
5174 if( _offset != 0 ) {
5175 int header_size = objArrayOopDesc::header_size() * wordSize;
5176 if( _offset == OffsetTop ) st->print("+undefined");
5177 else if( _offset == OffsetBot ) st->print("+any");
5178 else if( _offset < header_size ) st->print("+%d", _offset);
5179 else {
5180 BasicType basic_elem_type = elem()->basic_type();
5181 if (basic_elem_type == T_ILLEGAL) {
5182 st->print("+any");
5183 } else {
5184 int array_base = arrayOopDesc::base_offset_in_bytes(basic_elem_type);
5185 int elem_size = type2aelembytes(basic_elem_type);
5186 st->print("[%d]", (_offset - array_base)/elem_size);
5187 }
5188 }
5189 }
5190 st->print(" *");
5191 if (_instance_id == InstanceTop)
5192 st->print(",iid=top");
5193 else if (_instance_id != InstanceBot)
5194 st->print(",iid=%d",_instance_id);
5195
5196 dump_inline_depth(st);
5197 dump_speculative(st);
5198 }
5199 #endif
5200
|
5155 switch( _ptr ) {
5156 case Constant:
5157 const_oop()->print(st);
5158 break;
5159 case BotPTR:
5160 if (!WizardMode && !Verbose) {
5161 if( _klass_is_exact ) st->print(":exact");
5162 break;
5163 }
5164 case TopPTR:
5165 case AnyNull:
5166 case NotNull:
5167 st->print(":%s", ptr_msg[_ptr]);
5168 if( _klass_is_exact ) st->print(":exact");
5169 break;
5170 default:
5171 break;
5172 }
5173
5174 if( _offset != 0 ) {
5175 BasicType basic_elem_type = elem()->basic_type();
5176 int header_size = arrayOopDesc::base_offset_in_bytes(basic_elem_type);
5177 if( _offset == OffsetTop ) st->print("+undefined");
5178 else if( _offset == OffsetBot ) st->print("+any");
5179 else if( _offset < header_size ) st->print("+%d", _offset);
5180 else {
5181 if (basic_elem_type == T_ILLEGAL) {
5182 st->print("+any");
5183 } else {
5184 int array_base = arrayOopDesc::base_offset_in_bytes(basic_elem_type);
5185 int elem_size = type2aelembytes(basic_elem_type);
5186 st->print("[%d]", (_offset - array_base)/elem_size);
5187 }
5188 }
5189 }
5190 st->print(" *");
5191 if (_instance_id == InstanceTop)
5192 st->print(",iid=top");
5193 else if (_instance_id != InstanceBot)
5194 st->print(",iid=%d",_instance_id);
5195
5196 dump_inline_depth(st);
5197 dump_speculative(st);
5198 }
5199 #endif
5200
|