Query regarding ordering in G1 post-write barrier (original) (raw)
Andrew Dinn adinn at redhat.com
Mon Jul 20 14:14:42 UTC 2015
- Previous message: Query regarding ordering in G1 post-write barrier
- Next message: RFR (S) 8131782: C1 Class.cast optimization breaks when Class is loaded from static final
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 20/07/15 14:44, Thomas Schatzl wrote:
. . . Refinement threads and mutator threads take a lock to push and pop a new buffer (in SharedRuntime::g1wbpost) to and from the buffer queue, which means that there is at least one cmpxchg/synchronization between the thread pushing the buffer and the refinement thread popping it. . . . Note that GC threads do access the buffers, but there is a safepointing operation between the accesses. That should cover the eventualities. You can now tell us where I am wrong :)
Thanks for the explanation. I don't doubt that you (and the code) are right -- but I wanted to understand why.
Hmm, ok that seems to be two questions. Let's make that a starter for 10 and a bonus for whoever buzzes fastest. Not sure if that answers your question. So what did I win? :-)
Why glory***, naturally.
regards,
Andrew Dinn
*** n.b. to find out what 'glory' means see Through The Looking Glass
- Previous message: Query regarding ordering in G1 post-write barrier
- Next message: RFR (S) 8131782: C1 Class.cast optimization breaks when Class is loaded from static final
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the hotspot-compiler-dev mailing list