On Thu, 7 Oct 2021 12:42:48 GMT, Aleksey Shipilev <sh...@openjdk.org> wrote:
> This is a Zero infrastructure improvement that makes Zero VM work with > AsyncGetCallTrace, and by extension, async-profiler. > > Zero is quite odd in stack management. The "real" stack actually contains the > C++ Interpreter and the rest of VM code. The Java stack is reported through > the usual "frame" mechanism the rest of VM uses to get the mapping from > Template Interpreter, stub, and compiled code. So, to support Java-centric > AsyncGetCallTrace, we t "only" need Zero to report the proper Java frames > from its ZeroStack from the profiling/signal handlers. > > Additional testing: > - [x] Linux x86_64 Zero `serviceability/AsyncGetCallTrace` now pass > - [x] Linux x86_64 Zero works with `async-profiler` src/hotspot/cpu/zero/frame_zero.cpp line 174: > 172: > 173: // validate locals > 174: address locals = (address) *interpreter_frame_locals_addr(); Unneeded spaces around '(address)'. ------------- PR: https://git.openjdk.java.net/jdk/pull/5848