RFR: 8274903: Zero: Support AsyncGetCallTrace [v5]

Aleksey Shipilev shade at openjdk.java.net
Tue Nov 30 10:47:55 UTC 2021


> 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`

Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains seven additional commits since the last revision:

 - Merge branch 'master' into JDK-8274903-zero-asyncgetcalltrace
 - Fix a comment
 - Merge branch 'master' into JDK-8274903-zero-asyncgetcalltrace
 - More reviews
 - Review feedback
 - Merge branch 'master' into JDK-8274903-zero-asyncgetcalltrace
 - Initial work: runs async-profiler successfully

-------------

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5848/files
  - new: https://git.openjdk.java.net/jdk/pull/5848/files/bc4ba33b..373f15ae

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=5848&range=04
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=5848&range=03-04

  Stats: 22783 lines in 424 files changed: 13220 ins; 6227 del; 3336 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5848.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5848/head:pull/5848

PR: https://git.openjdk.java.net/jdk/pull/5848


More information about the serviceability-dev mailing list