RFR: 8186837: Memory ordering nmethod, _state and _stack_traversal_mark

Robbin Ehn robbin.ehn at oracle.com
Tue Aug 29 10:31:17 UTC 2017


Hi please review,

The issue 8180932 - "Parallelize safepoint cleanup" changed _stack_traversal_mark to load acquire/store release, this is at least half wrong.
Instead for simplicity the write side storestore fence should be match with loadload on read side and the changes to _stack_traversal_mark undone (kept it volatile).

Bug:
https://bugs.openjdk.java.net/browse/JDK-8186837

Code:
http://cr.openjdk.java.net/~rehn/8186837/hotspot.01/webrev/

It's not clear in this code if there other concurrent dependent read/writes.
Is true that only when reading/writing _state and _stack_traversal_mark proper memory ordering is needed?
To track that I created: https://bugs.openjdk.java.net/browse/JDK-8186839

Thanks Robbin


More information about the hotspot-compiler-dev mailing list