On Tue, 30 Nov 2021 10:47:55 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`
>
> 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

src/hotspot/cpu/zero/frame_zero.cpp line 139:

> 137:   assert(is_interpreted_frame(), "Not an interpreted frame");
> 138:   // These are reasonable sanity checks
> 139:   if (fp() == 0 || (intptr_t(fp()) & (wordSize-1)) != 0) {

Use `is_aligned()` here?

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

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

Reply via email to