850 }
851 tty->print("]");
852 switch (type()) {
853 case relocInfo::oop_type:
854 {
855 oop_Relocation* r = oop_reloc();
856 oop* oop_addr = NULL;
857 oop raw_oop = NULL;
858 oop oop_value = NULL;
859 if (code() != NULL || r->oop_is_immediate()) {
860 oop_addr = r->oop_addr();
861 raw_oop = *oop_addr;
862 oop_value = r->oop_value();
863 }
864 tty->print(" | [oop_addr=" INTPTR_FORMAT " *=" INTPTR_FORMAT " offset=%d]",
865 p2i(oop_addr), p2i(raw_oop), r->offset());
866 // Do not print the oop by default--we want this routine to
867 // work even during GC or other inconvenient times.
868 if (WizardMode && oop_value != NULL) {
869 tty->print("oop_value=" INTPTR_FORMAT ": ", p2i(oop_value));
870 if (oop_value->is_oop()) {
871 oop_value->print_value_on(tty);
872 }
873 }
874 break;
875 }
876 case relocInfo::metadata_type:
877 {
878 metadata_Relocation* r = metadata_reloc();
879 Metadata** metadata_addr = NULL;
880 Metadata* raw_metadata = NULL;
881 Metadata* metadata_value = NULL;
882 if (code() != NULL || r->metadata_is_immediate()) {
883 metadata_addr = r->metadata_addr();
884 raw_metadata = *metadata_addr;
885 metadata_value = r->metadata_value();
886 }
887 tty->print(" | [metadata_addr=" INTPTR_FORMAT " *=" INTPTR_FORMAT " offset=%d]",
888 p2i(metadata_addr), p2i(raw_metadata), r->offset());
889 if (metadata_value != NULL) {
890 tty->print("metadata_value=" INTPTR_FORMAT ": ", p2i(metadata_value));
|
850 }
851 tty->print("]");
852 switch (type()) {
853 case relocInfo::oop_type:
854 {
855 oop_Relocation* r = oop_reloc();
856 oop* oop_addr = NULL;
857 oop raw_oop = NULL;
858 oop oop_value = NULL;
859 if (code() != NULL || r->oop_is_immediate()) {
860 oop_addr = r->oop_addr();
861 raw_oop = *oop_addr;
862 oop_value = r->oop_value();
863 }
864 tty->print(" | [oop_addr=" INTPTR_FORMAT " *=" INTPTR_FORMAT " offset=%d]",
865 p2i(oop_addr), p2i(raw_oop), r->offset());
866 // Do not print the oop by default--we want this routine to
867 // work even during GC or other inconvenient times.
868 if (WizardMode && oop_value != NULL) {
869 tty->print("oop_value=" INTPTR_FORMAT ": ", p2i(oop_value));
870 if (oopDesc::is_oop(oop_value)) {
871 oop_value->print_value_on(tty);
872 }
873 }
874 break;
875 }
876 case relocInfo::metadata_type:
877 {
878 metadata_Relocation* r = metadata_reloc();
879 Metadata** metadata_addr = NULL;
880 Metadata* raw_metadata = NULL;
881 Metadata* metadata_value = NULL;
882 if (code() != NULL || r->metadata_is_immediate()) {
883 metadata_addr = r->metadata_addr();
884 raw_metadata = *metadata_addr;
885 metadata_value = r->metadata_value();
886 }
887 tty->print(" | [metadata_addr=" INTPTR_FORMAT " *=" INTPTR_FORMAT " offset=%d]",
888 p2i(metadata_addr), p2i(raw_metadata), r->offset());
889 if (metadata_value != NULL) {
890 tty->print("metadata_value=" INTPTR_FORMAT ": ", p2i(metadata_value));
|