equal
deleted
inserted
replaced
39 #include "oops/oop.inline.hpp" |
39 #include "oops/oop.inline.hpp" |
40 #include "prims/jvmtiRedefineClassesTrace.hpp" |
40 #include "prims/jvmtiRedefineClassesTrace.hpp" |
41 #include "prims/jvmtiImpl.hpp" |
41 #include "prims/jvmtiImpl.hpp" |
42 #include "runtime/atomic.inline.hpp" |
42 #include "runtime/atomic.inline.hpp" |
43 #include "runtime/orderAccess.inline.hpp" |
43 #include "runtime/orderAccess.inline.hpp" |
|
44 #include "runtime/os.hpp" |
44 #include "runtime/sharedRuntime.hpp" |
45 #include "runtime/sharedRuntime.hpp" |
45 #include "runtime/sweeper.hpp" |
46 #include "runtime/sweeper.hpp" |
46 #include "utilities/resourceHash.hpp" |
47 #include "utilities/resourceHash.hpp" |
47 #include "utilities/dtrace.hpp" |
48 #include "utilities/dtrace.hpp" |
48 #include "utilities/events.hpp" |
49 #include "utilities/events.hpp" |
3048 runtime_call_Relocation* r = iter.runtime_call_reloc(); |
3049 runtime_call_Relocation* r = iter.runtime_call_reloc(); |
3049 address dest = r->destination(); |
3050 address dest = r->destination(); |
3050 CodeBlob* cb = CodeCache::find_blob(dest); |
3051 CodeBlob* cb = CodeCache::find_blob(dest); |
3051 if (cb != NULL) { |
3052 if (cb != NULL) { |
3052 st.print(" %s", cb->name()); |
3053 st.print(" %s", cb->name()); |
|
3054 } else { |
|
3055 ResourceMark rm; |
|
3056 const int buflen = 1024; |
|
3057 char* buf = NEW_RESOURCE_ARRAY(char, buflen); |
|
3058 int offset; |
|
3059 if (os::dll_address_to_function_name(dest, buf, buflen, &offset)) { |
|
3060 st.print(" %s", buf); |
|
3061 if (offset != 0) { |
|
3062 st.print("+%d", offset); |
|
3063 } |
|
3064 } |
3053 } |
3065 } |
3054 return st.as_string(); |
3066 return st.as_string(); |
3055 } |
3067 } |
3056 case relocInfo::virtual_call_type: return "virtual_call"; |
3068 case relocInfo::virtual_call_type: return "virtual_call"; |
3057 case relocInfo::opt_virtual_call_type: return "optimized virtual_call"; |
3069 case relocInfo::opt_virtual_call_type: return "optimized virtual_call"; |