for review: 8236522: "always atomic" modifier for inline classes to enforce atomicity
frederic.parain at oracle.com
Wed Jan 15 14:03:02 UTC 2020
Regarding the runtime part of the code:
In addition to the setter, a getter should be provided for the
new _is_naturally_atomic bit, this would prevent the implementation
details to leak to valueKlass.hpp:211
> On Dec 24, 2019, at 16:36, John Rose <john.r.rose at oracle.com> wrote:
> The webrev is updated in place, with an improved unit test
> for detecting tearing and its absence.
> This uncovered a missing StoreStore barrier in C2, which I also fixed.
> BTW, the funny pattern match logic for class names is not just for
> this change set. We will want the same pattern match for other
> at hoc diagnostics, such as flagging surprising synchronization.
> — John
> On Dec 24, 2019, at 12:05 AM, John Rose <john.r.rose at oracle.com> wrote:
>> Define a new modifier which enforces atomicity of all instances (in the heap) of the given inline class.
>> Working title "__AlwaysAtomic". Suggested final "alwaysatomic" or just "atomic".
>> Represented in classfile using currently free modifier bit 0x0040 = ACC_VOLATILE.
More information about the valhalla-dev