560 case Bytecodes::_invokestatic:
561 print_field_or_method(get_index_u2_cpcache(), st);
562 break;
563
564 case Bytecodes::_invokeinterface:
565 { int i = get_index_u2_cpcache();
566 int n = get_index_u1();
567 get_byte(); // ignore zero byte
568 print_field_or_method(i, st);
569 }
570 break;
571
572 case Bytecodes::_invokedynamic:
573 print_field_or_method(get_index_u4(), st);
574 break;
575
576 case Bytecodes::_new:
577 case Bytecodes::_checkcast:
578 case Bytecodes::_instanceof:
579 case Bytecodes::_vbox:
580 { int i = get_index_u2();
581 ConstantPool* constants = method()->constants();
582 Symbol* name = constants->klass_name_at(i);
583 st->print_cr(" %d <%s>", i, name->as_C_string());
584 }
585 break;
586 case Bytecodes::_vnew:
587 case Bytecodes::_vunbox:
588 { int i = get_index_u2();
589 ConstantPool* constants = method()->constants();
590 int class_index = constants->uncached_klass_ref_index_at(i);
591 Symbol* classname = constants->klass_name_at(class_index);
592 Symbol* method_name = constants->uncached_name_ref_at(i);
593 Symbol* method_signature = constants->uncached_signature_ref_at(i);
594 st->print_cr(" %d <%s.%s%s>", i, classname->as_C_string(),
595 method_name->as_C_string(), method_signature->as_C_string());
596 }
597 break;
598
599 case Bytecodes::_wide:
600 // length is zero not one, but printed with no more info.
601 break;
602
603 default:
604 ShouldNotReachHere();
605 break;
606 }
607 }
|
560 case Bytecodes::_invokestatic:
561 print_field_or_method(get_index_u2_cpcache(), st);
562 break;
563
564 case Bytecodes::_invokeinterface:
565 { int i = get_index_u2_cpcache();
566 int n = get_index_u1();
567 get_byte(); // ignore zero byte
568 print_field_or_method(i, st);
569 }
570 break;
571
572 case Bytecodes::_invokedynamic:
573 print_field_or_method(get_index_u4(), st);
574 break;
575
576 case Bytecodes::_new:
577 case Bytecodes::_checkcast:
578 case Bytecodes::_instanceof:
579 case Bytecodes::_vbox:
580 case Bytecodes::_vunbox:
581 { int i = get_index_u2();
582 ConstantPool* constants = method()->constants();
583 Symbol* name = constants->klass_name_at(i);
584 st->print_cr(" %d <%s>", i, name->as_C_string());
585 }
586 break;
587 case Bytecodes::_vnew:
588 { int i = get_index_u2();
589 ConstantPool* constants = method()->constants();
590 int class_index = constants->uncached_klass_ref_index_at(i);
591 Symbol* classname = constants->klass_name_at(class_index);
592 Symbol* method_name = constants->uncached_name_ref_at(i);
593 Symbol* method_signature = constants->uncached_signature_ref_at(i);
594 st->print_cr(" %d <%s.%s%s>", i, classname->as_C_string(),
595 method_name->as_C_string(), method_signature->as_C_string());
596 }
597 break;
598
599 case Bytecodes::_wide:
600 // length is zero not one, but printed with no more info.
601 break;
602
603 default:
604 ShouldNotReachHere();
605 break;
606 }
607 }
|