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