RFR: 8259021: SharedSecrets should avoid double racy reads from non-volatile fields [v2]
Peter Levart
plevart at openjdk.java.net
Mon Jan 4 16:32:00 UTC 2021
On Mon, 4 Jan 2021 15:57:33 GMT, Richard Reingruber <rrich at openjdk.org> wrote:
>> The bug title and the PR title need to be the same.
>> Editing either one is fine.
>
> But wouldn't it be legal for a compiler (java to bytecode or bytecode to
> machinecode) to replace references of my_local_copy with references to
> static_field?
>
> Foo my_local_copy = static_field;
> if (my_copy == null) {
> initialize();
> my_local_copy = static_field;
> }
> return my_local_copy;
>
> Only if static_field was volatile this would be illegal, wouldn't it?
@reinrich I don't think Java compilers may do that. If this was allowed, such variables would not be called "local".
-------------
PR: https://git.openjdk.java.net/jdk/pull/1914
More information about the core-libs-dev
mailing list