Release store in C2 putfield

Andrew Haley aph at
Thu Sep 4 10:21:20 UTC 2014

On 09/04/2014 11:00 AM, Doerr, Martin wrote:
> the problem on IA64 is that there's no separate release memory barrier.
> Issuing a full fence after every object creation is more expensive
> than releasing all oop stores.

Really?  Gosh.

> This might be different on AArch64 where other memory barriers are available.

It is: we have a full set of barriers and load acquire/store release.
I'd like to generate those where possible.

> I'd appreciate a proposal how we can support both ways.

Okay.  I'd like more types of barrier (and perhaps more types of
memNode) so that the back end can choose what it needs to do.  Then I
could simply ignore release barriers generated for store release
instructions, etc.

It might also be a good idea to mark your IA64 release on every oop
store as IA64-only.  After all, it doesn't seem to be relevant to any
other platform.  Then my immediate problem would go away.


More information about the hotspot-dev mailing list