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