RFR: 8351256: Improve printing of runtime call stub names in disassember output
Vladimir Kozlov
kvn at openjdk.org
Wed Mar 5 19:52:57 UTC 2025
On Wed, 5 Mar 2025 09:13:02 GMT, Andrew Dinn <adinn at openjdk.org> wrote:
> Fixes printing of runtime stub call targets in disassembler listings.
And one more in `nmethod.cpp` which fixes the issue in both, mainline and leyden.
`RelocInfo::none` may point to the same address as following relocation info:
@0x000000010ec23436: 0002
relocInfo at 0x000000010ec23436 [type=0(none) addr=0x000000010ec234c8 offset=8]
@0x000000010ec23438: 3000
relocInfo at 0x000000010ec23438 [type=6(runtime_call) addr=0x000000010ec234c8 offset=0] | [destination=0x000000010ec1f400] Blob::ExceptionBlob
As result the real relocation info for this address is not printed:
[Exception Handler]
0x000000010ca8c1c8: adrp x8, #0x10ca85000 ; {no_reloc}
The fix:
@@ -3550,7 +3550,10 @@ const char* nmethod::reloc_string_for(u_char* begin, u_char* end) {
while (iter.next()) {
have_one = true;
switch (iter.type()) {
- case relocInfo::none: return "no_reloc";
+ case relocInfo::none: {
+ // Skip it and check next
+ break;
+ }
case relocInfo::oop_type: {
// Get a non-resizable resource-allocated stringStream.
// Our callees make use of (nested) ResourceMarks.
After fix:
[Exception Handler]
0x000000010ec234c8: adrp x8, #0x10ec1f000 ; {runtime_call ExceptionBlob}
-------------
PR Comment: https://git.openjdk.org/jdk/pull/23915#issuecomment-2701916728
More information about the hotspot-compiler-dev
mailing list