< prev index next >

src/hotspot/share/code/nmethod.cpp

Print this page




2386           CallRelocation* r = (CallRelocation*)iter.reloc();
2387           address dest = r->destination();
2388           CodeBlob* cb = CodeCache::find_blob(dest);
2389           if (cb != NULL) {
2390             st.print(" %s", cb->name());
2391           } else {
2392             ResourceMark rm;
2393             const int buflen = 1024;
2394             char* buf = NEW_RESOURCE_ARRAY(char, buflen);
2395             int offset;
2396             if (os::dll_address_to_function_name(dest, buf, buflen, &offset)) {
2397               st.print(" %s", buf);
2398               if (offset != 0) {
2399                 st.print("+%d", offset);
2400               }
2401             }
2402           }
2403           return st.as_string();
2404         }
2405         case relocInfo::virtual_call_type: {

2406           stringStream st;
2407           st.print_raw("virtual_call");
2408           virtual_call_Relocation* r = iter.virtual_call_reloc();
2409           Method* m = r->method_value();
2410           if (m != NULL) {
2411             assert(m->is_method(), "");
2412             m->print_short_name(&st);
2413           }
2414           return st.as_string();
2415         }
2416         case relocInfo::opt_virtual_call_type: {

2417           stringStream st;
2418           st.print_raw("optimized virtual_call");
2419           opt_virtual_call_Relocation* r = iter.opt_virtual_call_reloc();
2420           Method* m = r->method_value();
2421           if (m != NULL) {
2422             assert(m->is_method(), "");
2423             m->print_short_name(&st);
2424           }
2425           return st.as_string();
2426         }
2427         case relocInfo::static_call_type: {

2428           stringStream st;
2429           st.print_raw("static_call");
2430           static_call_Relocation* r = iter.static_call_reloc();
2431           Method* m = r->method_value();
2432           if (m != NULL) {
2433             assert(m->is_method(), "");
2434             m->print_short_name(&st);
2435           }
2436           return st.as_string();
2437         }
2438         case relocInfo::static_stub_type:      return "static_stub";
2439         case relocInfo::external_word_type:    return "external_word";
2440         case relocInfo::internal_word_type:    return "internal_word";
2441         case relocInfo::section_word_type:     return "section_word";
2442         case relocInfo::poll_type:             return "poll";
2443         case relocInfo::poll_return_type:      return "poll_return";
2444         case relocInfo::type_mask:             return "type_bit_mask";
2445 
2446         default:
2447           break;




2386           CallRelocation* r = (CallRelocation*)iter.reloc();
2387           address dest = r->destination();
2388           CodeBlob* cb = CodeCache::find_blob(dest);
2389           if (cb != NULL) {
2390             st.print(" %s", cb->name());
2391           } else {
2392             ResourceMark rm;
2393             const int buflen = 1024;
2394             char* buf = NEW_RESOURCE_ARRAY(char, buflen);
2395             int offset;
2396             if (os::dll_address_to_function_name(dest, buf, buflen, &offset)) {
2397               st.print(" %s", buf);
2398               if (offset != 0) {
2399                 st.print("+%d", offset);
2400               }
2401             }
2402           }
2403           return st.as_string();
2404         }
2405         case relocInfo::virtual_call_type: {
2406           ResourceMark rm;
2407           stringStream st;
2408           st.print_raw("virtual_call");
2409           virtual_call_Relocation* r = iter.virtual_call_reloc();
2410           Method* m = r->method_value();
2411           if (m != NULL) {
2412             assert(m->is_method(), "");
2413             m->print_short_name(&st);
2414           }
2415           return st.as_string();
2416         }
2417         case relocInfo::opt_virtual_call_type: {
2418           ResourceMark rm;
2419           stringStream st;
2420           st.print_raw("optimized virtual_call");
2421           opt_virtual_call_Relocation* r = iter.opt_virtual_call_reloc();
2422           Method* m = r->method_value();
2423           if (m != NULL) {
2424             assert(m->is_method(), "");
2425             m->print_short_name(&st);
2426           }
2427           return st.as_string();
2428         }
2429         case relocInfo::static_call_type: {
2430           ResourceMark rm;
2431           stringStream st;
2432           st.print_raw("static_call");
2433           static_call_Relocation* r = iter.static_call_reloc();
2434           Method* m = r->method_value();
2435           if (m != NULL) {
2436             assert(m->is_method(), "");
2437             m->print_short_name(&st);
2438           }
2439           return st.as_string();
2440         }
2441         case relocInfo::static_stub_type:      return "static_stub";
2442         case relocInfo::external_word_type:    return "external_word";
2443         case relocInfo::internal_word_type:    return "internal_word";
2444         case relocInfo::section_word_type:     return "section_word";
2445         case relocInfo::poll_type:             return "poll";
2446         case relocInfo::poll_return_type:      return "poll_return";
2447         case relocInfo::type_mask:             return "type_bit_mask";
2448 
2449         default:
2450           break;


< prev index next >