mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 03:58:21 +00:00
8370240: [PPC64] jhsdb jstack cannot handle continuation stub
Reviewed-by: mdoerr, rrich
This commit is contained in:
parent
ea7186a87f
commit
d4c0239746
@ -258,7 +258,13 @@ public class PPC64Frame extends Frame {
|
||||
}
|
||||
|
||||
if (cb != null) {
|
||||
return cb.isUpcallStub() ? senderForUpcallStub(map, (UpcallStub)cb) : senderForCompiledFrame(map, cb);
|
||||
if (cb.isUpcallStub()) {
|
||||
return senderForUpcallStub(map, (UpcallStub)cb);
|
||||
} else if (cb.isContinuationStub()) {
|
||||
return senderForContinuationStub(map, cb);
|
||||
} else {
|
||||
return senderForCompiledFrame(map, cb);
|
||||
}
|
||||
}
|
||||
|
||||
// Must be native-compiled frame, i.e. the marshaling code for native
|
||||
@ -331,6 +337,15 @@ public class PPC64Frame extends Frame {
|
||||
return new PPC64Frame(sp, unextendedSP, getLink(), getSenderPC());
|
||||
}
|
||||
|
||||
private Frame senderForContinuationStub(PPC64RegisterMap map, CodeBlob cb) {
|
||||
var contEntry = map.getThread().getContEntry();
|
||||
|
||||
Address sp = contEntry.getEntrySP();
|
||||
Address pc = contEntry.getEntryPC();
|
||||
Address fp = contEntry.getEntryFP();
|
||||
|
||||
return new PPC64Frame(sp, fp, pc);
|
||||
}
|
||||
|
||||
private Frame senderForCompiledFrame(PPC64RegisterMap map, CodeBlob cb) {
|
||||
if (DEBUG) {
|
||||
|
||||
@ -37,7 +37,6 @@ import jdk.test.lib.process.OutputAnalyzer;
|
||||
* @test
|
||||
* @bug 8369505
|
||||
* @requires vm.hasSA
|
||||
* @requires (os.arch == "amd64" | os.arch == "x86_64" | os.arch == "aarch64" | os.arch == "riscv64")
|
||||
* @library /test/lib
|
||||
* @run driver TestJhsdbJstackWithVirtualThread
|
||||
*/
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user