--- old/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java 2019-10-22 10:51:58.512732400 +0900 +++ new/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/tools/PStack.java 2019-10-22 10:51:57.938462900 +0900 @@ -130,10 +130,19 @@ if (c.contains(pc)) { CodeBlob cb = c.findBlobUnsafe(pc); if (cb.isNMethod()) { - names = getJavaNames(th, f.localVariableBase()); - // just print compiled code, if can't determine method - if (names == null || names.length == 0) { - out.println(""); + if (cb.isNativeMethod()) { + out.print(((CompiledMethod)cb).getMethod().externalNameAndSignature()); + long diff = pc.minus(cb.codeBegin()); + if (diff != 0L) { + out.print(" + 0x" + Long.toHexString(diff)); + } + out.println(" (Native method)"); + } else { + names = getJavaNames(th, f.localVariableBase()); + // just print compiled code, if can't determine method + if (names == null || names.length == 0) { + out.println(""); + } } } else if (cb.isBufferBlob()) { out.println("");