4544 switch( _ptr ) {
4545 case Constant:
4546 const_oop()->print(st);
4547 break;
4548 case BotPTR:
4549 if (!WizardMode && !Verbose) {
4550 if( _klass_is_exact ) st->print(":exact");
4551 break;
4552 }
4553 case TopPTR:
4554 case AnyNull:
4555 case NotNull:
4556 st->print(":%s", ptr_msg[_ptr]);
4557 if( _klass_is_exact ) st->print(":exact");
4558 break;
4559 default:
4560 break;
4561 }
4562
4563 if( _offset != 0 ) {
4564 int header_size = objArrayOopDesc::header_size() * wordSize;
4565 if( _offset == OffsetTop ) st->print("+undefined");
4566 else if( _offset == OffsetBot ) st->print("+any");
4567 else if( _offset < header_size ) st->print("+%d", _offset);
4568 else {
4569 BasicType basic_elem_type = elem()->basic_type();
4570 int array_base = arrayOopDesc::base_offset_in_bytes(basic_elem_type);
4571 int elem_size = type2aelembytes(basic_elem_type);
4572 st->print("[%d]", (_offset - array_base)/elem_size);
4573 }
4574 }
4575 st->print(" *");
4576 if (_instance_id == InstanceTop)
4577 st->print(",iid=top");
4578 else if (_instance_id != InstanceBot)
4579 st->print(",iid=%d",_instance_id);
4580
4581 dump_inline_depth(st);
4582 dump_speculative(st);
4583 }
4584 #endif
|
4544 switch( _ptr ) {
4545 case Constant:
4546 const_oop()->print(st);
4547 break;
4548 case BotPTR:
4549 if (!WizardMode && !Verbose) {
4550 if( _klass_is_exact ) st->print(":exact");
4551 break;
4552 }
4553 case TopPTR:
4554 case AnyNull:
4555 case NotNull:
4556 st->print(":%s", ptr_msg[_ptr]);
4557 if( _klass_is_exact ) st->print(":exact");
4558 break;
4559 default:
4560 break;
4561 }
4562
4563 if( _offset != 0 ) {
4564 BasicType basic_elem_type = elem()->basic_type();
4565 int header_size = arrayOopDesc::base_offset_in_bytes(basic_elem_type);
4566 if( _offset == OffsetTop ) st->print("+undefined");
4567 else if( _offset == OffsetBot ) st->print("+any");
4568 else if( _offset < header_size ) st->print("+%d", _offset);
4569 else {
4570 BasicType basic_elem_type = elem()->basic_type();
4571 int array_base = arrayOopDesc::base_offset_in_bytes(basic_elem_type);
4572 int elem_size = type2aelembytes(basic_elem_type);
4573 st->print("[%d]", (_offset - array_base)/elem_size);
4574 }
4575 }
4576 st->print(" *");
4577 if (_instance_id == InstanceTop)
4578 st->print(",iid=top");
4579 else if (_instance_id != InstanceBot)
4580 st->print(",iid=%d",_instance_id);
4581
4582 dump_inline_depth(st);
4583 dump_speculative(st);
4584 }
4585 #endif
|