--- old/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java 2020-01-19 10:56:42.446743300 +0900 +++ new/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/debugger/linux/LinuxCDebugger.java 2020-01-19 10:56:41.723134500 +0900 @@ -1,5 +1,5 @@ /* - * Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2015, Red Hat Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * @@ -90,11 +90,9 @@ return new LinuxX86CFrame(dbg, ebp, pc); } else if (cpu.equals("amd64")) { AMD64ThreadContext context = (AMD64ThreadContext) thread.getContext(); - Address rbp = context.getRegisterAsAddress(AMD64ThreadContext.RBP); - if (rbp == null) return null; Address pc = context.getRegisterAsAddress(AMD64ThreadContext.RIP); if (pc == null) return null; - return new LinuxAMD64CFrame(dbg, rbp, pc); + return LinuxAMD64CFrame.getTopFrame(dbg, pc, context); } else if (cpu.equals("sparc")) { SPARCThreadContext context = (SPARCThreadContext) thread.getContext(); Address sp = context.getRegisterAsAddress(SPARCThreadContext.R_SP);