RFR(s): 8218147: make_walkable asserts on multiple calls

dean.long at oracle.com dean.long at oracle.com
Wed Apr 3 17:20:40 UTC 2019


Does the store need to be atomic?

Any idea what problem the original assert was trying to catch?

If it's already set, should we check that _last_Java_pc matches the new 
value?

dl

On 4/3/19 3:36 AM, Robbin Ehn wrote:
> Hi all, please review.
>
> If a JavaThread in native both gets selected for java-stack sampling 
> and a
> handshake both VMThread and JFR sampler will call make_walkable. There 
> is an
> assert making sure we do not do this twice. Since we only store 
> _last_Java_pc
> from sp, we can allow it be executed multiple times for both 
> aarch64/x64 which have the assert.
>
> The asserts comes from:
> 8161598: Kitchensink fails: assert(nm->insts_contains(original_pc)) 
> failed: original PC must be in nmethod/CompiledMethod
>
> They seems not to be directly connected to the bug.
>
> Issue:
> https://bugs.openjdk.java.net/browse/JDK-8218147
>
> Webrev:
> http://cr.openjdk.java.net/~rehn/8218147/webrev/
>
> Compiled aarch64, x64 passes t1-3.
>
> Thanks, Robbin



More information about the hotspot-compiler-dev mailing list