RFR (S) 8078438: Interpreter should support conditional card marks (UseCondCardMark)
aph at redhat.com
Wed Apr 29 07:57:06 UTC 2015
On 28/04/15 17:13, Andrew Dinn wrote:
>>> or, preferably
>>> >> add x10, x13, #0x28
>>> >> stlr w14, [x10]
>>> >> lsr x10, x13, #9
>>> >> stlrb wzr, [x11,x10,lsl #0]
>> > That's more like it.
> Yes, that is indeed much preferred.
It's not necessary to use STLRB. For a volatile OOP store you have
store -> volatile oop field
update card mark
It's not necessary for the card mark store to become visible
immediately, just that it not become visible before the OOP store.
This is guaranteed by volatile semantics as long as there is a
happens-before relationship with the reading thread, which there
seems to be because of the way that collector threads use locks.
Therefore, it is not necessary to do anything more than
add x10, x13, #0x28
stlr w14, [x10]
lsr x10, x13, #9
strb wzr, [x11,x10,lsl #0]
More information about the hotspot-gc-dev