RFR (S) 8078438: Interpreter should support conditional card marks (UseCondCardMark)
Kim Barrett
kim.barrett at oracle.com
Mon Apr 27 22:05:59 UTC 2015
On Apr 24, 2015, at 9:45 AM, Aleksey Shipilev <aleksey.shipilev at oracle.com> wrote:
>
> On 04/24/2015 04:06 PM, Andrew Haley wrote:
>> On 04/24/2015 02:03 PM, Aleksey Shipilev wrote:
>>> If anybody wants, I can merge AArch64 part into my webrev, so it is delivered in the same push.
>> Cool, thanks.
>
> Sure. Here is a merged webrev:
> http://cr.openjdk.java.net/~shade/8078438/webrev.02/
>
> I also added a simple sanity jtreg test.
>
> Thanks,
> -Aleksey
This should probably be reviewed by someone from GC too.
I’ve cc’ed the gc list.
I've only taken a cursory look so far, and I'm not sure I'd be
comfortable being the sole GC reviewer.
The G1 post-barrier always checks the old card value before storing
the dirty value, without conditionalization on UseCondCardMark. The
x86 G1 post-barrier also precedes the load of the old card value with a
StoreLoad membar, which is not present in the proposed change.
That barrier was added by the fix for:
8014555: G1: Memory ordering problem with Conc refinement and card marking
I suspect that issue doesn't apply to non-concurrent collectors. I
don't know whether it would matter for non-G1 concurrent collectors like
CMS though.
More information about the hotspot-runtime-dev
mailing list